Step
*
2
1
1
2
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 ∈ ℤ)
⊢ 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. 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
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