Step
*
1
1
1
2
1
2
1
of Lemma
coW-trans_wf
.....set predicate..... 
1. A : 𝕌'
2. B : A ⟶ Type
3. w1 : coW(A;a.B[a])
4. w2 : coW(A;a.B[a])
5. w3 : coW(A;a.B[a])
6. n : ℤ
7. 0 < n
8. ∀[X:win2strat(coW-game(a.B[a];w1;w2);n - 1)]. ∀[Y:win2strat(coW-game(a.B[a];w2;w3);n - 1)].
     (coW-trans(X; Y) ∈ win2strat(coW-game(a.B[a];w1;w3);n - 1))
9. X : s:win2strat(coW-game(a.B[a];w1;w2);n - 1) ⋂ moves:{f:strat2play(coW-game(a.B[a];w1;w2);n - 1;s)| 
                                                          ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w1;w2))| Legal\000C2(moves[(2 * n) - 1];p)} 
10. X ∈ win2strat(coW-game(a.B[a];w1;w2);n - 1)
11. X ∈ moves:{f:strat2play(coW-game(a.B[a];w1;w2);n - 1;X)| ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w1;w2))| 
                                                                            Legal2(moves[(2 * n) - 1];p)} 
12. Y : s:win2strat(coW-game(a.B[a];w2;w3);n - 1) ⋂ moves:{f:strat2play(coW-game(a.B[a];w2;w3);n - 1;s)| 
                                                           ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w2;w3))| Lega\000Cl2(moves[(2 * n) - 1];p)} 
13. Y ∈ win2strat(coW-game(a.B[a];w2;w3);n - 1)
14. Y ∈ moves:{f:strat2play(coW-game(a.B[a];w2;w3);n - 1;Y)| ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w2;w3))| 
                                                                            Legal2(moves[(2 * n) - 1];p)} 
15. ∀k:ℕ. ((k ≤ n) 
⇒ (X ∈ win2strat(coW-game(a.B[a];w1;w2);k)))
16. ∀k:ℕ. ((k ≤ n) 
⇒ (Y ∈ win2strat(coW-game(a.B[a];w2;w3);k)))
17. moves : {f:strat2play(coW-game(a.B[a];w1;w3);n - 1;coW-trans(X; Y))| ||f|| = (2 * n) ∈ ℤ} 
18. k : ℤ
19. 0 ≤ (n - 1)
20. m1 : strat2play(coW-game(a.B[a];w1;w3);0;coW-trans(X; Y))
21. ||m1|| = 2 ∈ ℤ
22. z : copath(a.B[a];w3)
23. m1[1] = <(), z> ∈ Pos(coW-game(a.B[a];w1;w3))
24. m1[0] = InitialPos(coW-game(a.B[a];w1;w3)) ∈ Pos(coW-game(a.B[a];w1;w3))
25. copath-length(z) = 1 ∈ ℤ
26. copathAgree(a.B[a];w3;();z)
27. seq-add(seq-add(seq-nil();<(), ()>);<(), z>) ∈ {f:strat2play(coW-game(a.B[a];w2;w3);0;Y)| ||f|| = 2 ∈ ℤ} 
28. mm : strat2play(coW-game(a.B[a];w2;w3);0;Y)
29. ||mm|| = 2 ∈ ℤ
30. seq-add(seq-add(seq-nil();<(), ()>);<(), z>) = mm ∈ {f:strat2play(coW-game(a.B[a];w2;w3);0;Y)| ||f|| = 2 ∈ ℤ} 
31. Y ∈ win2strat(coW-game(a.B[a];w2;w3);0)
32. Y ∈ moves:{f:strat2play(coW-game(a.B[a];w2;w3);0;Y)| ||f|| = 2 ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w2;w3))| Legal2(moves\000C[1];p)} 
33. v1 : copath(a.B[a];w2)
34. v2 : copath(a.B[a];w3)
35. Legal2(mm[1];<v1, v2>)
36. (Y mm) = <v1, v2> ∈ {p:Pos(coW-game(a.B[a];w2;w3))| Legal2(mm[1];p)} 
37. seq-add(seq-add(seq-nil();<(), ()>);<(), v1>) ∈ strat2play(coW-game(a.B[a];w1;w2);0;X)
⊢ let a,b = <seq-add(seq-add(seq-nil();<(), ()>);<(), v1>), mm> 
  in coWtransInvariant(a.B[a];w1;w2;w3;0;X;Y;a;b;m1)
