Step
*
1
1
of Lemma
mul-polynom_wf2
.....falsecase.....
1. n : ℤ
2. 0 < n
3. ∀[p,q:polynom(n - 1)]. (mul-polynom(n - 1;p;q) ∈ polynom(n - 1))
4. ¬(n = 0 ∈ ℤ)
5. p : {p:polynom(n - 1) List| polyform-lead-nonzero(n;p)}
6. q : {p:polynom(n - 1) List| polyform-lead-nonzero(n;p)}
7. ¬(n = 0 ∈ ℤ)
8. ¬(n = 0 ∈ ℤ)
⊢ eager-accum(z,a.add-polynom(n;tt;if null(z) then [] else z @ [polyconst(n - 1;0)] fi ;if poly-zero(n - 1;a)
then []
else map(λx.mul-polynom(n - 1;a;x);q)
fi );polyconst(n;0);p) ∈ polynom(n)
BY
{ Assert ⌜∀z:polynom(n). (if null(z) then [] else z @ [polyconst(n - 1;0)] fi ∈ polynom(n))⌝⋅ }
1
.....assertion.....
1. n : ℤ
2. 0 < n
3. ∀[p,q:polynom(n - 1)]. (mul-polynom(n - 1;p;q) ∈ polynom(n - 1))
4. ¬(n = 0 ∈ ℤ)
5. p : {p:polynom(n - 1) List| polyform-lead-nonzero(n;p)}
6. q : {p:polynom(n - 1) List| polyform-lead-nonzero(n;p)}
7. ¬(n = 0 ∈ ℤ)
8. ¬(n = 0 ∈ ℤ)
⊢ ∀z:polynom(n). (if null(z) then [] else z @ [polyconst(n - 1;0)] fi ∈ polynom(n))
2
1. n : ℤ
2. 0 < n
3. ∀[p,q:polynom(n - 1)]. (mul-polynom(n - 1;p;q) ∈ polynom(n - 1))
4. ¬(n = 0 ∈ ℤ)
5. p : {p:polynom(n - 1) List| polyform-lead-nonzero(n;p)}
6. q : {p:polynom(n - 1) List| polyform-lead-nonzero(n;p)}
7. ¬(n = 0 ∈ ℤ)
8. ¬(n = 0 ∈ ℤ)
9. ∀z:polynom(n). (if null(z) then [] else z @ [polyconst(n - 1;0)] fi ∈ polynom(n))
⊢ eager-accum(z,a.add-polynom(n;tt;if null(z) then [] else z @ [polyconst(n - 1;0)] fi ;if poly-zero(n - 1;a)
then []
else map(λx.mul-polynom(n - 1;a;x);q)
fi );polyconst(n;0);p) ∈ polynom(n)
Latex:
Latex:
.....falsecase.....
1. n : \mBbbZ{}
2. 0 < n
3. \mforall{}[p,q:polynom(n - 1)]. (mul-polynom(n - 1;p;q) \mmember{} polynom(n - 1))
4. \mneg{}(n = 0)
5. p : \{p:polynom(n - 1) List| polyform-lead-nonzero(n;p)\}
6. q : \{p:polynom(n - 1) List| polyform-lead-nonzero(n;p)\}
7. \mneg{}(n = 0)
8. \mneg{}(n = 0)
\mvdash{} eager-accum(z,a.add-polynom(n;tt;if null(z)
then []
else z @ [polyconst(n - 1;0)]
fi ;if poly-zero(n - 1;a) then [] else map(\mlambda{}x.mul-polynom(n - 1;a;x);q) fi );polyconst(n;0);p)
\mmember{} polynom(n)
By
Latex:
Assert \mkleeneopen{}\mforall{}z:polynom(n). (if null(z) then [] else z @ [polyconst(n - 1;0)] fi \mmember{} polynom(n))\mkleeneclose{}\mcdot{}
Home
Index