Thm* n: , R:( n![](FONT/dash.png) ![](FONT/then_med.png) n![](FONT/dash.png) Prop), x,y: n. (x (R^*) y) ![](FONT/if_big.png) ( k: (n+1). x R^k y) | [rel_star_finite] |
Thm* R:(T![](FONT/dash.png) T![](FONT/dash.png) Prop), k: , x,y:T.
Thm* (x R^k y)
Thm* ![](FONT/if_big.png)
Thm* ( L:T List.
Thm* (||L|| = k+1 & L[0] = x & last(L) = y & ( i: k. L[i] R L[(i+1)])) | [rel_exp_list] |
Thm* L1,L:T List. interleaving(T;L1;nil;L) ![](FONT/if_big.png) L = L1 | [nil_interleaving2] |
Thm* L1,L:T List. interleaving(T;nil;L1;L) ![](FONT/if_big.png) L = L1 | [nil_interleaving] |
Thm* P:(T![](FONT/dash.png) ![](FONT/then_med.png) ), T':Type, f:({x:T| P(x) }![](FONT/dash.png) T'), L:T List, x:T'.
Thm* (x mapfilter(f;P;L)) ![](FONT/if_big.png) ( y:T. (y L) & P(y) & x = f(y)) | [member_map_filter] |
Thm* P:(T![](FONT/dash.png) Prop), x:T, L:T List. ( y [x / L].P(y)) ![](FONT/if_big.png) P(x) ( y L.P(y)) | [l_exists_cons] |
Thm* P:(T![](FONT/dash.png) Prop). ( x nil.P(x)) ![](FONT/if_big.png) False | [l_exists_nil] |
Thm* l:T List, P:(T![](FONT/dash.png) ![](FONT/then_med.png) ), x,y:T.
Thm* x before y filter(P;l) ![](FONT/if_big.png) P(x) & P(y) & x before y l | [l_before_filter] |
Thm* L1,L2:T List, P:(T![](FONT/dash.png) ![](FONT/then_med.png) ). L2 filter(P;L1) ![](FONT/if_big.png) L2 L1 & ( x L2.P(x)) | [sublist_filter] |
Thm* L:T List, P:(T![](FONT/dash.png) ![](FONT/then_med.png) ). ( x L.P(x)) ![](FONT/if_big.png) reduce( x,y. P(x)![](FONT/and.png) y;true ;L) | [l_all_reduce] |
Thm* f:(A![](FONT/dash.png) B), L:A List, P:(B![](FONT/dash.png) Prop). ( x map(f;L).P(x)) ![](FONT/if_big.png) ( x L.P(f(x))) | [l_all_map] |
Thm* P:(T![](FONT/dash.png) Prop), x:T, L:T List. ( y [x / L].P(y)) ![](FONT/if_big.png) P(x) & ( y L.P(y)) | [l_all_cons] |