BY
{ ((Assert mm[1] = <(), z> ∈ Pos(coW-game(a.B[a];w2;w3)) BY
          (RWO "-8<" 0 THEN Auto))
   THEN ((RWO "-1" (-4) THENA Auto) THEN RepUR ``sg-legal2 coW-game`` -4 THEN D -4)
   THEN RepUR ``sg-pos coW-game`` -1
   THEN D -5) }
1
1. A : 𝕌'
2. B : A ⟶ Type
3. w1 : coW(A;a.B[a])
4. w2 : coW(A;a.B[a])
5. w3 : coW(A;a.B[a])
6. n : ℤ
7. 0 < n
8. ∀[X:win2strat(coW-game(a.B[a];w1;w2);n - 1)]. ∀[Y:win2strat(coW-game(a.B[a];w2;w3);n - 1)].
     (coW-trans(X; Y) ∈ win2strat(coW-game(a.B[a];w1;w3);n - 1))
9. X : s:win2strat(coW-game(a.B[a];w1;w2);n - 1) ⋂ moves:{f:strat2play(coW-game(a.B[a];w1;w2);n - 1;s)| 
                                                          ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w1;w2))| Legal\000C2(moves[(2 * n) - 1];p)} 
10. X ∈ win2strat(coW-game(a.B[a];w1;w2);n - 1)
11. X ∈ moves:{f:strat2play(coW-game(a.B[a];w1;w2);n - 1;X)| ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w1;w2))| 
                                                                            Legal2(moves[(2 * n) - 1];p)} 
12. Y : s:win2strat(coW-game(a.B[a];w2;w3);n - 1) ⋂ moves:{f:strat2play(coW-game(a.B[a];w2;w3);n - 1;s)| 
                                                           ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w2;w3))| Lega\000Cl2(moves[(2 * n) - 1];p)} 
13. Y ∈ win2strat(coW-game(a.B[a];w2;w3);n - 1)
14. Y ∈ moves:{f:strat2play(coW-game(a.B[a];w2;w3);n - 1;Y)| ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w2;w3))| 
                                                                            Legal2(moves[(2 * n) - 1];p)} 
