Step * 1 of Lemma mul-polynom-int-val


1. : ℕ
2. ∀n:ℕn. ∀[l:{l:ℤ List| ||l|| n ∈ ℤ]. ∀[p,q:polyform(n)].  (l@mul-polynom(n;p;q) (l@p l@q) ∈ ℤ)
3. {l:ℤ List| ||l|| n ∈ ℤ
4. polyform(n)
5. polyform(n)
⊢ l@mul-polynom(n;p;q) (l@p l@q) ∈ ℤ
BY
(RecUnfold `mul-polynom` 0
   THEN RepeatFor ((CallByValueReduce THENA Auto))
   THEN (SplitOnConclITE THENA Auto)
   THEN Try (((Subst' l@p 0 ∈ ℤ THENA (BLemma `poly-zero-implies`  THEN Complete (Auto)))
              THEN InstLemma `poly-int-val_wf` [⌜n⌝;⌜l⌝;⌜q⌝]⋅
              THEN Auto))
   THEN (SplitOnConclITE THENA Auto)
   THEN Try (((Subst' l@q 0 ∈ ℤ THENA (BLemma `poly-zero-implies`  THEN Complete (Auto)))
              THEN InstLemma `poly-int-val_wf` [⌜n⌝;⌜l⌝;⌜p⌝]⋅
              THEN Auto))
   THEN RepeatFor (Thin (-1))) }

1
1. : ℕ
2. ∀n:ℕn. ∀[l:{l:ℤ List| ||l|| n ∈ ℤ]. ∀[p,q:polyform(n)].  (l@mul-polynom(n;p;q) (l@p l@q) ∈ ℤ)
3. {l:ℤ List| ||l|| n ∈ ℤ
4. polyform(n)
5. polyform(n)
⊢ l@if n=0
    then q
    else eager-accum(z,a.add-polynom(n;tt;if null(z) then [] else [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@mul-polynom(n;p;q)  =  (l@p  *  l@q)


By


Latex:
(RecUnfold  `mul-polynom`  0
  THEN  RepeatFor  4  ((CallByValueReduce  0  THENA  Auto))
  THEN  (SplitOnConclITE  THENA  Auto)
  THEN  Try  (((Subst'  l@p  =  0  0  THENA  (BLemma  `poly-zero-implies`    THEN  Complete  (Auto)))
                        THEN  InstLemma  `poly-int-val\_wf`  [\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}l\mkleeneclose{};\mkleeneopen{}q\mkleeneclose{}]\mcdot{}
                        THEN  Auto))
  THEN  (SplitOnConclITE  THENA  Auto)
  THEN  Try  (((Subst'  l@q  =  0  0  THENA  (BLemma  `poly-zero-implies`    THEN  Complete  (Auto)))
                        THEN  InstLemma  `poly-int-val\_wf`  [\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}l\mkleeneclose{};\mkleeneopen{}p\mkleeneclose{}]\mcdot{}
                        THEN  Auto))
  THEN  RepeatFor  2  (Thin  (-1)))




Home Index