Step
*
2
1
1
1
of Lemma
coW-play-invariant
1. [A] : 𝕌'
2. B : A ⟶ Type
3. w : coW(A;a.B[a])
4. w' : coW(A;a.B[a])
5. n : ℕ
6. s : win2strat(coW-game(a.B[a];w;w');n)
7. moves : strat2play(coW-game(a.B[a];w;w');n;s)
8. moves[0] = InitialPos(coW-game(a.B[a];w;w')) ∈ Pos(coW-game(a.B[a];w;w'))
9. i : ℤ
10. [%4] : 0 < i
11. i ≤ n
12. coW-pos-lens(moves[2 * (i - 1)];i - 1;i - 1)
∧ (coW-pos-lens(moves[(2 * (i - 1)) + 1];i - 1;(i - 1) + 1) ∨ coW-pos-lens(moves[(2 * (i - 1)) + 1];(i - 1) + 1;i - 1))
13. ↓Legal1(moves[2 * (i - 1)];moves[(2 * (i - 1)) + 1])
14. ↓Legal2(moves[(2 * (i - 1)) + 1];moves[2 * ((i - 1) + 1)])
15. moves[2 * ((i - 1) + 1)] = (s play-truncate(moves;2 * ((i - 1) + 1))) ∈ Pos(coW-game(a.B[a];w;w'))
⊢ coW-pos-lens(moves[2 * i];i;i)
BY
{ (Thin (-1)
   THEN (Subst' (i - 1) + 1 ~ i -1 THENA Auto)
   THEN Thin (-2)
   THEN RepeatFor 2 (MoveToConcl (-1))
   THEN (GenConclTerm ⌜moves[(2 * (i - 1)) + 1]⌝⋅ THENA Auto)
   THEN Thin (-1)
   THEN RepUR ``sg-pos coW-game`` -1
   THEN D -1
   THEN (GenConclTerm ⌜moves[2 * i]⌝⋅ THENA Auto)
   THEN Thin (-1)
   THEN RepUR ``sg-pos coW-game`` -1
   THEN D -1
   THEN RepUR ``sg-legal2 coW-game coW-pos-lens`` 0
   THEN Auto) }
1
1. A : 𝕌'
2. B : A ⟶ Type
3. w : coW(A;a.B[a])
4. w' : coW(A;a.B[a])
5. n : ℕ
6. s : win2strat(coW-game(a.B[a];w;w');n)
7. moves : strat2play(coW-game(a.B[a];w;w');n;s)
8. moves[0] = InitialPos(coW-game(a.B[a];w;w')) ∈ Pos(coW-game(a.B[a];w;w'))
9. i : ℤ
10. 0 < i
11. i ≤ n
12. v1 : copath(a.B[a];w)
13. v2 : copath(a.B[a];w')
14. v3 : copath(a.B[a];w)
15. v4 : copath(a.B[a];w')
16. let u,v = moves[2 * (i - 1)] 
    in (copath-length(u) = (i - 1) ∈ ℤ) ∧ (copath-length(v) = (i - 1) ∈ ℤ)
17. ((copath-length(v1) = (i - 1) ∈ ℤ) ∧ (copath-length(v2) = ((i - 1) + 1) ∈ ℤ))
∨ ((copath-length(v1) = ((i - 1) + 1) ∈ ℤ) ∧ (copath-length(v2) = (i - 1) ∈ ℤ))
18. ((copath-length(v3) = (copath-length(v1) + 1) ∈ ℤ) ∧ copathAgree(a.B[a];w;v1;v3) ∧ (v2 = v4 ∈ copath(a.B[a];w')))
∨ ((v1 = v3 ∈ copath(a.B[a];w)) ∧ (copath-length(v4) = (copath-length(v2) + 1) ∈ ℤ) ∧ copathAgree(a.B[a];w';v2;v4))
19. copath-length(v3) = copath-length(v4) ∈ ℤ
⊢ copath-length(v3) = i ∈ ℤ
Latex:
Latex:
1.  [A]  :  \mBbbU{}'
2.  B  :  A  {}\mrightarrow{}  Type
3.  w  :  coW(A;a.B[a])
4.  w'  :  coW(A;a.B[a])
5.  n  :  \mBbbN{}
6.  s  :  win2strat(coW-game(a.B[a];w;w');n)
7.  moves  :  strat2play(coW-game(a.B[a];w;w');n;s)
8.  moves[0]  =  InitialPos(coW-game(a.B[a];w;w'))
9.  i  :  \mBbbZ{}
10.  [\%4]  :  0  <  i
11.  i  \mleq{}  n
12.  coW-pos-lens(moves[2  *  (i  -  1)];i  -  1;i  -  1)
\mwedge{}  (coW-pos-lens(moves[(2  *  (i  -  1))  +  1];i  -  1;(i  -  1)  +  1)
    \mvee{}  coW-pos-lens(moves[(2  *  (i  -  1))  +  1];(i  -  1)  +  1;i  -  1))
13.  \mdownarrow{}Legal1(moves[2  *  (i  -  1)];moves[(2  *  (i  -  1))  +  1])
14.  \mdownarrow{}Legal2(moves[(2  *  (i  -  1))  +  1];moves[2  *  ((i  -  1)  +  1)])
15.  moves[2  *  ((i  -  1)  +  1)]  =  (s  play-truncate(moves;2  *  ((i  -  1)  +  1)))
\mvdash{}  coW-pos-lens(moves[2  *  i];i;i)
By
Latex:
(Thin  (-1)
  THEN  (Subst'  (i  -  1)  +  1  \msim{}  i  -1  THENA  Auto)
  THEN  Thin  (-2)
  THEN  RepeatFor  2  (MoveToConcl  (-1))
  THEN  (GenConclTerm  \mkleeneopen{}moves[(2  *  (i  -  1))  +  1]\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  Thin  (-1)
  THEN  RepUR  ``sg-pos  coW-game``  -1
  THEN  D  -1
  THEN  (GenConclTerm  \mkleeneopen{}moves[2  *  i]\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  Thin  (-1)
  THEN  RepUR  ``sg-pos  coW-game``  -1
  THEN  D  -1
  THEN  RepUR  ``sg-legal2  coW-game  coW-pos-lens``  0
  THEN  Auto)
Home
Index