[Imprint][Data Privacy Statement][E-Mail]

Back to main index. View the specification. View theorem base summary, View theorem base listing, the used properties by spec, the dependency list, the symbol table,

Theorem base for Specification stream-old

This is a listing of all goals defined over the current specification. Axioms are marked yellow, proved theorems green and unproved theorems blue. Click on individual names to get more information on the proof.

Name: Sequent: Type:
to-unwind-end-inf ⊦ nf.take(m + 1) = nf.take(m) + nf(m) ' A User Theorem
size-inf-to ⊦ # nf.take(n) = n A User Theorem
to-append-add ⊦ ¬ # σ < ⌜n⌝ ∧ ¬ # σ0 < ⌜n1⌝ → (σ.take(n) + σ0).take(n1 + n) = σ.take(n) + σ0.take(n1) A User Theorem
from-append-toinffrom ⊦ ¬ # σ < ⌜n⌝ + n∞1 → σ.take(n) + σ.drop(n).take(n∞1) = σ.take(⌜n⌝ + n∞1) A User Theorem
toinftoinf-append-add ⊦ ¬ # σ < n∞ ∧ ¬ # σ0 < n∞1 → (σ.take(n∞) + σ0).take(n∞1 + n∞) = σ.take(n∞) + σ0.take(n∞1) A User Theorem
constrrew ⊦ ⌜a + x⌝ = ⌜a '⌝ + ⌜x⌝ A User Theorem
append-extract-listfinp(σ) ⊦ (⌜x⌝ + σ).l = x + σ.l A User Theorem
swap-to-from-app ⊦ m ≤ n ∧ ¬ # σ < ⌜n⌝ → (σ.take(n) + σ0).drop(m) = σ.drop(m).take(n - m) + σ0 A User Theorem
get-from-inf ⊦ nf.drop(n)(m) = nf(m + n) A User Theorem
append-cancel-l ⊦ ⌜x⌝ + σ0 = ⌜x⌝ + σ1 ↔ σ0 = σ1 A User Theorem
size-empty-equiv ⊦ # σ = ⌜0⌝ ↔ σ = [] A User Theorem
append-to-le ⊦ n ≤ # x → (x + y).take(n) = x.take(n) A User Theorem
finp-empty ⊦ finp([]) A User Theorem
append-from-size-01 ⊦ (⌜x⌝ + σ).drop(# x) = σ A User Theorem
sel-inf ⊦ ⌜nf⌝ (n) = nf(n) An Axiom
ton-fromn ⊦ ¬ # σ < ⌜n⌝ → σ.take(n).drop(n) = [] A User Theorem
toinf-empty-inf ⊦ ⌜nf⌝ .take(n∞) = [] ↔ n∞ = ⌜0⌝ A User Theorem
from-nf ⊦ nf.drop(n) = (λ m. nf(n + m)) An Axiom
append-to-ls ⊦ ¬ # σ < ⌜n⌝ → (σ + σ0).take(n) = σ.take(n) A User Theorem
to-unwind-end-finm < # x ⊦ x.take(m + 1) = x.take(m) + (x(m))' A User Theorem
get-inftoinf⌜m⌝ < n∞ ⊦ ⌜nf⌝ .take(n∞)(m) = nf(m) A User Theorem
size-toinf¬ # σ < n∞ ⊦ # σ.take(n∞) = n∞ A User Theorem
to-unwind-end⌜n⌝ < # σ ⊦ σ.take(n + 1) = σ.take(n) + ⌜(σ(n))'⌝ A User Theorem
toone-cons ⊦ (⌜a '⌝ + σ).take(1) = ⌜a '⌝ A User Theorem
get-append-notls ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n) A User Theorem
toinf-to-eq-inf ⊦ ⌜nf⌝ .take(n∞).take(n∞) = ⌜nf⌝ .take(n∞) A User Theorem
toinf-fin ⊦ σ.take(⌜n⌝ ) = σ.take(n) An Axiom
fin-finlen-tolen ⊦ # x = n → x.take(n) = x A User Theorem
prefix-def ⊦ σ ⊑ σ0 ↔ (∃ σ1. σ + σ1 = σ0) An Axiom
leq-symm ⊦ σ1 ⊑ σ2 ∧ σ2 ⊑ σ1 → σ1 = σ2 A User Theorem
cons-from-num ⊦ n ≠ 0 → (⌜a '⌝ + σ).drop((* n)) = σ.drop(n - 1) A User Theorem
less-size-from⌜n⌝ < # σ ⊦ ⌜n0⌝ < # σ.drop(n) ↔ ⌜n0 + n⌝ < # σ A User Theorem
contractinf-from1 ⊦ ⌜nf(0) '⌝ + ⌜nf.drop(1)⌝ = ⌜nf⌝ A User Theorem
append-fininf ⊦ ⌜x⌝ + ⌜nf⌝ = ⌜λ n. (n < # x ⊃ x(n);nf(n - # x))⌝ An Axiom
get-to-02m < n, ¬ # σ < ⌜n⌝ ⊦ (σ.take(n)).l(m) = σ(m) A User Theorem
toone-cons-fin ⊦ (a ' + y).take(1) = a ' A User Theorem
size-succ ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ A User Theorem
size-fin ⊦ # ⌜x⌝ = ⌜# x⌝ An Axiom
to-to-eq¬ # σ < ⌜n⌝ ⊦ σ.take(n).take(n) = σ.take(n) A User Theorem
modify-fin ⊦ ⌜x⌝ (n := a) = ⌜x(n := a)⌝ An Axiom
tl-inf-1 ⊦ tl(a + ⌜nf⌝ ) = ⌜nf⌝ A User Theorem
swap-to-from ⊦ m ≤ n ∧ ¬ # σ < ⌜n⌝ → σ.take(n).drop(m) = σ.drop(m).take(n - m) A User Theorem
cons-extract-listfinp(σ) ⊦ (⌜a '⌝ + σ).l = a ' + σ.l A User Theorem
toinf-inf ⊦ σ.take(∞) = σ An Axiom
append-empty ⊦ σ + [] = σ A User Theorem
append-from-le-01 ⊦ m ≤ # x → (⌜x⌝ + σ).drop(m) = ⌜x.drop(m)⌝ + σ A User Theorem
toinf-to-leq¬ # σ < n∞ ⊦ ¬ n∞ < ⌜m⌝ → σ.take(n∞).take(m) = σ.take(m) A User Theorem
tl-one ⊦ tl(⌜a '⌝ ) = [] A User Theorem
modify-inf ⊦ ⌜nf⌝ (n := a) = ⌜λ m. (m = n ⊃ a;nf(m))⌝ An Axiom
swap-inf-to-from-app ⊦ m ≤ n → (⌜nf.take(n)⌝ + σ0).drop(m) = ⌜nf.drop(m).take(n - m)⌝ + σ0 A User Theorem
toinf-to-ls¬ # σ < n∞ ⊦ ⌜m⌝ < n∞ → σ.take(n∞).take(m) = σ.take(m) A User Theorem
append-finfin ⊦ ⌜x + y⌝ = ⌜x⌝ + ⌜y⌝ An Axiom
to-inf-one ⊦ nf.take(1) = nf(0) ' A User Theorem
cons-eq ⊦ ⌜a '⌝ + σ = ⌜a0 '⌝ + σ0 ↔ a = a0 ∧ σ = σ0 A User Theorem
size-inf ⊦ # ⌜nf⌝ = ∞ An Axiom
from-inf ⊦ ⌜nf⌝ .drop(n) = ⌜nf.drop(n)⌝ An Axiom
append-to-gr ⊦ # x < n → (x + y).take(n) = x + y.take(n - # x) A User Theorem
get-fintoinf¬ ⌜# x⌝ < n∞, ⌜m⌝ < n∞ ⊦ ⌜x⌝ .take(n∞)(m) = x(m) A User Theorem
contractinf-tl ⊦ ⌜nf(0) '⌝ + tl(⌜nf⌝ ) = ⌜nf⌝ A User Theorem
to-plus-from ⊦ ¬ # σ < ⌜n⌝ → σ.take(n) + σ.drop(n) = σ A User Theorem
from-succ ⊦ ⌜n⌝ < # σ → σ.drop(n) = σ(n) + σ.drop(n + 1) A User Theorem
ton-fromn-inf ⊦ nf.take(n).drop(n) = [] A User Theorem
from-to-exchange ⊦ ¬ # σ < ⌜m⌝ + ⌜n⌝ → σ.take(m + n).drop(m) = σ.drop(m).take(n) A User Theorem
elim-fromto ⊦ ¬ # σ < ⌜n⌝ → (σ0 = σ.take(n) ∧ σ1 = σ.drop(n) ↔ σ = σ0 + σ1 ∧ # σ0 = ⌜n⌝ ) A User Theorem
empty ⊦ ⌜[]⌝ = [] An Axiom
get-inftom < n ⊦ nf.take(n)(m) = nf(m) A User Theorem
tl-fin-1 ⊦ tl(⌜a ' + x⌝ ) = ⌜x⌝ A User Theorem
extensionality ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) A User Theorem
notfin-sizeinf ⊦ ¬ finp(σ) → # σ = ∞ A User Theorem
hd-inf ⊦ hd(⌜nf⌝ ) = nf(0) An Axiom
inf-not-to ⊦ ⌜nf⌝ ≠ σ.take(n) A User Theorem
fin-size-from ⊦ ⌜n⌝ < # σ ∧ finp(σ) → # σ.drop(n) = ⌜(# σ).n - n⌝ A User Theorem
toinf-add ⊦ σ.take(⌜n⌝ + ⌜m⌝ ) = σ.take(n + m) A User Theorem
append-notsmallersize2 ⊦ σ + σ0 = σ1 → (# σ1 < # σ0 ↔ false) A User Theorem
append-notsmallersize1 ⊦ σ + σ0 = σ1 → (# σ1 < # σ ↔ false) A User Theorem
finp-append-02 ⊦ finp(⌜x⌝ + σ) ↔ finp(σ) A User Theorem
elim-fromto-fin ⊦ ¬ # x < n → (x0 = x.take(n) ∧ x1 = x.drop(n) ↔ x = x0 + x1 ∧ # x0 = n) A User Theorem
finp-append-01 ⊦ finp(σ) ∧ finp(σ1) → finp(σ + σ1) A User Theorem
finp-to¬ # σ < ⌜n⌝ ⊦ finp(σ.take(n)) A User Theorem
nlslen-lslensn-eqlensn ⊦ ⌜n⌝ < # σ ∧ ¬ ⌜n⌝ + ⌜1⌝ < # σ → # σ = ⌜n⌝ + ⌜1⌝ A User Theorem
get-from-01m + m0 < # x ⊦ x.drop(m)(m0) = x(m + m0) A User Theorem
to-empty4 ⊦ σ ≠ [] → σ.take(1) ≠ [] A User Theorem
append-to-gr-01 ⊦ # x < m → (⌜x⌝ + σ).take(m) = ⌜x⌝ + σ.take(m - # x) A User Theorem
to-empty3 ⊦ ⌜n⌝ < # σ → σ.take(n + 1) ≠ [] A User Theorem
hd-fin ⊦ hd(⌜a + x⌝ ) = a An Axiom
size-to¬ # σ < ⌜n⌝ ⊦ # σ.take(n) = ⌜n⌝ A User Theorem
to-empty2 ⊦ ¬ # σ < ⌜n⌝ → (σ.take(n) = [] ↔ n = 0) A User Theorem
get-from-inf-zero ⊦ nf.drop(n)(0) = nf(n) A User Theorem
get-finto¬ # x < n, m < n ⊦ x.take(n)(m) = x(m) A User Theorem
tl-lem ⊦ tl(⌜a '⌝ + σ) = σ A User Theorem
append-inf ⊦ ⌜nf⌝ + σ = ⌜nf⌝ An Axiom
get-append3-fin ⊦ (⌜x⌝ + ⌜x0⌝ + ⌜x1⌝ )(m) = (x + x0 + x1)(m) A User Theorem
get-from ⊦ ⌜n⌝ + ⌜m⌝ < # σ → σ.drop(n)(m) = σ(n + m) A User Theorem
hd-lem ⊦ hd(⌜a '⌝ + σ) = a A User Theorem
tl-fin ⊦ tl(⌜a + x⌝ ) = ⌜x⌝ An Axiom
toinf-to-leq-inf ⊦ ¬ n∞ < ⌜m⌝ → ⌜nf⌝ .take(n∞).take(m) = ⌜nf.take(m)⌝ A User Theorem
append-from-size ⊦ (x + y).drop(# x) = y A User Theorem
to-succ-cons ⊦ (⌜a '⌝ + σ).take(n + 1) = a + σ.take(n) A User Theorem
append-to-addsize ⊦ (x + y).take(n + # x) = x + y.take(n) A User Theorem
toinf-empty ⊦ n∞ < # σ → (σ.take(n∞) = [] ↔ n∞ = ⌜0⌝ ) A User Theorem
empty-leq ⊦ σ ⊑ [] ↔ σ = [] A User Theorem
one-inf ⊦ ⌜a '⌝ + ⌜nf⌝ = ⌜λ n. (n = 0 ⊃ a;nf(n.-1))⌝ A User Theorem
to-zero ⊦ σ.take(0) = [] A User Theorem
from-fin ⊦ ⌜x⌝ .drop(n) = ⌜x.drop(n)⌝ An Axiom
length-from¬ # x < n ⊦ # x.drop(n) = # x - n A User Theorem
ton-fromn-fin ⊦ ¬ # x < n → x.take(n).drop(n) = [] A User Theorem
from-cons-one-fin ⊦ (a ' + x).drop(1) = x A User Theorem
single-to-one ⊦ a '.take(1) = a ' A User Theorem
get-cons-succ ⊦ (⌜a '⌝ + σ)(n + 1) = σ(n) A User Theorem
tl-inf ⊦ tl(⌜nf⌝ ) = ⌜λ n. nf(n.+1)⌝ An Axiom
elim-fromto-inf ⊦ x0 = nf.take(n) ∧ nf0 = nf.drop(n) ↔ nf = (⌜x0⌝ + ⌜nf0⌝ ).f ∧ # x0 = n A User Theorem
from-zero ⊦ σ.drop(0) = σ A User Theorem
append-from-addsize-01 ⊦ (⌜x⌝ + σ).drop(m + # x) = σ.drop(m) A User Theorem
inf-not-toinf-exceptinf ⊦ ⌜nf⌝ = σ.take(n∞) ↔ n∞ = ∞ ∧ ⌜nf⌝ = σ A User Theorem
empty-append ⊦ [] + σ = σ A User Theorem
append-to-le-01 ⊦ m ≤ # x → (⌜x⌝ + σ).take(m) = ⌜x.take(m)⌝ A User Theorem
eq-stream-to-list-3-3 ⊦ ⌜x1⌝ + ⌜x⌝ + ⌜y⌝ = ⌜x2⌝ + ⌜x0⌝ + ⌜z⌝ ↔ x1 + x + y = x2 + x0 + z A User Theorem
cons-append ⊦ a + σ = ⌜a '⌝ + σ A User Theorem
leq-trans ⊦ σ ⊑ σ1 ∧ σ1 ⊑ σ2 → σ ⊑ σ2 A User Theorem
toinfto-append-add ⊦ ¬ # σ < n∞ ∧ ¬ # σ0 < ⌜n1⌝ → (σ.take(n∞) + σ0).take(⌜n1⌝ + n∞) = σ.take(n∞) + σ0.take(n1) A User Theorem
to-to-leq-inf ⊦ m ≤ n → nf.take(n).take(m) = nf.take(m) A User Theorem
append-from-le ⊦ n ≤ # x → (x + y).drop(n) = x.drop(n) + y A User Theorem
neq-fin-inf-02 ⊦ σ0 + ⌜x⌝ = σ + ⌜nf0⌝ ↔ σ0 = σ + ⌜nf0⌝ A User Theorem
neq-fin-inf-01 ⊦ ⌜x⌝ ≠ σ + ⌜nf0⌝ A User Theorem
fin-empty ⊦ ⌜x⌝ = [] ↔ x = [] A User Theorem
to-empty ⊦ ⌜n⌝ < # σ → (σ.take(n) = [] ↔ n = 0) A User Theorem
to-is-prefix ⊦ ⌜n⌝ < # σ → σ.take(n) ⊑ σ A User Theorem
hd-append ⊦ σ ≠ [] → hd(σ + σ0) = hd(σ) A User Theorem
neq-fin-inf-03 ⊦ σ0 + ⌜x⌝ = ⌜nf0⌝ ↔ σ0 = ⌜nf0⌝ A User Theorem
append-to-size-01 ⊦ (⌜x⌝ + σ).take(# x) = ⌜x⌝ A User Theorem
prefixself-equal ⊦ σ + σ0 ⊑ σ ↔ σ0 = [] ∨ # σ = ∞ A User Theorem
to-to-leq¬ # σ < ⌜n⌝ ⊦ m ≤ n → σ.take(n).take(m) = σ.take(m) A User Theorem
hd-one ⊦ hd(⌜a '⌝ ) = a A User Theorem
append-to-addsize-01 ⊦ (⌜x⌝ + σ).take(m + # x) = ⌜x⌝ + σ.take(m) A User Theorem
eq-stream-to-list-3-1 ⊦ ⌜x⌝ + ⌜y⌝ + ⌜z⌝ = ⌜x0⌝ ↔ x + y + z = x0 A User Theorem
eq-stream-to-list-3-2 ⊦ ⌜x1⌝ + ⌜x⌝ + ⌜y⌝ = ⌜x0⌝ + ⌜z⌝ ↔ x1 + x + y = x0 + z A User Theorem
append-extract-list-2finp(σ), finp(σ0) ⊦ (σ0 + σ).l = σ0.l + σ.l A User Theorem
appendend-equal ⊦ σ + σ0 = σ ↔ σ0 = [] ∨ # σ = ∞ A User Theorem
swap-inf-to-from ⊦ m ≤ n → nf.take(n).drop(m) = nf.drop(m).take(n - m) A User Theorem
cons-to-num ⊦ n ≠ 0 → (⌜a '⌝ + σ).take((* n)) = ⌜a '⌝ + σ.take(n - 1) A User Theorem
append-assoc ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2 A User Theorem
append-split ⊦ finp(σ) ∧ # σ = # σ1 → (σ + σ0 = σ1 + σ2 ↔ σ = σ1 ∧ σ0 = σ2) A User Theorem
size-from-less ⊦ ¬ # σ < ⌜n⌝ → (# σ.drop(n) < ⌜n0⌝ ↔ # σ < ⌜n + n0⌝ ) A User Theorem
hd-selzero ⊦ σ ≠ [] → hd(σ) = σ(0) A User Theorem
to-plus-from-simp¬ # σ < ⌜n⌝ ⊦ σ.take(n) + σ.drop(n) = σ ↔ true A User Theorem
append-from-addsize ⊦ (x1 + x0).drop(n + # x1) = x0.drop(n) A User Theorem
to-empty-fin2 ⊦ n ≤ # x → (x.take(n) = [] ↔ n = 0) A User Theorem
to-plus-from-fin-simp ⊦ ¬ # x < n → (x.take(n) + x.drop(n) = x ↔ true) A User Theorem
extract-empty ⊦ [].l = [] A User Theorem
from-append-add ⊦ ¬ # σ < ⌜n⌝ ∧ ¬ # σ0 < ⌜n1⌝ → (σ.take(n) + σ0).drop(n1 + n) = σ0.drop(n1) A User Theorem
from-append-tofrom ⊦ ¬ # σ < ⌜n + n1⌝ → σ.take(n) + σ.drop(n).take(n1) = σ.take(n + n1) A User Theorem
from-succ-cons ⊦ (⌜a '⌝ + σ).drop(n + 1) = σ.drop(n) A User Theorem
length-to¬ # x < n ⊦ # x.take(n) = n A User Theorem
tl-fin-lem ⊦ tl(⌜a '⌝ + ⌜x⌝ ) = ⌜x⌝ A User Theorem
from-all ⊦ x.drop(# x) = [] A User Theorem
append-cancel-r-04 ⊦ finp(σ) → (⌜z⌝ = σ + ⌜z⌝ ↔ σ = []) A User Theorem
toinf-empty3 ⊦ n∞ < # σ → σ.take(n∞ + ⌜1⌝ ) ≠ [] A User Theorem
size-empty ⊦ # [] = ⌜0⌝ A User Theorem
toinf-empty2 ⊦ ¬ # σ < n∞ → (σ.take(n∞) = [] ↔ n∞ = ⌜0⌝ ) A User Theorem
cons-inf ⊦ a + ⌜nf⌝ = ⌜λ n. (n = 0 ⊃ a;nf(n.-1))⌝ An Axiom
append-cancel-r-02finp(σ) ⊦ σ0 + σ = σ ↔ σ0 = [] A User Theorem
get-cons-zero ⊦ (⌜a '⌝ + σ)(0) = a A User Theorem
from-cons-one ⊦ (⌜a '⌝ + σ).drop(1) = σ A User Theorem
append-cancel-r-01 ⊦ finp(σ) → (⌜x⌝ + σ = ⌜y⌝ + σ ↔ ⌜x⌝ = ⌜y⌝ ) A User Theorem
leq-append-right ⊦ σ1 ⊑ σ1 + σ2 A User Theorem
get-append2-fin ⊦ (⌜x⌝ + ⌜x0⌝ )(m) = (x + x0)(m) A User Theorem
to-succ-cons-l-lem ⊦ (a ' + x).take(n + 1) = a + x.take(n) A User Theorem
elim-hd-tl ⊦ σ ≠ [] → (a = hd(σ) ∧ σ0 = tl(σ) ↔ σ = a + σ0) A User Theorem
swap-from-to ⊦ ¬ # σ < ⌜m⌝ + ⌜n⌝ → σ.drop(m).take(n) = σ.take(m + n).drop(m) A User Theorem
toinf-to-eq¬ # σ < n∞ ⊦ σ.take(n∞).take(n∞) = σ.take(n∞) A User Theorem
to-empty-inf ⊦ nf.take(n) = [] ↔ n = 0 A User Theorem
leq-append-left ⊦ σ0 + σ1 ⊑ σ → (σ0 ⊑ σ ↔ true) A User Theorem
to-to-eq-inf ⊦ nf.take(n).take(n) = nf.take(n) A User Theorem
append-toinf-ls ⊦ ¬ # σ < n∞ → (σ + σ0).take(n∞) = σ.take(n∞) A User Theorem
to-unwind-begin⌜n⌝ < # σ ⊦ σ.take(n + 1) = σ(0) + tl(σ).take(n) A User Theorem
size-to-02¬ # σ < ⌜n⌝ ⊦ # (σ.take(n)).l = n A User Theorem
get-toinf⌜m⌝ < n∞, ¬ # σ < n∞ ⊦ σ.take(n∞)(m) = σ(m) A User Theorem
get-from-zero ⊦ ⌜n⌝ < # σ → σ.drop(n)(0) = σ(n) A User Theorem
from-infto-exchange ⊦ ¬ # σ < ⌜m⌝ + n∞ → σ.take(⌜m⌝ + n∞).drop(m) = σ.drop(m).take(n∞) A User Theorem
to-empty-fin ⊦ n < # x → (x.take(n) = [] ↔ n = 0) A User Theorem
cons-fin ⊦ ⌜a + x⌝ = a + ⌜x⌝ An Axiom
to-all ⊦ x.take(# x) = x A User Theorem
lslen-fromnotempty ⊦ ⌜n⌝ < # σ → (σ.drop(n) = [] ↔ false) A User Theorem
inf-size-to ⊦ # ⌜nf.take(n)⌝ = ⌜n⌝ A User Theorem
from-appfin ⊦ (⌜x⌝ + ⌜y⌝ ).drop(n) = ⌜(x + y).drop(n)⌝ A User Theorem
finlen-tolen ⊦ # σ = ⌜n⌝ → σ.take(n) = σ A User Theorem
append-from-gr-01 ⊦ # x < m → (⌜x⌝ + σ).drop(m) = σ.drop(m - # x) A User Theorem
fin-to ⊦ finp(σ.take(m)) A User Theorem
append-from-gr-02 ⊦ # σ0 < ⌜m⌝ → (σ0 + σ).drop(m) = σ.drop(m - (# σ0).n) A User Theorem
toone-one ⊦ ⌜a '⌝ .take(1) = ⌜a '⌝ A User Theorem
get-append-ls ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) A User Theorem
to-to-ls¬ # σ < ⌜n⌝ ⊦ m < n → σ.take(n).take(m) = σ.take(m) A User Theorem
cons-empty ⊦ ⌜a '⌝ + σ ≠ [] A User Theorem
append-cancel-l-02 ⊦ σ0 + σ = σ0 ↔ σ = [] ∨ ¬ finp(σ0) A User Theorem
finp-infto ⊦ finp(⌜nf.take(n)⌝ ) A User Theorem
from-from-inf ⊦ nf.drop(m).drop(n) = nf.drop(m + n) A User Theorem
toinflen ⊦ # σ = n∞ → σ.take(n∞) = σ A User Theorem
leq-prefix ⊦ σ1 ⊑ σ2 → σ1 = σ2 ∨ (∃ n. ⌜n⌝ < # σ2 ∧ σ2.take(n) = σ1) A User Theorem
fin-size-from2 ⊦ ¬ # σ < ⌜n⌝ ∧ finp(σ) → # σ.drop(n) = ⌜(# σ).n - n⌝ A User Theorem
get-cons-numn ≠ 0 ⊦ (⌜a '⌝ + σ)((* n)) = σ(n - 1) A User Theorem
extensionality-to ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ¬ # σ0 < ⌜n⌝ → σ0.take(n) = σ1.take(n)) A User Theorem
leq-refl ⊦ σ ⊑ σ A User Theorem
intrace-expand ⊦ ⌜nf⌝ = nf(0) + ⌜λ n. nf(n + 1)⌝ A User Theorem
append-from-ge-01 ⊦ # x ≤ m → (⌜x⌝ + σ).drop(m) = σ.drop(m - # x) A User Theorem
append-from-ge-02 ⊦ ¬ ⌜m⌝ < # σ0 → (σ0 + σ).drop(m) = σ.drop(m - (# σ0).n) A User Theorem
to-fin ⊦ ⌜x⌝ .take(n) = ⌜x.take(n)⌝ An Axiom
expand-cons ⊦ σ ≠ [] → (∃ a, σ0. σ = ⌜a '⌝ + σ0) A User Theorem
cons-eq-inf ⊦ ⌜nf⌝ = a0 + σ ↔ nf(0) = a0 ∧ ⌜λ n. nf(n + 1)⌝ = σ A User Theorem
from-nf-zero ⊦ nf.drop(0) = nf A User Theorem
to-from-01⌜n⌝ < # σ ⊦ σ.take(n).drop(n) = [] A User Theorem
fin-toinf ⊦ finp(σ.take(n∞)) ↔ n∞ ≠ ∞ ∨ finp(σ) A User Theorem
to-inf ⊦ ⌜nf⌝ .take(n) = ⌜nf.take(n)⌝ An Axiom
to-plus-from-fin ⊦ n ≤ # x → x.take(n) + x.drop(n) = x A User Theorem
prefix-notsmallersize ⊦ σ ⊑ σ0 → (# σ0 < # σ ↔ false) A User Theorem
zero-len ⊦ ⌜0⌝ < # σ ↔ σ ≠ [] A User Theorem
append-eq-inf ⊦ ⌜nf⌝ = σ + ⌜x⌝ ↔ ⌜nf⌝ = σ A User Theorem
hd-fin-lem ⊦ hd(⌜a '⌝ + ⌜x⌝ ) = a A User Theorem
to-plus-from-inf-simp ⊦ ⌜nf.take(n)⌝ + ⌜nf.drop(n)⌝ = ⌜nf⌝ ↔ true A User Theorem
toone-equalσ ≠ [] ⊦ σ.take(1) = ⌜a '⌝ ↔ σ(0) = a A User Theorem
to-zero-nf ⊦ nf.take(0) = [] An Axiom
swap-inf-from-to ⊦ nf.drop(m).take(n) = nf.take(m + n).drop(m) A User Theorem
leq-empty ⊦ [] ⊑ σ A User Theorem
fin-neq-inf ⊦ a + ⌜nf⌝ ≠ ⌜x⌝ A User Theorem
append-cut1 ⊦ σ + σ1 = σ + σ2 ↔ σ1 = σ2 ∨ # σ = ∞ A User Theorem
size-append ⊦ #(σ + σ1) = # σ + # σ1 A User Theorem
cons-from-addnum ⊦ n ≠ 0 → (⌜a '⌝ + σ).drop((* n) + m) = σ.drop((n - 1) + m) A User Theorem
size-inf-toinf ⊦ # ⌜nf⌝ .take(n∞) = n∞ A User Theorem
get-tom < n, ¬ # σ < ⌜n⌝ ⊦ σ.take(n)(m) = σ(m) A User Theorem
sel-fin ⊦ ⌜x⌝ (n) = x(n) An Axiom
cons-to-addnum ⊦ n ≠ 0 → (⌜a '⌝ + σ).take((* n) + m) = ⌜a '⌝ + σ.take((n - 1) + m) A User Theorem
eq-stream-to-list-2-2 ⊦ ⌜x⌝ + ⌜y⌝ = ⌜x0⌝ + ⌜z⌝ ↔ x + y = x0 + z A User Theorem
to-appfin ⊦ (⌜x⌝ + ⌜y⌝ ).take(n) = ⌜(x + y).take(n)⌝ A User Theorem
fun-nonempty ⊦ [] ≠ ⌜nf⌝ A User Theorem
eq-stream-to-list-2-1 ⊦ ⌜x⌝ + ⌜y⌝ = ⌜z⌝ ↔ x + y = z A User Theorem
to-unwind-begin-finm < # x ⊦ x.take(m + 1) = x.head + x.tail.take(m) A User Theorem
from-from ⊦ ¬ # σ < ⌜m + n⌝ → σ.drop(m).drop(n) = σ.drop(m + n) A User Theorem
to-attach ⊦ ⌜x + a '⌝ .take(# x) = ⌜x⌝ A User Theorem
to-succ-nf ⊦ nf.take(n + 1) = nf(0) + (λ n. nf(n + 1)).take(n) An Axiom
leq-symm-2 ⊦ σ1 ⊑ σ2 → (σ2 ⊑ σ1 ↔ σ1 = σ2) A User Theorem
leq-append-both ⊦ ⌜x⌝ + σ1 ⊑ ⌜x⌝ + σ2 ↔ σ1 ⊑ σ2 A User Theorem
from-succ-cons-l-lem ⊦ (a ' + x).drop(n + 1) = x.drop(n) A User Theorem
inf-size-from ⊦ # σ = ∞ → # σ.drop(n) = ∞ A User Theorem
append-to-size ⊦ (x + y).take(# x) = x A User Theorem
to-plus-from-inf ⊦ ⌜nf.take(n)⌝ + ⌜nf.drop(n)⌝ = ⌜nf⌝ A User Theorem
append-empty-01 ⊦ σ0 + σ1 = [] ↔ σ0 = [] ∧ σ1 = [] A User Theorem
append-from-gt ⊦ # x < n → (x + y).drop(n) = y.drop(n - # x) A User Theorem
size-from-inf ⊦ # ⌜nf⌝ .drop(n) = ∞ A User Theorem