Step
*
2
3
1
1
1
1
2
1
of Lemma
coW-play-invariant
1. i : ℤ
2. [A] : 𝕌'
3. B : A ⟶ Type
4. w : coW(A;a.B[a])
5. w' : coW(A;a.B[a])
6. n : ℕ
7. s : win2strat(coW-game(a.B[a];w;w');n)
8. moves : strat2play(coW-game(a.B[a];w;w');n;s)
9. moves[0] = InitialPos(coW-game(a.B[a];w;w')) ∈ Pos(coW-game(a.B[a];w;w'))
10. [%4] : 0 < i
11. ((i - 1) ≤ n)
⇒ (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)))
12. ((i - 1) ≤ ((2 * n) + 1)) 
⇒ (∀j:ℕ(i - 1) + 1. coW-pos-agree(a.B[a];w;w';moves[j];moves[i - 1]))
13. (i ≤ n)
⇒ (coW-pos-lens(moves[2 * i];i;i)
   ∧ (coW-pos-lens(moves[(2 * i) + 1];i;i + 1) ∨ coW-pos-lens(moves[(2 * i) + 1];i + 1;i)))
14. 1 ≤ i
15. i ≤ ((2 * n) + 1)
16. (i - 1) = ((((i - 1) ÷ 2) * 2) + 1) ∈ ℤ
17. 0 ≤ ((i - 1) ÷ 2)
18. 0 ≤ 1
19. 1 < 2
20. ↓Legal1(moves[2 * ((i - 1) ÷ 2)];moves[i - 1])
21. (i - 1) ÷ 2 < n
⇒ ((↓Legal2(moves[i - 1];moves[i])) ∧ (moves[i] = (s play-truncate(moves;i)) ∈ Pos(coW-game(a.B[a];w;w'))))
22. ¬(1 = 0 ∈ ℤ)
23. (i - 1 rem 2) = 1 ∈ ℤ
24. ((2 * ((i - 1) ÷ 2)) + 1) = (i - 1) ∈ ℤ
⊢ coW-pos-agree(a.B[a];w;w';moves[i - 1];moves[i])
BY
{ ((D -4 THENA Auto) THEN D -1 THEN Thin (-1)) }
1
1. i : ℤ
2. [A] : 𝕌'
3. B : A ⟶ Type
4. w : coW(A;a.B[a])
5. w' : coW(A;a.B[a])
6. n : ℕ
7. s : win2strat(coW-game(a.B[a];w;w');n)
8. moves : strat2play(coW-game(a.B[a];w;w');n;s)
9. moves[0] = InitialPos(coW-game(a.B[a];w;w')) ∈ Pos(coW-game(a.B[a];w;w'))
10. [%4] : 0 < i
11. ((i - 1) ≤ n)
⇒ (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)))
12. ((i - 1) ≤ ((2 * n) + 1)) 
⇒ (∀j:ℕ(i - 1) + 1. coW-pos-agree(a.B[a];w;w';moves[j];moves[i - 1]))
13. (i ≤ n)
⇒ (coW-pos-lens(moves[2 * i];i;i)
   ∧ (coW-pos-lens(moves[(2 * i) + 1];i;i + 1) ∨ coW-pos-lens(moves[(2 * i) + 1];i + 1;i)))
14. 1 ≤ i
15. i ≤ ((2 * n) + 1)
16. (i - 1) = ((((i - 1) ÷ 2) * 2) + 1) ∈ ℤ
17. 0 ≤ ((i - 1) ÷ 2)
18. 0 ≤ 1
19. 1 < 2
20. ↓Legal1(moves[2 * ((i - 1) ÷ 2)];moves[i - 1])
21. ¬(1 = 0 ∈ ℤ)
22. (i - 1 rem 2) = 1 ∈ ℤ
23. ((2 * ((i - 1) ÷ 2)) + 1) = (i - 1) ∈ ℤ
24. ↓Legal2(moves[i - 1];moves[i])
⊢ coW-pos-agree(a.B[a];w;w';moves[i - 1];moves[i])
Latex:
Latex:
1.  i  :  \mBbbZ{}
2.  [A]  :  \mBbbU{}'
3.  B  :  A  {}\mrightarrow{}  Type
4.  w  :  coW(A;a.B[a])
5.  w'  :  coW(A;a.B[a])
6.  n  :  \mBbbN{}
7.  s  :  win2strat(coW-game(a.B[a];w;w');n)
8.  moves  :  strat2play(coW-game(a.B[a];w;w');n;s)
9.  moves[0]  =  InitialPos(coW-game(a.B[a];w;w'))
10.  [\%4]  :  0  <  i
11.  ((i  -  1)  \mleq{}  n)
{}\mRightarrow{}  (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)))
12.  ((i  -  1)  \mleq{}  ((2  *  n)  +  1))  {}\mRightarrow{}  (\mforall{}j:\mBbbN{}(i  -  1)  +  1.  coW-pos-agree(a.B[a];w;w';moves[j];moves[i  -  1]))
13.  (i  \mleq{}  n)
{}\mRightarrow{}  (coW-pos-lens(moves[2  *  i];i;i)
      \mwedge{}  (coW-pos-lens(moves[(2  *  i)  +  1];i;i  +  1)  \mvee{}  coW-pos-lens(moves[(2  *  i)  +  1];i  +  1;i)))
14.  1  \mleq{}  i
15.  i  \mleq{}  ((2  *  n)  +  1)
16.  (i  -  1)  =  ((((i  -  1)  \mdiv{}  2)  *  2)  +  1)
17.  0  \mleq{}  ((i  -  1)  \mdiv{}  2)
18.  0  \mleq{}  1
19.  1  <  2
20.  \mdownarrow{}Legal1(moves[2  *  ((i  -  1)  \mdiv{}  2)];moves[i  -  1])
21.  (i  -  1)  \mdiv{}  2  <  n  {}\mRightarrow{}  ((\mdownarrow{}Legal2(moves[i  -  1];moves[i]))  \mwedge{}  (moves[i]  =  (s  play-truncate(moves;i))))
22.  \mneg{}(1  =  0)
23.  (i  -  1  rem  2)  =  1
24.  ((2  *  ((i  -  1)  \mdiv{}  2))  +  1)  =  (i  -  1)
\mvdash{}  coW-pos-agree(a.B[a];w;w';moves[i  -  1];moves[i])
By
Latex:
((D  -4  THENA  Auto)  THEN  D  -1  THEN  Thin  (-1))
Home
Index