implicits working, but _slow_

This commit is contained in:
2024-07-09 22:43:24 -07:00
parent edfa5ef443
commit a4d851b563
11 changed files with 624 additions and 454 deletions

View File

@@ -5,3 +5,52 @@ id = \ A x => x
List : U -> U
List = \ A => (L : _) -> (A -> L -> L) -> L -> L
nil : (A : _) -> List A
nil = \ A L cons nil => nil
cons : (A : _) -> A -> List A -> List A
cons = \A x xs L cons nil => cons x (xs _ cons nil)
Bool : U
Bool = (B : _) -> B -> B -> B
true : Bool
true = \ B t f => t
false : Bool
false = \ B t f => f
not : Bool -> Bool
not = \ b B t f => b B f t
Eq : (A : _) -> A -> A -> U
Eq = \A x y => (P : A -> U) -> P x -> P y
refl : (A : _) (x : A) -> Eq A x x
refl = \ A x p px => px
list1 : List Bool
list1 = cons _ true (cons _ false (nil _))
-- 9 sec
Nat : U
Nat = (N : U) -> (N -> N) -> N -> N
-- 30 sec
-- five : Nat
-- five = \ N s z => s (s (s (s (s z))))
-- add : Nat -> Nat -> Nat
-- add = \ a b N s z => a N s (b N s z)
-- Add the rest
-- unify (%pi _ E (%var 3 []) (%cl [(%var 6 []), (%var 3 []), (%var 0 []), (%var 2 []), (%var 1 []), (%var 0 [])] (Bnd 2))) with
-- (%pi _ E (%var 2 []) (%cl [(%var 6 []), (%var 2 []), (%var 0 []), (%var 1 []), (%var 0 [])] (Bnd 2)))
-- -> (%pi _ E (%var 3 []) (%cl [(%var 6 []), (%var 3 []), (%var 0 []), (%var 2 []), (%var 1 []), (%var 0 [])] (Bnd 2))) with
-- (%pi _ E (%var 2 []) (%cl [(%var 6 []), (%var 2 []), (%var 0 []), (%var 1 []), (%var 0 [])] (Bnd 2)))