Step * 1 1 2 of Lemma coW-trans_wf


1. : 𝕌'
2. A ⟶ Type
3. w1 coW(A;a.B[a])
4. w2 coW(A;a.B[a])
5. w3 coW(A;a.B[a])
6. : ℤ
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. 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. 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. : ℤ
19. 0 < k
20. ∀[moves:{f:strat2play(coW-game(a.B[a];w1;w3);k 1;coW-trans(X; Y))| ||f|| ((2 (k 1)) 2) ∈ ℤ]
      (transMoves(X;Y;moves) ∈ {p:strat2play(coW-game(a.B[a];w1;w2);k 1;X)
                                × strat2play(coW-game(a.B[a];w2;w3);k 1;Y)| 
                                let a,b 
                                in coWtransInvariant(a.B[a];w1;w2;w3;k 1;X;Y;a;b;moves)} 
    supposing (k 1) ≤ (n 1)
21. k ≤ (n 1)
22. m1 {f:strat2play(coW-game(a.B[a];w1;w3);k;coW-trans(X; Y))| ||f|| ((2 k) 2) ∈ ℤ
⊢ transMoves(X;Y;m1) ∈ {p:strat2play(coW-game(a.B[a];w1;w2);k;X) × strat2play(coW-game(a.B[a];w2;w3);k;Y)| 
                        let a,b 
                        in coWtransInvariant(a.B[a];w1;w2;w3;k;X;Y;a;b;m1)} 
BY
(D -1
   THEN Unfold `play-len` -1
   THEN Unfold `transMoves` 0
   THEN (D -4 THENA Auto)
   THEN ((Assert 1 ≤ BY Auto) THEN (Mul ⌜2⌝ (-1)⋅ THENA Auto))
   THEN (SplitOnConclITE THENA Auto)
   THEN Try ((Assert ⌜False⌝⋅ THEN Complete (Auto)))
   THEN -4 With ⌜seq-truncate(m1;||m1|| 2)⌝ }

1
.....wf..... 
1. : 𝕌'
2. A ⟶ Type
3. w1 coW(A;a.B[a])
4. w2 coW(A;a.B[a])
5. w3 coW(A;a.B[a])
6. : ℤ
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. 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. 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. : ℤ
19. 0 < k
20. k ≤ (n 1)
21. m1 strat2play(coW-game(a.B[a];w1;w3);k;coW-trans(X; Y))
22. ||m1|| ((2 k) 2) ∈ ℤ
23. 1 ≤ k
24. (2 1) ≤ (2 k)
25. ¬(||m1|| 0 ∈ ℤ)
⊢ seq-truncate(m1;||m1|| 2) ∈ {f:strat2play(coW-game(a.B[a];w1;w3);k 1;coW-trans(X; Y))| 
                                 ||f|| ((2 (k 1)) 2) ∈ ℤ

2
1. : 𝕌'
2. A ⟶ Type
3. w1 coW(A;a.B[a])
4. w2 coW(A;a.B[a])
5. w3 coW(A;a.B[a])
6. : ℤ
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. 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. 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. : ℤ
19. 0 < k
20. k ≤ (n 1)
21. m1 strat2play(coW-game(a.B[a];w1;w3);k;coW-trans(X; Y))
22. ||m1|| ((2 k) 2) ∈ ℤ
23. 1 ≤ k
24. (2 1) ≤ (2 k)
25. ¬(||m1|| 0 ∈ ℤ)
26. transMoves(X;Y;seq-truncate(m1;||m1|| 2)) ∈ {p:strat2play(coW-game(a.B[a];w1;w2);k 1;X)
                                                   × strat2play(coW-game(a.B[a];w2;w3);k 1;Y)| 
                                                   let a,b 
                                                   in coWtransInvariant(a.B[a];w1;w2;w3;k 
                                                      1;X;Y;a;b;seq-truncate(m1;||m1|| 2))} 
⊢ let a,b transMoves(X;Y;seq-truncate(m1;||m1|| 2)) 
  in let x,z1 if (||m1|| =z 2) then <(), ()> else fi  
     in let z2,y if (||m1|| =z 2) then <(), ()> else fi  
        in let u,v m1[||m1|| 1] 
           in if copath-length(x) <copath-length(u)
              then let M1 seq-add(seq-add(a;<x, z1>);<u, z1>in
                    let M2 seq-add(seq-add(b;<z2, y>);<snd((X M1)), y>in
                    <M1, M2>
              else let M2 seq-add(seq-add(b;<z2, y>);<z2, v>in
                    let M1 seq-add(seq-add(a;<x, z1>);<x, fst((Y M2))>in
                    <M1, M2>
              fi  ∈ {p:strat2play(coW-game(a.B[a];w1;w2);k;X) × strat2play(coW-game(a.B[a];w2;w3);k;Y)| 
                     let a,b 
                     in coWtransInvariant(a.B[a];w1;w2;w3;k;X;Y;a;b;m1)} 


Latex:


Latex:

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  <  k
20.  \mforall{}[moves:\{f:strat2play(coW-game(a.B[a];w1;w3);k  -  1;coW-trans(X;  Y))| 
                          ||f||  =  ((2  *  (k  -  1))  +  2)\}  ]
            (transMoves(X;Y;moves)  \mmember{}  \{p:strat2play(coW-game(a.B[a];w1;w2);k  -  1;X)
                                                                \mtimes{}  strat2play(coW-game(a.B[a];w2;w3);k  -  1;Y)| 
                                                                let  a,b  =  p 
                                                                in  coWtransInvariant(a.B[a];w1;w2;w3;k  -  1;X;Y;a;b;moves)\}  ) 
        supposing  (k  -  1)  \mleq{}  (n  -  1)
21.  k  \mleq{}  (n  -  1)
22.  m1  :  \{f:strat2play(coW-game(a.B[a];w1;w3);k;coW-trans(X;  Y))|  ||f||  =  ((2  *  k)  +  2)\} 
\mvdash{}  transMoves(X;Y;m1)  \mmember{}  \{p:strat2play(coW-game(a.B[a];w1;w2);k;X)
                                                \mtimes{}  strat2play(coW-game(a.B[a];w2;w3);k;Y)| 
                                                let  a,b  =  p 
                                                in  coWtransInvariant(a.B[a];w1;w2;w3;k;X;Y;a;b;m1)\} 


By


Latex:
(D  -1
  THEN  Unfold  `play-len`  -1
  THEN  Unfold  `transMoves`  0
  THEN  (D  -4  THENA  Auto)
  THEN  ((Assert  1  \mleq{}  k  BY  Auto)  THEN  (Mul  \mkleeneopen{}2\mkleeneclose{}  (-1)\mcdot{}  THENA  Auto))
  THEN  (SplitOnConclITE  THENA  Auto)
  THEN  Try  ((Assert  \mkleeneopen{}False\mkleeneclose{}\mcdot{}  THEN  Complete  (Auto)))
  THEN  D  -4  With  \mkleeneopen{}seq-truncate(m1;||m1||  -  2)\mkleeneclose{}  )




Home Index