slimp/pi.slimp

9 lines
477 B
Text
Raw Permalink Normal View History

2023-06-12 21:11:30 -04:00
(forall (name arg type out f) ((the (Pi name type out) f) (the type arg)) (let name arg (the out (f arg))))
(forall (name arg body) ((lambda name body) arg) (let name arg body))
(def id-type (Pi a U (Pi x a a)))
(def id (lambda _ (lambda x x)))
(forall (in out) (-> in out) (Pi _ in out))
(forall (expr expected got) (assert-type expected (the got expr)) (= expected got))
(forall (a) (= a a) t)
(forall (name-a name-b in out) (= (Pi name-a in out) (Pi name-b in out)) t)