module mi.MartinLof2006 where open import Agda.Primitive using (Level ; _โ_ ; lsuc) id : โ {๐} {S : Set ๐} โ S โ S id x = x infixr 9 _โ_ _โ_ : โ {๐ ๐ ๐} {S : Set ๐} {T : S โ Set ๐} {U : โ {x} โ T x โ Set ๐} (f : โ {x} (y : T x) โ U y) (g : โ x โ T x) (x : S) โ U (g x) (f โ g) x = f (g x) Relation : โ {๐} (S : Set ๐) โ โ Set _ Relation S โ = S โ S โ Set โ Reflexive : โ {๐ โ} {S : Set ๐} (_โผ_ : Relation S โ) โ Set _ Reflexive _โผ_ = โ {x} โ x โผ x Symmetric : โ {๐ โ} {S : Set ๐} (_โผ_ : Relation S โ) โ Set _ Symmetric _โผ_ = โ {x y} โ x โผ y โ y โผ x Transitive : โ {๐ โ} {S : Set ๐} (_โผ_ : Relation S โ) โ Set _ Transitive _โผ_ = โ {x y z} โ x โผ y โ y โผ z โ x โผ z record Equivalence {๐} (S : Set ๐) โฏ : Set (๐ โ lsuc โฏ) where field _โ_ : Relation S โฏ โ-refl : Reflexive _โ_ โ-sym : Symmetric _โ_ โ-trans : Transitive _โ_ open Equivalence {{...}} open import Agda.Builtin.Equality using (refl) renaming (_โก_ to Id) sym : โ {๐} {S : Set ๐} โ Symmetric {S = S} Id sym refl = refl trans : โ {๐} {S : Set ๐} โ Transitive {S = S} Id trans refl h = h Id-โ : โ {๐} {S : Set ๐} โ Equivalence S _ Id-โ = record { _โ_ = Id ; โ-refl = refl ; โ-sym = sym ; โ-trans = trans } cong : โ {๐ ๐} {S : Set ๐} {T : Set ๐} (f : S โ T) {x y : S} โ Id x y โ Id (f x) (f y) cong f refl = refl Idโโ : โ {๐ โฏ} {S : Set ๐} {x y : S} {{โS : Equivalence S โฏ}} โ Id x y โ x โ y Idโโ refl = โ-refl open import Agda.Builtin.Sigma using (_,_ ; fst ; snd) renaming (ฮฃ to โ) infix 2 โ-syntax syntax โ-syntax S (ฮป x โ T) = โ[ x โฆ S ] T โ-syntax : โ {๐ ๐} (S : Set ๐) (T : S โ Set ๐) โ Set _ โ-syntax = โ infixr 2 _โง_ _โง_ : โ {๐ ๐} (S : Set ๐) (T : Set ๐) โ Set _ S โง T = โ[ _ โฆ S ] T infix 2 โ!-syntax syntax โ!-syntax S (ฮป x โ T) = โ![ x โฆ S ] T โ!-syntax : โ {๐ ๐ โฏ} (S : Set ๐) (T : S โ Set ๐) {{โS : Equivalence S โฏ}} โ Set _ โ!-syntax S T = โ[ x โฆ S ] T x โง โ {y} โ T y โ x โ y infix 1 _โ_ _โ_ : โ {๐ ๐} (S : Set ๐) (T : Set ๐) โ Set _ S โ T = (S โ T) โง (T โ S) โ-refl : โ {๐} โ Reflexive {S = Set ๐} _โ_ โ-refl = id , id โ-sym : โ {๐...
First seen: 2025-06-13 14:53
Last seen: 2025-06-14 10:58