module Verona2024.Basics.Common where
infix 1 _∨_
data _∨_ (A B : Set) : Set where
left : A → A ∨ B
right : B → A ∨ B
infixr 2 _∧_
infixr 4 _,_
data _∧_ (A B : Set) : Set where
_,_ : A → B → A ∧ B
data ⊥ : Set where
infix 3 ¬_
¬_ : Set → Set
¬ X = X → ⊥
data ℕ : Set where
zero : ℕ
succ : ℕ → ℕ
data _≡_ {X : Set} : X → X → Set where
refl : {x : X} → x ≡ x
data Bool : Set where
false true : Bool
infix 2 Σ
data Σ (A : Set) (B : A → Set) : Set where
_,_ : (x : A) → (y : B x) → Σ A B
syntax Σ A (λ x → B) = Σ[ x ∈ A ] B
subst : {A : Set} (P : A → Set) {x y : A} → (x ≡ y) → P x → P y
subst P refl u = u
data _≤_ : ℕ → ℕ → Set where
≤-base : {x : ℕ} → zero ≤ x
≤-succ : {x y : ℕ} → x ≤ y → succ x ≤ succ y
⊥-elim : {A : Set} → ⊥ → A
⊥-elim ()