Step * 2 1 1 2 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 ∈ ℤ)
⊢ if (||v|| 1) < (||v1|| 1)
     then let cs ⟵ add-polynom(n;ff;[u v];v1)
          in [u1 cs]
     else if (||v1|| 1) < (||v|| 1)
             then let cs ⟵ add-polynom(n;ff;v;[u1 v1])
                  in [u cs]
             else let c ⟵ add-polynom(n 1;tt;u;u1)
                  in let cs ⟵ add-polynom(n;ff;v;v1)
                     in if rmz then rm-zeros(n 1;[c cs]) else [c cs] fi  ∈ polynom(n 1) List
BY
((GenConcl ⌜add-polynom(n;ff;[u v];v1) A ∈ (polynom(n 1) List)⌝⋅ THENA Auto)
   THEN (GenConcl ⌜add-polynom(n;ff;v;[u1 v1]) B ∈ (polynom(n 1) List)⌝⋅ THENA Auto)
   THEN (GenConcl ⌜add-polynom(n 1;tt;u;u1) C ∈ polynom(n 1)⌝⋅ THENA Auto)
   THEN (GenConcl ⌜add-polynom(n;rmz;v;v1) D ∈ (polynom(n 1) List)⌝⋅ THENA Auto)
   THEN (GenConcl ⌜add-polynom(n;ff;v;v1) E ∈ (polynom(n 1) List)⌝⋅ THENA Auto)) }

1
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


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)
\mvdash{}  if  (||v||  +  1)  <  (||v1||  +  1)
          then  let  cs  \mleftarrow{}{}  add-polynom(n;ff;[u  /  v];v1)
                    in  [u1  /  cs]
          else  if  (||v1||  +  1)  <  (||v||  +  1)
                          then  let  cs  \mleftarrow{}{}  add-polynom(n;ff;v;[u1  /  v1])
                                    in  [u  /  cs]
                          else  let  c  \mleftarrow{}{}  add-polynom(n  -  1;tt;u;u1)
                                    in  let  cs  \mleftarrow{}{}  add-polynom(n;ff;v;v1)
                                          in  if  rmz  then  rm-zeros(n  -  1;[c  /  cs])  else  [c  /  cs]  fi    \mmember{}  polynom(n  -  1)  List


By


Latex:
((GenConcl  \mkleeneopen{}add-polynom(n;ff;[u  /  v];v1)  =  A\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (GenConcl  \mkleeneopen{}add-polynom(n;ff;v;[u1  /  v1])  =  B\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (GenConcl  \mkleeneopen{}add-polynom(n  -  1;tt;u;u1)  =  C\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (GenConcl  \mkleeneopen{}add-polynom(n;rmz;v;v1)  =  D\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (GenConcl  \mkleeneopen{}add-polynom(n;ff;v;v1)  =  E\mkleeneclose{}\mcdot{}  THENA  Auto))




Home Index