15. ∀k:ℕ. ((k ≤ n) 
⇒ (X ∈ win2strat(coW-game(a.B[a];w1;w2);k)))
16. ∀k:ℕ. ((k ≤ n) 
⇒ (Y ∈ win2strat(coW-game(a.B[a];w2;w3);k)))
17. moves : {f:strat2play(coW-game(a.B[a];w1;w3);n - 1;coW-trans(X; Y))| ||f|| = (2 * n) ∈ ℤ} 
18. k : ℤ
19. 0 ≤ (n - 1)
20. m1 : strat2play(coW-game(a.B[a];w1;w3);0;coW-trans(X; Y))
21. ||m1|| = 2 ∈ ℤ
22. z : copath(a.B[a];w3)
23. m1[1] = <(), z> ∈ Pos(coW-game(a.B[a];w1;w3))
24. m1[0] = InitialPos(coW-game(a.B[a];w1;w3)) ∈ Pos(coW-game(a.B[a];w1;w3))
25. copath-length(z) = 1 ∈ ℤ
26. copathAgree(a.B[a];w3;();z)
27. seq-add(seq-add(seq-nil();<(), ()>);<(), z>) ∈ {f:strat2play(coW-game(a.B[a];w2;w3);0;Y)| ||f|| = 2 ∈ ℤ} 
28. mm : strat2play(coW-game(a.B[a];w2;w3);0;Y)
29. ||mm|| = 2 ∈ ℤ
30. seq-add(seq-add(seq-nil();<(), ()>);<(), z>) = mm ∈ {f:strat2play(coW-game(a.B[a];w2;w3);0;Y)| ||f|| = 2 ∈ ℤ} 
31. Y ∈ win2strat(coW-game(a.B[a];w2;w3);0)
32. Y ∈ moves:{f:strat2play(coW-game(a.B[a];w2;w3);0;Y)| ||f|| = 2 ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w2;w3))| Legal2(moves\000C[1];p)} 
33. v1 : copath(a.B[a];w2)
34. v2 : copath(a.B[a];w3)
35. (copath-length(v1) = 1 ∈ ℤ) ∧ copathAgree(a.B[a];w2;();v1) ∧ (z = v2 ∈ copath(a.B[a];w3))
36. copath-length(v1) = copath-length(v2) ∈ ℤ
37. (Y mm) = <v1, v2> ∈ {p:Pos(coW-game(a.B[a];w2;w3))| Legal2(mm[1];p)} 
38. seq-add(seq-add(seq-nil();<(), ()>);<(), v1>) ∈ strat2play(coW-game(a.B[a];w1;w2);0;X)
39. mm[1] = <(), z> ∈ (copath(a.B[a];w2) × copath(a.B[a];w3))
⊢ let a,b = <seq-add(seq-add(seq-nil();<(), ()>);<(), v1>), mm> 
  in coWtransInvariant(a.B[a];w1;w2;w3;0;X;Y;a;b;m1)
2
1. A : 𝕌'
2. B : A ⟶ Type
3. w1 : coW(A;a.B[a])
4. w2 : coW(A;a.B[a])
5. w3 : coW(A;a.B[a])
6. n : ℤ
7. 0 < n
8. ∀[X:win2strat(coW-game(a.B[a];w1;w2);n - 1)]. ∀[Y:win2strat(coW-game(a.B[a];w2;w3);n - 1)].
     (coW-trans(X; Y) ∈ win2strat(coW-game(a.B[a];w1;w3);n - 1))
9. X : s:win2strat(coW-game(a.B[a];w1;w2);n - 1) ⋂ moves:{f:strat2play(coW-game(a.B[a];w1;w2);n - 1;s)| 
                                                          ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w1;w2))| Legal\000C2(moves[(2 * n) - 1];p)} 
10. X ∈ win2strat(coW-game(a.B[a];w1;w2);n - 1)
11. X ∈ moves:{f:strat2play(coW-game(a.B[a];w1;w2);n - 1;X)| ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w1;w2))| 
                                                                            Legal2(moves[(2 * n) - 1];p)} 
12. Y : s:win2strat(coW-game(a.B[a];w2;w3);n - 1) ⋂ moves:{f:strat2play(coW-game(a.B[a];w2;w3);n - 1;s)| 
                                                           ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w2;w3))| Lega\000Cl2(moves[(2 * n) - 1];p)} 
13. Y ∈ win2strat(coW-game(a.B[a];w2;w3);n - 1)
14. Y ∈ moves:{f:strat2play(coW-game(a.B[a];w2;w3);n - 1;Y)| ||f|| = (2 * n) ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w2;w3))| 
                                                                            Legal2(moves[(2 * n) - 1];p)} 
