Step
*
1
1
of Lemma
mul-polynom-int-val
1. n : ℕ
2. ∀n:ℕn. ∀[l:{l:ℤ List| ||l|| = n ∈ ℤ} ]. ∀[p,q:polyform(n)].  (l@mul-polynom(n;p;q) = (l@p * l@q) ∈ ℤ)
3. l : {l:ℤ List| ||l|| = n ∈ ℤ} 
4. p : polyform(n)
5. q : polyform(n)
⊢ l@if n=0
    then p * q
    else 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)
= (l@p * l@q)
∈ ℤ
BY
{ ((RecUnfold `polyform` (-2) THEN RecUnfold `polyform` (-1))
   THEN RepeatFor 2 ((SplitOnHypITE -2  THENA Auto))
   THEN Try (Trivial)
   THEN Thin (-1)
   THEN Reduce 0) }
1
1. n : ℕ
2. ∀n:ℕn. ∀[l:{l:ℤ List| ||l|| = n ∈ ℤ} ]. ∀[p,q:polyform(n)].  (l@mul-polynom(n;p;q) = (l@p * l@q) ∈ ℤ)
3. l : {l:ℤ List| ||l|| = n ∈ ℤ} 
4. p : ℤ
5. q : ℤ
6. n = 0 ∈ ℤ
⊢ l@p * q = (l@p * l@q) ∈ ℤ
2
1. n : ℕ
2. ∀n:ℕn. ∀[l:{l:ℤ List| ||l|| = n ∈ ℤ} ]. ∀[p,q:polyform(n)].  (l@mul-polynom(n;p;q) = (l@p * l@q) ∈ ℤ)
3. l : {l:ℤ List| ||l|| = n ∈ ℤ} 
4. p : polyform(n - 1) List
5. q : polyform(n - 1) List
6. ¬(n = 0 ∈ ℤ)
⊢ l@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)
= (l@p * l@q)
∈ ℤ
Latex:
Latex:
1.  n  :  \mBbbN{}
2.  \mforall{}n:\mBbbN{}n.  \mforall{}[l:\{l:\mBbbZ{}  List|  ||l||  =  n\}  ].  \mforall{}[p,q:polyform(n)].    (l@mul-polynom(n;p;q)  =  (l@p  *  l@q))
3.  l  :  \{l:\mBbbZ{}  List|  ||l||  =  n\} 
4.  p  :  polyform(n)
5.  q  :  polyform(n)
\mvdash{}  l@if  n=0
        then  p  *  q
        else  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)
=  (l@p  *  l@q)
By
Latex:
((RecUnfold  `polyform`  (-2)  THEN  RecUnfold  `polyform`  (-1))
  THEN  RepeatFor  2  ((SplitOnHypITE  -2    THENA  Auto))
  THEN  Try  (Trivial)
  THEN  Thin  (-1)
  THEN  Reduce  0)
Home
Index