Step * 2 1 1 2 1 1 of Lemma add-polynom_wf


1. {1...}
2. ∀[p,q:polynom(n 1)].  (add-polynom(n 1;tt;p;q) ∈ polynom(n 1))
3. polynom(n 1)
4. 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. polynom(n 1) List@i
12. add-polynom(n;ff;[u v];v1) A ∈ (polynom(n 1) List)
13. polynom(n 1) List@i
14. add-polynom(n;ff;v;[u1 v1]) B ∈ (polynom(n 1) List)
15. polynom(n 1)@i
16. add-polynom(n 1;tt;u;u1) C ∈ polynom(n 1)
17. polynom(n 1) List@i
18. add-polynom(n;rmz;v;v1) D ∈ (polynom(n 1) List)
19. 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 ((CallByValueReduce 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