15. ∀k:ℕ. ((k ≤ n) 
⇒ (X ∈ win2strat(coW-game(a.B[a];w1;w2);k)))
16. ∀k:ℕ. ((k ≤ n) 
⇒ (Y ∈ win2strat(coW-game(a.B[a];w2;w3);k)))
17. moves : {f:strat2play(coW-game(a.B[a];w1;w3);n - 1;coW-trans(X; Y))| ||f|| = (2 * n) ∈ ℤ} 
18. k : ℤ
19. 0 ≤ (n - 1)
20. m1 : strat2play(coW-game(a.B[a];w1;w3);0;coW-trans(X; Y))
21. ||m1|| = 2 ∈ ℤ
22. z : copath(a.B[a];w3)
23. m1[1] = <(), z> ∈ Pos(coW-game(a.B[a];w1;w3))
24. m1[0] = InitialPos(coW-game(a.B[a];w1;w3)) ∈ Pos(coW-game(a.B[a];w1;w3))
25. copath-length(z) = 1 ∈ ℤ
26. copathAgree(a.B[a];w3;();z)
27. seq-add(seq-add(seq-nil();<(), ()>);<(), z>) ∈ {f:strat2play(coW-game(a.B[a];w2;w3);0;Y)| ||f|| = 2 ∈ ℤ} 
28. mm : strat2play(coW-game(a.B[a];w2;w3);0;Y)
29. ||mm|| = 2 ∈ ℤ
30. seq-add(seq-add(seq-nil();<(), ()>);<(), z>) = mm ∈ {f:strat2play(coW-game(a.B[a];w2;w3);0;Y)| ||f|| = 2 ∈ ℤ} 
31. Y ∈ win2strat(coW-game(a.B[a];w2;w3);0)
32. Y ∈ moves:{f:strat2play(coW-game(a.B[a];w2;w3);0;Y)| ||f|| = 2 ∈ ℤ}  ⟶ {p:Pos(coW-game(a.B[a];w2;w3))| Legal2(moves\000C[1];p)} 
33. v1 : copath(a.B[a];w2)
34. v2 : copath(a.B[a];w3)
35. (() = v1 ∈ copath(a.B[a];w2)) ∧ (copath-length(v2) = (copath-length(z) + 1) ∈ ℤ) ∧ copathAgree(a.B[a];w3;z;v2)
36. copath-length(v1) = copath-length(v2) ∈ ℤ
37. (Y mm) = <v1, v2> ∈ {p:Pos(coW-game(a.B[a];w2;w3))| Legal2(mm[1];p)} 
38. seq-add(seq-add(seq-nil();<(), ()>);<(), v1>) ∈ strat2play(coW-game(a.B[a];w1;w2);0;X)
39. mm[1] = <(), z> ∈ (copath(a.B[a];w2) × copath(a.B[a];w3))
⊢ let a,b = <seq-add(seq-add(seq-nil();<(), ()>);<(), v1>), mm> 
  in coWtransInvariant(a.B[a];w1;w2;w3;0;X;Y;a;b;m1)
Latex:
Latex:
.....set  predicate..... 
1.  A  :  \mBbbU{}'
2.  B  :  A  {}\mrightarrow{}  Type
3.  w1  :  coW(A;a.B[a])
4.  w2  :  coW(A;a.B[a])
5.  w3  :  coW(A;a.B[a])
6.  n  :  \mBbbZ{}
7.  0  <  n
8.  \mforall{}[X:win2strat(coW-game(a.B[a];w1;w2);n  -  1)].  \mforall{}[Y:win2strat(coW-game(a.B[a];w2;w3);n  -  1)].
          (coW-trans(X;  Y)  \mmember{}  win2strat(coW-game(a.B[a];w1;w3);n  -  1))
9.  X  :  s:win2strat(coW-game(a.B[a];w1;w2);n  -  1)
              \mcap{}  moves:\{f:strat2play(coW-game(a.B[a];w1;w2);n  -  1;s)|  ||f||  =  (2  *  n)\} 
              {}\mrightarrow{}  \{p:Pos(coW-game(a.B[a];w1;w2))|  Legal2(moves[(2  *  n)  -  1];p)\} 
10.  X  \mmember{}  win2strat(coW-game(a.B[a];w1;w2);n  -  1)
11.  X  \mmember{}  moves:\{f:strat2play(coW-game(a.B[a];w1;w2);n  -  1;X)|  ||f||  =  (2  *  n)\} 
        {}\mrightarrow{}  \{p:Pos(coW-game(a.B[a];w1;w2))|  Legal2(moves[(2  *  n)  -  1];p)\} 
