Who Cites l before? | |
l_before | Def x before y l == [x; y] l |
Thm* T:Type, l:T List, x,y:T. x before y l Prop | |
sublist | Def L1 L2 == f:(||L1||||L2||). increasing(f;||L1||) & (j:||L1||. L1[j] = L2[(f(j))] T) |
Thm* T:Type, L1,L2:T List. L1 L2 Prop | |
select | Def l[i] == hd(nth_tl(i;l)) |
Thm* A:Type, l:A List, n:. 0n n < ||l|| l[n] A | |
length | Def ||as|| == Case of as; nil 0 ; a.as' ||as'||+1 (recursive) |
Thm* A:Type, l:A List. ||l|| | |
Thm* ||nil|| | |
increasing | Def increasing(f;k) == i:(k-1). f(i) < f(i+1) |
Thm* k:, f:(k). increasing(f;k) Prop | |
int_seg | Def {i..j} == {k:| i k < j } |
Thm* m,n:. {m..n} Type | |
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 | |
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 | |
lelt | Def i j < k == ij & j < k |
tl | Def tl(l) == Case of l; nil nil ; h.t t |
Thm* A:Type, l:A List. tl(l) A List | |
le_int | Def ij == j < i |
Thm* i,j:. (ij) | |
le | Def AB == B < A |
Thm* i,j:. (ij) Prop | |
lt_int | Def i < j == if i < j true ; false fi |
Thm* i,j:. (i < j) | |
bnot | Def b == if b false else true fi |
Thm* b:. b | |
not | Def A == A False |
Thm* A:Prop. (A) Prop |
Syntax: | x before y l | has structure: | l_before(x; y; l; T) |
About: