Step * 2 1 of Lemma mul-polynom_wf2


1. : ℤ
2. 0 < n
3. ∀[p,q:polynom(n 1)].  (mul-polynom(n 1;p;q) ∈ polynom(n 1))
4. ¬(n 0 ∈ ℤ)
5. polynom(n)
6. polynom(n)
⊢ 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) ∈ polynom(n)
BY
(RepeatFor (((RecUnfold `polynom` (-2) THENA Auto) THEN (SplitOnHypITE -2  THENA Auto) THEN Try (Trivial)))
   THEN Auto
   THEN Try ((RecUnfold `polynom` THEN (SplitOnConclITE THENA Auto) THEN Try (Trivial)))
   THEN Try (OnVar `z' (\h. ((RecUnfold `polynom` THENA Auto) THEN (SplitOnHypITE h  THENA Auto) THEN Try (Trivial)))
             ⋅)
   THEN DSetVars
   THEN Try ((RepUR ``polyform-lead-nonzero`` THEN MemTypeCD))
   THEN Auto) }

1
1. : ℤ
2. 0 < n
3. ∀[p,q:polynom(n 1)].  (mul-polynom(n 1;p;q) ∈ polynom(n 1))
4. ¬(n 0 ∈ ℤ)
5. polynom(n 1) List
6. polyform-lead-nonzero(n;p)
7. polynom(n 1) List
8. polyform-lead-nonzero(n;q)
9. ¬(n 0 ∈ ℤ)
10. ¬(n 0 ∈ ℤ)
11. polynom(n 1) List
12. polyform-lead-nonzero(n;z)
13. ¬↑null(z)
14. polynom(n 1)
15. ff ∈ 𝔹
16. ¬(n 0 ∈ ℤ)
17. ¬(n 0 ∈ ℤ)
18. 0 < n
19. 0 < ||z [polyconst(n 1;0)]||
⊢ ¬↑poly-zero(n 1;hd(z [polyconst(n 1;0)]))

2
1. : ℤ
2. 0 < n
3. ∀[p,q:polynom(n 1)].  (mul-polynom(n 1;p;q) ∈ polynom(n 1))
4. ¬(n 0 ∈ ℤ)
5. polynom(n 1) List
6. polyform-lead-nonzero(n;p)
7. polynom(n 1) List
8. polyform-lead-nonzero(n;q)
9. ¬(n 0 ∈ ℤ)
10. ¬(n 0 ∈ ℤ)
11. polynom(n 1) List
12. polyform-lead-nonzero(n;z)
13. polynom(n 1)
14. ¬↑poly-zero(n 1;a)
15. ff ∈ 𝔹
16. ¬(n 0 ∈ ℤ)
17. ¬(n 0 ∈ ℤ)
18. 0 < n
19. 0 < ||map(λx.mul-polynom(n 1;a;x);q)||
⊢ ¬↑poly-zero(n 1;hd(map(λx.mul-polynom(n 1;a;x);q)))


Latex:


Latex:

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  :  polynom(n)
6.  q  :  polynom(n)
\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:
(RepeatFor  2  (((RecUnfold  `polynom`  (-2)  THENA  Auto)
                              THEN  (SplitOnHypITE  -2    THENA  Auto)
                              THEN  Try  (Trivial)))
  THEN  Auto
  THEN  Try  ((RecUnfold  `polynom`  0  THEN  (SplitOnConclITE  THENA  Auto)  THEN  Try  (Trivial)))
  THEN  Try  (OnVar  `z'  (\mbackslash{}h.  ((RecUnfold  `polynom`  h  THENA  Auto)
                                                      THEN  (SplitOnHypITE  h    THENA  Auto)
                                                      THEN  Try  (Trivial)))\mcdot{})
  THEN  DSetVars
  THEN  Try  ((RepUR  ``polyform-lead-nonzero``  0  THEN  MemTypeCD))
  THEN  Auto)




Home Index