12.  Y  :  s:win2strat(coW-game(a.B[a];w2;w3);n  -  1)
                \mcap{}  moves:\{f:strat2play(coW-game(a.B[a];w2;w3);n  -  1;s)|  ||f||  =  (2  *  n)\} 
                {}\mrightarrow{}  \{p:Pos(coW-game(a.B[a];w2;w3))|  Legal2(moves[(2  *  n)  -  1];p)\} 
13.  Y  \mmember{}  win2strat(coW-game(a.B[a];w2;w3);n  -  1)
14.  Y  \mmember{}  moves:\{f:strat2play(coW-game(a.B[a];w2;w3);n  -  1;Y)|  ||f||  =  (2  *  n)\} 
        {}\mrightarrow{}  \{p:Pos(coW-game(a.B[a];w2;w3))|  Legal2(moves[(2  *  n)  -  1];p)\} 
15.  \mforall{}k:\mBbbN{}.  ((k  \mleq{}  n)  {}\mRightarrow{}  (X  \mmember{}  win2strat(coW-game(a.B[a];w1;w2);k)))
16.  \mforall{}k:\mBbbN{}.  ((k  \mleq{}  n)  {}\mRightarrow{}  (Y  \mmember{}  win2strat(coW-game(a.B[a];w2;w3);k)))
17.  moves  :  \{f:strat2play(coW-game(a.B[a];w1;w3);n  -  1;coW-trans(X;  Y))|  ||f||  =  (2  *  n)\} 
18.  k  :  \mBbbZ{}
19.  0  \mleq{}  (n  -  1)
20.  m1  :  strat2play(coW-game(a.B[a];w1;w3);0;coW-trans(X;  Y))
21.  ||m1||  =  2
22.  z  :  copath(a.B[a];w3)
23.  m1[1]  =  <(),  z>
24.  m1[0]  =  InitialPos(coW-game(a.B[a];w1;w3))
25.  copath-length(z)  =  1
26.  copathAgree(a.B[a];w3;();z)
27.  seq-add(seq-add(seq-nil();<(),  ()>);<(),  z>)  \mmember{}  \{f:strat2play(coW-game(a.B[a];w2;w3);0;Y)|  ||f||  \000C=  2\} 
28.  mm  :  strat2play(coW-game(a.B[a];w2;w3);0;Y)
29.  ||mm||  =  2
30.  seq-add(seq-add(seq-nil();<(),  ()>);<(),  z>)  =  mm
31.  Y  \mmember{}  win2strat(coW-game(a.B[a];w2;w3);0)
32.  Y  \mmember{}  moves:\{f:strat2play(coW-game(a.B[a];w2;w3);0;Y)|  ||f||  =  2\}    {}\mrightarrow{}  \{p:Pos(coW-game(a.B[a];w2;w3\000C))| 
                                                                                                                            Legal2(moves[1];p)\} 
33.  v1  :  copath(a.B[a];w2)
34.  v2  :  copath(a.B[a];w3)
35.  Legal2(mm[1];<v1,  v2>)
36.  (Y  mm)  =  <v1,  v2>
37.  seq-add(seq-add(seq-nil();<(),  ()>);<(),  v1>)  \mmember{}  strat2play(coW-game(a.B[a];w1;w2);0;X)
\mvdash{}  let  a,b  =  <seq-add(seq-add(seq-nil();<(),  ()>);<(),  v1>),  mm> 
    in  coWtransInvariant(a.B[a];w1;w2;w3;0;X;Y;a;b;m1)
By
Latex:
((Assert  mm[1]  =  <(),  z>  BY
                (RWO  "-8<"  0  THEN  Auto))
  THEN  ((RWO  "-1"  (-4)  THENA  Auto)  THEN  RepUR  ``sg-legal2  coW-game``  -4  THEN  D  -4)
  THEN  RepUR  ``sg-pos  coW-game``  -1
  THEN  D  -5)
Home
Index