Step
*
2
1
2
1
of Lemma
add-polynom_wf
.....set predicate..... 
1. n : {1...}
2. ∀[p,q:polynom(n - 1)].  (add-polynom(n - 1;tt;p;q) ∈ polynom(n - 1))
3. ∀[p,q:polynom(n - 1) List]. ∀[rmz:𝔹].  (add-polynom(n;rmz;p;q) ∈ polynom(n - 1) List)
4. p : polynom(n - 1) List
5. polyform-lead-nonzero(n;p)
6. q : polynom(n - 1) List
7. polyform-lead-nonzero(n;q)
⊢ polyform-lead-nonzero(n;add-polynom(n;tt;p;q))
BY
{ (RecUnfold `add-polynom` 0
   THEN (SplitOnConclITE THEN Try (Complete (Auto)))
   THEN Reduce 0
   THEN RepeatFor 2 ((CallByValueReduce 0⋅ THENA Auto))
   THEN (DVar `p' THENA Auto)
   THEN (Reduce 0 THEN Try (Trivial))
   THEN (DVar `q' THENA Auto)
   THEN (Reduce 0 THEN Try (Complete (Auto)))
   THEN RepeatFor 2 ((CallByValueReduce 0⋅ THENA Auto))
   THEN (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;ff;v;v1) = E ∈ (polynom(n - 1) List)⌝⋅ THENA Auto)
   THEN RepeatFor 2 ((CallByValueReduce 0⋅ THENA Auto))
   THEN AutoSplit) }
1
1. n : {1...}
2. ∀[p,q:polynom(n - 1)].  (add-polynom(n - 1;tt;p;q) ∈ polynom(n - 1))
3. ∀[p,q:polynom(n - 1) List]. ∀[rmz:𝔹].  (add-polynom(n;rmz;p;q) ∈ polynom(n - 1) List)
4. u : polynom(n - 1)
5. v : polynom(n - 1) List
6. polyform-lead-nonzero(n;[u / v])
7. u1 : polynom(n - 1)
8. v1 : polynom(n - 1) List
9. polyform-lead-nonzero(n;[u1 / v1])
10. ¬(n = 0 ∈ ℤ)
11. A : polynom(n - 1) List
12. add-polynom(n;ff;[u / v];v1) = A ∈ (polynom(n - 1) List)
13. B : polynom(n - 1) List
14. add-polynom(n;ff;v;[u1 / v1]) = B ∈ (polynom(n - 1) List)
15. C : polynom(n - 1)
16. add-polynom(n - 1;tt;u;u1) = C ∈ polynom(n - 1)
17. E : polynom(n - 1) List
18. add-polynom(n;ff;v;v1) = E ∈ (polynom(n - 1) List)
19. ||v|| + 1 < ||v1|| + 1
⊢ polyform-lead-nonzero(n;[u1 / A])
2
1. n : {1...}
2. ∀[p,q:polynom(n - 1)].  (add-polynom(n - 1;tt;p;q) ∈ polynom(n - 1))
3. ∀[p,q:polynom(n - 1) List]. ∀[rmz:𝔹].  (add-polynom(n;rmz;p;q) ∈ polynom(n - 1) List)
4. u : polynom(n - 1)
5. v : polynom(n - 1) List
6. polyform-lead-nonzero(n;[u / v])
7. u1 : polynom(n - 1)
8. v1 : polynom(n - 1) List
9. ¬||v|| + 1 < ||v1|| + 1
10. polyform-lead-nonzero(n;[u1 / v1])
11. ¬(n = 0 ∈ ℤ)
12. A : polynom(n - 1) List
13. add-polynom(n;ff;[u / v];v1) = A ∈ (polynom(n - 1) List)
14. B : polynom(n - 1) List
15. add-polynom(n;ff;v;[u1 / v1]) = B ∈ (polynom(n - 1) List)
16. C : polynom(n - 1)
17. add-polynom(n - 1;tt;u;u1) = C ∈ polynom(n - 1)
18. E : polynom(n - 1) List
19. add-polynom(n;ff;v;v1) = E ∈ (polynom(n - 1) List)
⊢ polyform-lead-nonzero(n;if (||v1|| + 1) < (||v|| + 1)  then [u / B]  else rm-zeros(n - 1;[C / E]))
Latex:
Latex:
.....set  predicate..... 
1.  n  :  \{1...\}
2.  \mforall{}[p,q:polynom(n  -  1)].    (add-polynom(n  -  1;tt;p;q)  \mmember{}  polynom(n  -  1))
3.  \mforall{}[p,q:polynom(n  -  1)  List].  \mforall{}[rmz:\mBbbB{}].    (add-polynom(n;rmz;p;q)  \mmember{}  polynom(n  -  1)  List)
4.  p  :  polynom(n  -  1)  List
5.  polyform-lead-nonzero(n;p)
6.  q  :  polynom(n  -  1)  List
7.  polyform-lead-nonzero(n;q)
\mvdash{}  polyform-lead-nonzero(n;add-polynom(n;tt;p;q))
By
Latex:
(RecUnfold  `add-polynom`  0
  THEN  (SplitOnConclITE  THEN  Try  (Complete  (Auto)))
  THEN  Reduce  0
  THEN  RepeatFor  2  ((CallByValueReduce  0\mcdot{}  THENA  Auto))
  THEN  (DVar  `p'  THENA  Auto)
  THEN  (Reduce  0  THEN  Try  (Trivial))
  THEN  (DVar  `q'  THENA  Auto)
  THEN  (Reduce  0  THEN  Try  (Complete  (Auto)))
  THEN  RepeatFor  2  ((CallByValueReduce  0\mcdot{}  THENA  Auto))
  THEN  (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;ff;v;v1)  =  E\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  RepeatFor  2  ((CallByValueReduce  0\mcdot{}  THENA  Auto))
  THEN  AutoSplit)
Home
Index