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 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)) 
= 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;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)) 
= 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  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)) 
=  ff
By
Latex:
((Decide  \mkleeneopen{}n  =  0\mkleeneclose{}\mcdot{}  THENA  Auto)  THEN  Reduce  0  THEN  Try  (Trivial))
Home
Index