WhoCites Definitions MarkB generic Sections NuprlLIB Doc

Who Cites interleaving?
interleavingDef interleaving(T;L1;L2;L) == ||L|| = ||L1||+||L2|| & disjoint_sublists(T;L1;L2;L)
disjoint_sublists Def disjoint_sublists(T;L1;L2;L) == f1:(||L1||||L||), f2:(||L2||||L||). increasing(f1;||L1||) & (j:||L1||. L1[j] = L[(f1(j))] T) & increasing(f2;||L2||) & (j:||L2||. L2[j] = L[(f2(j))] T) & (j1:||L1||, j2:||L2||. f1(j1) = f2(j2))
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
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
lelt Def i j < k == ij & j < k
le Def AB == B < A
Thm* i,j:. (ij) Prop
not Def A == A False
Thm* A:Prop. (A) 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
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
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)
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

Syntax:interleaving(T;L1;L2;L) has structure: interleaving(T; L1; L2; L)

About:
listnillist_indboolbfalsebtrue
ifthenelseintnatural_numberaddsubtractlessless_than
tokensetapplyfunctionrecursive_def_noticeuniverse
equalmemberpropimpliesandfalseallexists
!abstraction

WhoCites Definitions MarkB generic Sections NuprlLIB Doc