mostly parsing tweaks

This commit is contained in:
2024-07-20 10:53:44 -07:00
parent f0d0743ccb
commit ac0cf8c3e8
8 changed files with 61 additions and 26 deletions

View File

@@ -2,7 +2,7 @@ module Equality
-- Leibniz equality
Eq : {A : U} -> A -> A -> U
Eq = \ {A} x y => (P : A -> U) -> P x -> P y
Eq = \ x y => (P : A -> U) -> P x -> P y
refl : {A : U} {x : A} -> Eq x x
refl = \ P Px => Px
@@ -10,8 +10,6 @@ refl = \ P Px => Px
trans : {A : U} {x y z : A} -> Eq x y -> Eq y z -> Eq x z
trans = \ Exy Eyz => Eyz (\ w => Eq x w) Exy
-- This version has a universe issue, see Abel et al for
-- a better one
sym : {A : U} {x y : A} -> Eq x y -> Eq y x
sym = \ Exy => Exy (\ z => Eq z x) refl

View File

@@ -9,6 +9,12 @@ const = \A B x y => x
Nat : U
Nat = (N : U) -> (N -> N) -> N -> N
zero : Nat
zero = \ _ s z => z
succ : Nat -> Nat
succ = \ n ty s z => s (n ty s z)
-- need Nat to reduce (and syntax highlighting)
five : Nat
five = \ N s z => s (s (s (s (s z))))