WhoCites Definitions mb hybrid Sections GenAutomata Doc

NOTE: This operator coercing a to a Prop is normally invisible since it is pretty obvious when it is needed.
Who Cites assert?
assert Def b == if b True else False fi
Thm* b:. b Prop
remove_msgs Def (L -msg(a;b) L1) == filter(a.reduce(b,y. msg(a;b)y;true;L1);L)
Thm* A:Type, msg:(AA), L,L1:A List. (L -msg(a,b) L1) A List
band Def pq == if p q else false fi
Thm* p,q:. (pq)
l_member Def (x l) == i:. i < ||l|| & x = l[i] T
Thm* T:Type, x:T, l:T List. (x l) Prop
select Def l[i] == hd(nth_tl(i;l))
Thm* A:Type, l:A List, n:. 0n n < ||l|| l[n] A
nth_tl Def nth_tl(n;as) == if n0 as else nth_tl(n-1;tl(as)) fi (recursive)
Thm* A:Type, as:A List, i:. nth_tl(i;as) A List
le_int Def ij == j < i
Thm* i,j:. (ij)
bnot Def b == if b false else true fi
Thm* b:. b
filter Def filter(P;l) == reduce(a,v. if P(a) [a / v] else v fi;nil;l)
Thm* T:Type, P:(T), l:T List. filter(P;l) T List
reduce Def reduce(f;k;as) == Case of as; nil k ; a.as' f(a,reduce(f;k;as')) (recursive)
Thm* A,B:Type, f:(ABB), k:B, as:A List. reduce(f;k;as) B
refl Def Refl(T;x,y.E(x;y)) == a:T. E(a;a)
Thm* T:Type, E:(TTProp). Refl(T;x,y.E(x,y)) Prop
length Def ||as|| == Case of as; nil 0 ; a.as' ||as'||+1 (recursive)
Thm* A:Type, l:A List. ||l||
Thm* ||nil||
nat Def == {i:| 0i }
Thm* Type
hd Def hd(l) == Case of l; nil "?" ; h.t h
Thm* A:Type, l:A List. ||l||1 hd(l) A
Thm* A:Type, l:A List. hd(l) A
le Def AB == B < A
Thm* i,j:. (ij) Prop
tl Def tl(l) == Case of l; nil nil ; h.t t
Thm* A:Type, l:A List. tl(l) A List
not Def A == A False
Thm* A:Prop. (A) Prop
lt_int Def i < j == if i < j true ; false fi
Thm* i,j:. (i < j)

About:
listconsnillist_indboolbfalse
btrueifthenelseassertintnatural_numberaddsubtractlessless_than
tokensetlambdaapplyfunctionrecursive_def_notice
universeequalmemberpropimpliesfalsetrueallexists
!abstraction

WhoCites Definitions mb hybrid Sections GenAutomata Doc