Step
*
2
1
2
2
of Lemma
mul-polynom-val
1. k : ℕ
2. ∀k:ℕk
     ∀[n:ℕ]. ∀[p,q:polyform(n)].
       (((tree_size(p) + tree_size(q)) ≤ k) 
⇒ (∀[l:{l:ℤ List| n ≤ ||l||} ]. (mul-polynom(p;q)@l = (p@l * q@l) ∈ ℤ)))
3. n : ℕ
4. p1 : ℤ
5. p1 ≠ 1
6. p1 ≠ 0
7. True
8. left : tree(ℤ)
9. q2 : tree(ℤ)
10. ((↑(ispolyform(left) (n - 1))) ∧ (↑(ispolyform(q2) n))) ∧ 0 < n
11. (0 + (1 + tree_size(left)) + tree_size(q2)) ≤ k
12. u : ℤ
13. v : ℤ List
14. n ≤ (||v|| + 1)
15. mul-polynom(tree_leaf(p1);left) ∈ polyform(n - 1)
16. mul-polynom(tree_leaf(p1);q2) ∈ polyform(n)
⊢ tree_node(mul-polynom(tree_leaf(p1);left);mul-polynom(tree_leaf(p1);q2))@[u / v]
= (tree_leaf(p1)@[u / v] * tree_node(left;q2)@[u / v])
∈ ℤ
BY
{ (RepUR ``poly-int-val poly-val-fun`` 0 THEN Fold `poly-val-fun` 0 THEN Fold `poly-int-val` 0) }
1
1. k : ℕ
2. ∀k:ℕk
     ∀[n:ℕ]. ∀[p,q:polyform(n)].
       (((tree_size(p) + tree_size(q)) ≤ k) 
⇒ (∀[l:{l:ℤ List| n ≤ ||l||} ]. (mul-polynom(p;q)@l = (p@l * q@l) ∈ ℤ)))
3. n : ℕ
4. p1 : ℤ
5. p1 ≠ 1
6. p1 ≠ 0
7. True
8. left : tree(ℤ)
9. q2 : tree(ℤ)
10. ((↑(ispolyform(left) (n - 1))) ∧ (↑(ispolyform(q2) n))) ∧ 0 < n
11. (0 + (1 + tree_size(left)) + tree_size(q2)) ≤ k
12. u : ℤ
13. v : ℤ List
14. n ≤ (||v|| + 1)
15. mul-polynom(tree_leaf(p1);left) ∈ polyform(n - 1)
16. mul-polynom(tree_leaf(p1);q2) ∈ polyform(n)
⊢ eval t = v in
  eval av = mul-polynom(tree_leaf(p1);left)@t in
  eval bv = mul-polynom(tree_leaf(p1);q2)@[u / v] in
    if bv=0 then av else eval h = u in av + (h * bv)
= (p1 * eval t = v in eval av = left@t in eval bv = q2@[u / v] in   if bv=0 then av else eval h = u in av + (h * bv))
∈ ℤ
Latex:
Latex:
1.  k  :  \mBbbN{}
2.  \mforall{}k:\mBbbN{}k
          \mforall{}[n:\mBbbN{}].  \mforall{}[p,q:polyform(n)].
              (((tree\_size(p)  +  tree\_size(q))  \mleq{}  k)
              {}\mRightarrow{}  (\mforall{}[l:\{l:\mBbbZ{}  List|  n  \mleq{}  ||l||\}  ].  (mul-polynom(p;q)@l  =  (p@l  *  q@l))))
3.  n  :  \mBbbN{}
4.  p1  :  \mBbbZ{}
5.  p1  \mneq{}  1
6.  p1  \mneq{}  0
7.  True
8.  left  :  tree(\mBbbZ{})
9.  q2  :  tree(\mBbbZ{})
10.  ((\muparrow{}(ispolyform(left)  (n  -  1)))  \mwedge{}  (\muparrow{}(ispolyform(q2)  n)))  \mwedge{}  0  <  n
11.  (0  +  (1  +  tree\_size(left))  +  tree\_size(q2))  \mleq{}  k
12.  u  :  \mBbbZ{}
13.  v  :  \mBbbZ{}  List
14.  n  \mleq{}  (||v||  +  1)
15.  mul-polynom(tree\_leaf(p1);left)  \mmember{}  polyform(n  -  1)
16.  mul-polynom(tree\_leaf(p1);q2)  \mmember{}  polyform(n)
\mvdash{}  tree\_node(mul-polynom(tree\_leaf(p1);left);mul-polynom(tree\_leaf(p1);q2))@[u  /  v]
=  (tree\_leaf(p1)@[u  /  v]  *  tree\_node(left;q2)@[u  /  v])
By
Latex:
(RepUR  ``poly-int-val  poly-val-fun``  0  THEN  Fold  `poly-val-fun`  0  THEN  Fold  `poly-int-val`  0)
Home
Index