Step
*
1
1
1
1
of Lemma
implies-sg-win2
1. g : SimpleGame
2. Good : Pos(g) ⟶ ℙ
3. F : p:Pos(g) ⟶ q:Pos(g) ⟶ Pos(g)
4. Good[InitialPos(g)]
5. ∀p:{p:Pos(g)| Good[p]} . ∀q:{q:Pos(g)| Legal1(p;q)} .  (Good[F[p;q]] ∧ Legal2(q;F[p;q]))
6. n : ℤ
7. 0 < n
8. λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1]) ∈ win2strat(g;n - 1)
9. ¬(n = 0 ∈ ℤ)
10. moves : strat2play(g;n - 1;λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1]))
11. ||moves|| = (2 * n) ∈ ℤ
12. (moves[0] = InitialPos(g) ∈ Pos(g))
∧ (∀i:ℕ(n - 1) + 1
     ((↓Legal1(moves[2 * i];moves[(2 * i) + 1]))
     ∧ (i < n - 1
       
⇒ ((↓Legal2(moves[(2 * i) + 1];moves[2 * (i + 1)]))
          ∧ (moves[2 * (i + 1)]
            = ((λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1])) play-truncate(moves;2 * (i + 1)))
            ∈ Pos(g))))))
⊢ ↓Good[moves[(2 * n) - 2]]
BY
{ Assert ⌜∀k:ℕ. ((k ≤ (n - 1)) 
⇒ (↓Good[moves[2 * k]]))⌝⋅ }
1
.....assertion..... 
1. g : SimpleGame
2. Good : Pos(g) ⟶ ℙ
3. F : p:Pos(g) ⟶ q:Pos(g) ⟶ Pos(g)
4. Good[InitialPos(g)]
5. ∀p:{p:Pos(g)| Good[p]} . ∀q:{q:Pos(g)| Legal1(p;q)} .  (Good[F[p;q]] ∧ Legal2(q;F[p;q]))
6. n : ℤ
7. 0 < n
8. λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1]) ∈ win2strat(g;n - 1)
9. ¬(n = 0 ∈ ℤ)
10. moves : strat2play(g;n - 1;λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1]))
11. ||moves|| = (2 * n) ∈ ℤ
12. (moves[0] = InitialPos(g) ∈ Pos(g))
∧ (∀i:ℕ(n - 1) + 1
     ((↓Legal1(moves[2 * i];moves[(2 * i) + 1]))
     ∧ (i < n - 1
       
⇒ ((↓Legal2(moves[(2 * i) + 1];moves[2 * (i + 1)]))
          ∧ (moves[2 * (i + 1)]
            = ((λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1])) play-truncate(moves;2 * (i + 1)))
            ∈ Pos(g))))))
⊢ ∀k:ℕ. ((k ≤ (n - 1)) 
⇒ (↓Good[moves[2 * k]]))
2
1. g : SimpleGame
2. Good : Pos(g) ⟶ ℙ
3. F : p:Pos(g) ⟶ q:Pos(g) ⟶ Pos(g)
4. Good[InitialPos(g)]
5. ∀p:{p:Pos(g)| Good[p]} . ∀q:{q:Pos(g)| Legal1(p;q)} .  (Good[F[p;q]] ∧ Legal2(q;F[p;q]))
6. n : ℤ
7. 0 < n
8. λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1]) ∈ win2strat(g;n - 1)
9. ¬(n = 0 ∈ ℤ)
10. moves : strat2play(g;n - 1;λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1]))
11. ||moves|| = (2 * n) ∈ ℤ
12. (moves[0] = InitialPos(g) ∈ Pos(g))
∧ (∀i:ℕ(n - 1) + 1
     ((↓Legal1(moves[2 * i];moves[(2 * i) + 1]))
     ∧ (i < n - 1
       
⇒ ((↓Legal2(moves[(2 * i) + 1];moves[2 * (i + 1)]))
          ∧ (moves[2 * (i + 1)]
            = ((λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1])) play-truncate(moves;2 * (i + 1)))
            ∈ Pos(g))))))
13. ∀k:ℕ. ((k ≤ (n - 1)) 
⇒ (↓Good[moves[2 * k]]))
⊢ ↓Good[moves[(2 * n) - 2]]
Latex:
Latex:
1.  g  :  SimpleGame
2.  Good  :  Pos(g)  {}\mrightarrow{}  \mBbbP{}
3.  F  :  p:Pos(g)  {}\mrightarrow{}  q:Pos(g)  {}\mrightarrow{}  Pos(g)
4.  Good[InitialPos(g)]
5.  \mforall{}p:\{p:Pos(g)|  Good[p]\}  .  \mforall{}q:\{q:Pos(g)|  Legal1(p;q)\}  .    (Good[F[p;q]]  \mwedge{}  Legal2(q;F[p;q]))
6.  n  :  \mBbbZ{}
7.  0  <  n
8.  \mlambda{}moves.(F  moves[||moves||  -  2]  moves[||moves||  -  1])  \mmember{}  win2strat(g;n  -  1)
9.  \mneg{}(n  =  0)
10.  moves  :  strat2play(g;n  -  1;\mlambda{}moves.(F  moves[||moves||  -  2]  moves[||moves||  -  1]))
11.  ||moves||  =  (2  *  n)
12.  (moves[0]  =  InitialPos(g))
\mwedge{}  (\mforall{}i:\mBbbN{}(n  -  1)  +  1
          ((\mdownarrow{}Legal1(moves[2  *  i];moves[(2  *  i)  +  1]))
          \mwedge{}  (i  <  n  -  1
              {}\mRightarrow{}  ((\mdownarrow{}Legal2(moves[(2  *  i)  +  1];moves[2  *  (i  +  1)]))
                    \mwedge{}  (moves[2  *  (i  +  1)]
                        =  ((\mlambda{}moves.(F  moves[||moves||  -  2]  moves[||moves||  -  1])) 
                              play-truncate(moves;2  *  (i  +  1))))))))
\mvdash{}  \mdownarrow{}Good[moves[(2  *  n)  -  2]]
By
Latex:
Assert  \mkleeneopen{}\mforall{}k:\mBbbN{}.  ((k  \mleq{}  (n  -  1))  {}\mRightarrow{}  (\mdownarrow{}Good[moves[2  *  k]]))\mkleeneclose{}\mcdot{}
Home
Index