Step
*
4
1
1
1
2
of Lemma
mul-polynom_wf
1. k : ℕ
2. ∀k:ℕk. ∀[n:ℕ]. ∀[p,q:polyform(n)].  (((tree_size(p) + tree_size(q)) ≤ k) 
⇒ (mul-polynom(p;q) ∈ polyform(n)))
3. n : ℕ
4. left : tree(ℤ)
5. p2 : tree(ℤ)
6. ((↑(ispolyform(left) (n - 1))) ∧ (↑(ispolyform(p2) n))) ∧ 0 < n
7. l1 : tree(ℤ)
8. q2 : tree(ℤ)
9. ((↑(ispolyform(l1) (n - 1))) ∧ (↑(ispolyform(q2) n))) ∧ 0 < n
10. (((1 + tree_size(left)) + tree_size(p2)) + (1 + tree_size(l1)) + tree_size(q2)) ≤ k
11. aa : polyform(n - 1)
12. mul-polynom(left;l1) = aa ∈ polyform(n - 1)
13. tree_node(left;polyconst(0)) ∈ polyform(n)
14. tree_size(tree_node(left;polyconst(0))) = (1 + tree_size(left)) ∈ ℤ
15. tree_node(l1;polyconst(0)) ∈ polyform(n)
16. tree_size(tree_node(l1;polyconst(0))) = (1 + tree_size(l1)) ∈ ℤ
17. ab : polyform(n)
18. mul-polynom(tree_node(left;polyconst(0));q2) = ab ∈ polyform(n)
19. ba : polyform(n)
20. mul-polynom(p2;tree_node(l1;polyconst(0))) = ba ∈ polyform(n)
21. bb : polyform(n)
22. mul-polynom(p2;q2) = bb ∈ polyform(n)
23. mid : polyform(n)
24. add-polynom(ab;ba) = mid ∈ polyform(n)
25. bb' : polyform(n)
26. add-polynom(mid;tree_node(polyconst(0);bb)) = bb' ∈ polyform(n)
⊢ eval bb' = bb' in
  tree_node(aa;bb') ∈ polyform(n)
BY
{ (CallByValueReduce 0 THENA Auto) }
1
1. k : ℕ
2. ∀k:ℕk. ∀[n:ℕ]. ∀[p,q:polyform(n)].  (((tree_size(p) + tree_size(q)) ≤ k) 
⇒ (mul-polynom(p;q) ∈ polyform(n)))
3. n : ℕ
4. left : tree(ℤ)
5. p2 : tree(ℤ)
6. ((↑(ispolyform(left) (n - 1))) ∧ (↑(ispolyform(p2) n))) ∧ 0 < n
7. l1 : tree(ℤ)
8. q2 : tree(ℤ)
9. ((↑(ispolyform(l1) (n - 1))) ∧ (↑(ispolyform(q2) n))) ∧ 0 < n
10. (((1 + tree_size(left)) + tree_size(p2)) + (1 + tree_size(l1)) + tree_size(q2)) ≤ k
11. aa : polyform(n - 1)
12. mul-polynom(left;l1) = aa ∈ polyform(n - 1)
13. tree_node(left;polyconst(0)) ∈ polyform(n)
14. tree_size(tree_node(left;polyconst(0))) = (1 + tree_size(left)) ∈ ℤ
15. tree_node(l1;polyconst(0)) ∈ polyform(n)
16. tree_size(tree_node(l1;polyconst(0))) = (1 + tree_size(l1)) ∈ ℤ
17. ab : polyform(n)
18. mul-polynom(tree_node(left;polyconst(0));q2) = ab ∈ polyform(n)
19. ba : polyform(n)
20. mul-polynom(p2;tree_node(l1;polyconst(0))) = ba ∈ polyform(n)
21. bb : polyform(n)
22. mul-polynom(p2;q2) = bb ∈ polyform(n)
23. mid : polyform(n)
24. add-polynom(ab;ba) = mid ∈ polyform(n)
25. bb' : polyform(n)
26. add-polynom(mid;tree_node(polyconst(0);bb)) = bb' ∈ polyform(n)
⊢ tree_node(aa;bb') ∈ polyform(n)
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{}  (mul-polynom(p;q)  \mmember{}  polyform(n)))
3.  n  :  \mBbbN{}
4.  left  :  tree(\mBbbZ{})
5.  p2  :  tree(\mBbbZ{})
6.  ((\muparrow{}(ispolyform(left)  (n  -  1)))  \mwedge{}  (\muparrow{}(ispolyform(p2)  n)))  \mwedge{}  0  <  n
7.  l1  :  tree(\mBbbZ{})
8.  q2  :  tree(\mBbbZ{})
9.  ((\muparrow{}(ispolyform(l1)  (n  -  1)))  \mwedge{}  (\muparrow{}(ispolyform(q2)  n)))  \mwedge{}  0  <  n
10.  (((1  +  tree\_size(left))  +  tree\_size(p2))  +  (1  +  tree\_size(l1))  +  tree\_size(q2))  \mleq{}  k
11.  aa  :  polyform(n  -  1)
12.  mul-polynom(left;l1)  =  aa
13.  tree\_node(left;polyconst(0))  \mmember{}  polyform(n)
14.  tree\_size(tree\_node(left;polyconst(0)))  =  (1  +  tree\_size(left))
15.  tree\_node(l1;polyconst(0))  \mmember{}  polyform(n)
16.  tree\_size(tree\_node(l1;polyconst(0)))  =  (1  +  tree\_size(l1))
17.  ab  :  polyform(n)
18.  mul-polynom(tree\_node(left;polyconst(0));q2)  =  ab
19.  ba  :  polyform(n)
20.  mul-polynom(p2;tree\_node(l1;polyconst(0)))  =  ba
21.  bb  :  polyform(n)
22.  mul-polynom(p2;q2)  =  bb
23.  mid  :  polyform(n)
24.  add-polynom(ab;ba)  =  mid
25.  bb'  :  polyform(n)
26.  add-polynom(mid;tree\_node(polyconst(0);bb))  =  bb'
\mvdash{}  eval  bb'  =  bb'  in
    tree\_node(aa;bb')  \mmember{}  polyform(n)
By
Latex:
(CallByValueReduce  0  THENA  Auto)
Home
Index