Step
*
4
1
of Lemma
add-polynom_wf
1. k : ℕ
2. ∀k:ℕk. ∀[n:ℕ]. ∀[p,q:polyform(n)].  (((tree_size(p) + tree_size(q)) ≤ k) 
⇒ (add-polynom(p;q) ∈ polyform(n)))
3. n : ℕ
4. left : tree(ℤ)
5. p2 : tree(ℤ)
6. ↑(((ispolyform(left) (n - 1)) ∧b (ispolyform(p2) n)) ∧b 0 <z 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. add-polynom(left;l1) ∈ polyform(n - 1)
12. add-polynom(p2;q2) ∈ polyform(n)
⊢ eval a = add-polynom(left;l1) in
  eval b = add-polynom(p2;q2) in
    if poly-zero(b) ∧b poly-int(a) then a else tree_node(a;b) fi  ∈ polyform(n)
BY
{ ((Assert 0 < n BY
          Auto)
   THEN MoveToConcl (-1)
   THEN GenConclTerms Auto [⌜add-polynom(left;l1)⌝;⌜add-polynom(p2;q2)⌝]⋅
   THEN All Thin
   THEN RepeatFor 2 ((CallByValueReduce 0 THENA Auto))
   THEN Auto) }
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{}  (add-polynom(p;q)  \mmember{}  polyform(n)))
3.  n  :  \mBbbN{}
4.  left  :  tree(\mBbbZ{})
5.  p2  :  tree(\mBbbZ{})
6.  \muparrow{}(((ispolyform(left)  (n  -  1))  \mwedge{}\msubb{}  (ispolyform(p2)  n))  \mwedge{}\msubb{}  0  <z  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.  add-polynom(left;l1)  \mmember{}  polyform(n  -  1)
12.  add-polynom(p2;q2)  \mmember{}  polyform(n)
\mvdash{}  eval  a  =  add-polynom(left;l1)  in
    eval  b  =  add-polynom(p2;q2)  in
        if  poly-zero(b)  \mwedge{}\msubb{}  poly-int(a)  then  a  else  tree\_node(a;b)  fi    \mmember{}  polyform(n)
By
Latex:
((Assert  0  <  n  BY
                Auto)
  THEN  MoveToConcl  (-1)
  THEN  GenConclTerms  Auto  [\mkleeneopen{}add-polynom(left;l1)\mkleeneclose{};\mkleeneopen{}add-polynom(p2;q2)\mkleeneclose{}]\mcdot{}
  THEN  All  Thin
  THEN  RepeatFor  2  ((CallByValueReduce  0  THENA  Auto))
  THEN  Auto)
Home
Index