assert |
Def b == if b True else False fi
Thm* b: . b Prop
|
iff |
Def P  Q == (P  Q) & (P  Q)
Thm* A,B:Prop. (A  B) Prop
|
lshort |
Def LShort(l) == Case of l; nil nil ; h.l' h.(LShort(l') \ h) (recursive)
Thm* St:Type, l:St*, eq:(St St  ). LShort(l) St*
|
mem_f |
Def mem_f(T;a;bs) == Case of bs; nil False ; b.bs' b = a T mem_f(T;a;bs')
(recursive)
Thm* T:Type, a:T, bs:T*. mem_f(T;a;bs) Prop
|
rev_implies |
Def P  Q == Q  P
Thm* A,B:Prop. (A  B) Prop
|
lremove |
Def l \ a == Case of l; nil nil ; h.l' if eq(a,h) l' \ a else h.(l' \ a) fi
(recursive)
Thm* St:Type, l:St*, s:St, eq:(St St  ). (l \ s) St*
|