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 ()