Thm* l:T List, x:T. no_repeats(T;[x / l]) ![](FONT/if_big.png) no_repeats(T;l) & (x l) | [no_repeats_cons] |
Thm* as:T1 List, bs:T2 List. ||zip(as;bs)|| ||as|| & ||zip(as;bs)|| ||bs|| | [zip_length] |
Thm* a,b:T, l1,l2:T List. [a / l1] [b / l2] ![](FONT/if_big.png) a = b & l1 l2 | [cons_iseg] |
Thm* P:(T![](FONT/dash.png) ![](FONT/then_med.png) ), L:T List, x:T. (x filter(P;L)) ![](FONT/if_big.png) (x L) & P(x) | [member_filter] |
Thm* l:T List, a,x,y:T.
Thm* x before y [a / l] ![](FONT/if_big.png) x = a & (y l) x before y l | [cons_before] |
Thm* x1,x2:T, L1,L2:T List.
Thm* [x1 / L1] [x2 / L2] ![](FONT/if_big.png) x1 = x2 & L1 L2 [x1 / L1] L2 | [cons_sublist_cons] |
Thm* a:T List, x:T', f:(T![](FONT/dash.png) T'). (x map(f;a)) ![](FONT/if_big.png) ( y:T. (y a) & x = f(y)) | [member_map] |
Thm* l1,l2:T List. (l1 @ l2) = nil ![](FONT/if_big.png) l1 = nil & l2 = nil | [append_is_nil] |
Thm* a,a':T, b,b':T List. [a / b] = [a' / b'] ![](FONT/if_big.png) a = a' & b = b' | [cons_one_one] |
Thm* L:T List, P:( ||L||![](FONT/dash.png) Prop).
Thm* ( x: ||L||. Dec(P(x)))
Thm* ![](FONT/eq.png)
Thm* ( i,j: ||L||. P(i) ![](FONT/eq.png) i<j ![](FONT/eq.png) P(j))
Thm* ![](FONT/eq.png)
Thm* ( L_1,L_2:T List. L = (L_1 @ L_2) & ( i: ||L||. P(i) ![](FONT/if_big.png) ||L_1|| i)) | [append_split2] |
Def L1 L2
Def == f:( ||L1||![](FONT/dash.png) ![](FONT/then_med.png) ||L2||).
Def == increasing(f;||L1||) & ( j: ||L1||. L1[j] = L2[(f(j))] T) | [sublist] |