Step
*
2
1
1
2
1
1
of Lemma
add-polynom_wf
1. n : {1...}
2. ∀[p,q:polynom(n - 1)].  (add-polynom(n - 1;tt;p;q) ∈ polynom(n - 1))
3. u : polynom(n - 1)
4. v : polynom(n - 1) List
5. ∀[q:polynom(n - 1) List]. ∀[rmz:𝔹].  (add-polynom(n;rmz;v;q) ∈ polynom(n - 1) List)
6. u1 : polynom(n - 1)
7. v1 : polynom(n - 1) List
8. ∀rmz:𝔹. (add-polynom(n;rmz;[u / v];v1) ∈ polynom(n - 1) List)
9. rmz : 𝔹@i
10. ¬(n = 0 ∈ ℤ)
11. A : polynom(n - 1) List@i
12. add-polynom(n;ff;[u / v];v1) = A ∈ (polynom(n - 1) List)
13. B : polynom(n - 1) List@i
14. add-polynom(n;ff;v;[u1 / v1]) = B ∈ (polynom(n - 1) List)
15. C : polynom(n - 1)@i
16. add-polynom(n - 1;tt;u;u1) = C ∈ polynom(n - 1)
17. D : polynom(n - 1) List@i
18. add-polynom(n;rmz;v;v1) = D ∈ (polynom(n - 1) List)
19. E : polynom(n - 1) List@i
20. add-polynom(n;ff;v;v1) = E ∈ (polynom(n - 1) List)
⊢ if (||v|| + 1) < (||v1|| + 1)
     then let cs ⟵ A
          in [u1 / cs]
     else if (||v1|| + 1) < (||v|| + 1)
             then let cs ⟵ B
                  in [u / cs]
             else let c ⟵ C
                  in let cs ⟵ E
                     in if rmz then rm-zeros(n - 1;[c / cs]) else [c / cs] fi  ∈ polynom(n - 1) List
BY
{ (RepeatFor 2 ((CallByValueReduce 0 THENA Auto)) THEN Auto) }
Latex:
Latex:
1.  n  :  \{1...\}
2.  \mforall{}[p,q:polynom(n  -  1)].    (add-polynom(n  -  1;tt;p;q)  \mmember{}  polynom(n  -  1))
3.  u  :  polynom(n  -  1)
4.  v  :  polynom(n  -  1)  List
5.  \mforall{}[q:polynom(n  -  1)  List].  \mforall{}[rmz:\mBbbB{}].    (add-polynom(n;rmz;v;q)  \mmember{}  polynom(n  -  1)  List)
6.  u1  :  polynom(n  -  1)
7.  v1  :  polynom(n  -  1)  List
8.  \mforall{}rmz:\mBbbB{}.  (add-polynom(n;rmz;[u  /  v];v1)  \mmember{}  polynom(n  -  1)  List)
9.  rmz  :  \mBbbB{}@i
10.  \mneg{}(n  =  0)
11.  A  :  polynom(n  -  1)  List@i
12.  add-polynom(n;ff;[u  /  v];v1)  =  A
13.  B  :  polynom(n  -  1)  List@i
14.  add-polynom(n;ff;v;[u1  /  v1])  =  B
15.  C  :  polynom(n  -  1)@i
16.  add-polynom(n  -  1;tt;u;u1)  =  C
17.  D  :  polynom(n  -  1)  List@i
18.  add-polynom(n;rmz;v;v1)  =  D
19.  E  :  polynom(n  -  1)  List@i
20.  add-polynom(n;ff;v;v1)  =  E
\mvdash{}  if  (||v||  +  1)  <  (||v1||  +  1)
          then  let  cs  \mleftarrow{}{}  A
                    in  [u1  /  cs]
          else  if  (||v1||  +  1)  <  (||v||  +  1)
                          then  let  cs  \mleftarrow{}{}  B
                                    in  [u  /  cs]
                          else  let  c  \mleftarrow{}{}  C
                                    in  let  cs  \mleftarrow{}{}  E
                                          in  if  rmz  then  rm-zeros(n  -  1;[c  /  cs])  else  [c  /  cs]  fi    \mmember{}  polynom(n  -  1)  List
By
Latex:
(RepeatFor  2  ((CallByValueReduce  0  THENA  Auto))  THEN  Auto)
Home
Index