Step * 2 1 1 of Lemma nonzero-mul-polynom


1. : ℕ
2. ∀n:ℕn
     ∀[p,q:polynom(n)].  (poly-zero(n;mul-polynom(n;p;q)) ff) supposing (poly-zero(n;q) ff and poly-zero(n;p) ff)
3. polynom(n 1) List
4. polyform-lead-nonzero(n;p)
5. polynom(n 1) List
6. polyform-lead-nonzero(n;q)
7. poly-zero(n;p) ff
8. poly-zero(n;q) ff
9. ¬(n 0 ∈ ℤ)
10. ∀[p,q:polynom(n 1)].
      (poly-zero(n 1;mul-polynom(n 1;p;q)) ff) supposing (poly-zero(n 1;q) ff and poly-zero(n 1;p) ff)
⊢ poly-zero(n;if poly-zero(n;p) then p
  if poly-zero(n;q) 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)
  fi 
ff
BY
(((Subst' poly-zero(n;p) ff THENA Auto) THEN (Subst' poly-zero(n;q) ff THENA Auto) THEN Reduce 0)
   THEN (Assert ¬↑null(p) BY
               (DVar `p' THEN Reduce THEN Auto THEN RepUR ``poly-zero`` THEN SplitOnHypITE 6  THEN Complete (Auto)))
   THEN (Assert ¬↑null(q) BY
               (DVar `q'
                THEN Reduce 0
                THEN Auto
                THEN RepUR ``poly-zero`` 7
                THEN SplitOnHypITE 
                THEN Complete (Auto)))) }

1
1. : ℕ
2. ∀n:ℕn
     ∀[p,q:polynom(n)].  (poly-zero(n;mul-polynom(n;p;q)) ff) supposing (poly-zero(n;q) ff and poly-zero(n;p) ff)
3. polynom(n 1) List
4. polyform-lead-nonzero(n;p)
5. polynom(n 1) List
6. polyform-lead-nonzero(n;q)
7. poly-zero(n;p) ff
8. poly-zero(n;q) ff
9. ¬(n 0 ∈ ℤ)
10. ∀[p,q:polynom(n 1)].
      (poly-zero(n 1;mul-polynom(n 1;p;q)) ff) supposing (poly-zero(n 1;q) ff and poly-zero(n 1;p) ff)
11. ¬↑null(p)
12. ¬↑null(q)
⊢ poly-zero(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)) 
ff


Latex:


Latex:

1.  n  :  \mBbbN{}
2.  \mforall{}n:\mBbbN{}n
          \mforall{}[p,q:polynom(n)].
              (poly-zero(n;mul-polynom(n;p;q))  =  ff)  supposing 
                    (poly-zero(n;q)  =  ff  and 
                    poly-zero(n;p)  =  ff)
3.  p  :  polynom(n  -  1)  List
4.  polyform-lead-nonzero(n;p)
5.  q  :  polynom(n  -  1)  List
6.  polyform-lead-nonzero(n;q)
7.  poly-zero(n;p)  =  ff
8.  poly-zero(n;q)  =  ff
9.  \mneg{}(n  =  0)
10.  \mforall{}[p,q:polynom(n  -  1)].
            (poly-zero(n  -  1;mul-polynom(n  -  1;p;q))  =  ff)  supposing 
                  (poly-zero(n  -  1;q)  =  ff  and 
                  poly-zero(n  -  1;p)  =  ff)
\mvdash{}  poly-zero(n;if  poly-zero(n;p)  then  p
    if  poly-zero(n;q)  then  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)
    fi  ) 
=  ff


By


Latex:
(((Subst'  poly-zero(n;p)  \msim{}  ff  0  THENA  Auto)
    THEN  (Subst'  poly-zero(n;q)  \msim{}  ff  0  THENA  Auto)
    THEN  Reduce  0)
  THEN  (Assert  \mneg{}\muparrow{}null(p)  BY
                          (DVar  `p'
                            THEN  Reduce  0
                            THEN  Auto
                            THEN  RepUR  ``poly-zero``  6
                            THEN  SplitOnHypITE  6 
                            THEN  Complete  (Auto)))
  THEN  (Assert  \mneg{}\muparrow{}null(q)  BY
                          (DVar  `q'
                            THEN  Reduce  0
                            THEN  Auto
                            THEN  RepUR  ``poly-zero``  7
                            THEN  SplitOnHypITE  7 
                            THEN  Complete  (Auto))))




Home Index