Step
*
1
of Lemma
coW-play-invariant
.....basecase..... 
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:ℕn + 1
     ((↓Legal1(moves[2 * i];moves[(2 * i) + 1]))
     ∧ (i < n
       
⇒ ((↓Legal2(moves[(2 * i) + 1];moves[2 * (i + 1)]))
          ∧ (moves[2 * (i + 1)] = (s play-truncate(moves;2 * (i + 1))) ∈ Pos(coW-game(a.B[a];w;w'))))))
⊢ ((0 ≤ n)
⇒ (coW-pos-lens(moves[2 * 0];0;0)
   ∧ (coW-pos-lens(moves[(2 * 0) + 1];0;0 + 1) ∨ coW-pos-lens(moves[(2 * 0) + 1];0 + 1;0))))
∧ ((0 ≤ ((2 * n) + 1)) 
⇒ (∀j:ℕ0 + 1. coW-pos-agree(a.B[a];w;w';moves[j];moves[0])))
BY
{ (Reduce 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:ℕn + 1
     ((↓Legal1(moves[2 * i];moves[(2 * i) + 1]))
     ∧ (i < n
       
⇒ ((↓Legal2(moves[(2 * i) + 1];moves[2 * (i + 1)]))
          ∧ (moves[2 * (i + 1)] = (s play-truncate(moves;2 * (i + 1))) ∈ Pos(coW-game(a.B[a];w;w'))))))
10. 0 ≤ n
⊢ coW-pos-lens(moves[0];0;0)
2
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:ℕn + 1
     ((↓Legal1(moves[2 * i];moves[(2 * i) + 1]))
     ∧ (i < n
       
⇒ ((↓Legal2(moves[(2 * i) + 1];moves[2 * (i + 1)]))
          ∧ (moves[2 * (i + 1)] = (s play-truncate(moves;2 * (i + 1))) ∈ Pos(coW-game(a.B[a];w;w'))))))
10. 0 ≤ n
11. coW-pos-lens(moves[0];0;0)
⊢ coW-pos-lens(moves[1];0;1) ∨ coW-pos-lens(moves[1];1;0)
3
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:ℕn + 1
     ((↓Legal1(moves[2 * i];moves[(2 * i) + 1]))
     ∧ (i < n
       
⇒ ((↓Legal2(moves[(2 * i) + 1];moves[2 * (i + 1)]))
          ∧ (moves[2 * (i + 1)] = (s play-truncate(moves;2 * (i + 1))) ∈ Pos(coW-game(a.B[a];w;w'))))))
10. (0 ≤ n) 
⇒ (coW-pos-lens(moves[0];0;0) ∧ (coW-pos-lens(moves[1];0;1) ∨ coW-pos-lens(moves[1];1;0)))
11. 0 ≤ ((2 * n) + 1)
12. j : ℕ1
⊢ coW-pos-agree(a.B[a];w;w';moves[j];moves[0])
Latex:
Latex:
.....basecase..... 
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.  \mforall{}i:\mBbbN{}n  +  1
          ((\mdownarrow{}Legal1(moves[2  *  i];moves[(2  *  i)  +  1]))
          \mwedge{}  (i  <  n
              {}\mRightarrow{}  ((\mdownarrow{}Legal2(moves[(2  *  i)  +  1];moves[2  *  (i  +  1)]))
                    \mwedge{}  (moves[2  *  (i  +  1)]  =  (s  play-truncate(moves;2  *  (i  +  1)))))))
\mvdash{}  ((0  \mleq{}  n)
{}\mRightarrow{}  (coW-pos-lens(moves[2  *  0];0;0)
      \mwedge{}  (coW-pos-lens(moves[(2  *  0)  +  1];0;0  +  1)  \mvee{}  coW-pos-lens(moves[(2  *  0)  +  1];0  +  1;0))))
\mwedge{}  ((0  \mleq{}  ((2  *  n)  +  1))  {}\mRightarrow{}  (\mforall{}j:\mBbbN{}0  +  1.  coW-pos-agree(a.B[a];w;w';moves[j];moves[0])))
By
Latex:
(Reduce  0  THEN  Auto)
Home
Index