Step
*
2
of Lemma
nonzero-mul-polynom
1. n : ℕ
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. p : polynom(n)
4. q : polynom(n)
5. poly-zero(n;p) = ff
6. poly-zero(n;q) = ff
7. ¬(n = 0 ∈ ℤ)
8. ∀[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 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)
  fi ) 
= ff
BY
{ ((Decide ⌜n = 0 ∈ ℤ⌝⋅ THENA Auto) THEN Reduce 0 THEN Try (Trivial)) }
1
1. n : ℕ
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. p : polynom(n)
4. q : polynom(n)
5. poly-zero(n;p) = ff
6. poly-zero(n;q) = ff
7. ¬(n = 0 ∈ ℤ)
8. ∀[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)
9. ¬(n = 0 ∈ ℤ)
⊢ 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(λx.mul-polynom(n - 1;a;x);q)
       fi );polyconst(n;0);p)
  fi ) 
= 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)
4.  q  :  polynom(n)
5.  poly-zero(n;p)  =  ff
6.  poly-zero(n;q)  =  ff
7.  \mneg{}(n  =  0)
8.  \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  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)
    fi  ) 
=  ff
By
Latex:
((Decide  \mkleeneopen{}n  =  0\mkleeneclose{}\mcdot{}  THENA  Auto)  THEN  Reduce  0  THEN  Try  (Trivial))
Home
Index