Step
*
1
1
of Lemma
good-sg-win2
.....assertion..... 
1. g : SimpleGame
2. Good : Pos(g) ⟶ ℙ'
3. g0 : Good[InitialPos(g)]
4. ∀p:Pos(g). ∀q:{q:Pos(g)| Legal1(p;q)} . ∀gd:Good[p].  ∃r:{r:Pos(g)| Legal2(q;r)} . Good[r]
5. F : p:Pos(g) ⟶ q:{q:Pos(g)| Legal1(p;q)}  ⟶ gd:Good[p] ⟶ {r:Pos(g)| Legal2(q;r)} 
6. G : ∀p:Pos(g). ∀q:{q:Pos(g)| Legal1(p;q)} . ∀gd:Good[p].  Good[F p q gd]
7. n : ℤ
8. 0 < n
9. λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1] goodAux(g0;G;moves)) ∈ win2strat(g;n - 1)
10. ¬(n = 0 ∈ ℤ)
11. moves : strat2play(g;n - 1;λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1] goodAux(g0;G;moves)))
12. ||moves|| = (2 * n) ∈ ℤ
⊢ (goodAux(g0;G;moves) ∈ Good[moves[(2 * n) - 2]]) ∧ (↓Legal1(moves[(2 * n) - 2];moves[(2 * n) - 1]))
BY
{ ((InstLemma `strat2play-invariant-1` [⌜g⌝;⌜n - 1⌝;⌜λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1] 
                                                             goodAux(g0;G;moves))⌝;⌜moves⌝]⋅
    THENA Auto
    )
   THEN D 0
   ) }
1
1. g : SimpleGame
2. Good : Pos(g) ⟶ ℙ'
3. g0 : Good[InitialPos(g)]
4. ∀p:Pos(g). ∀q:{q:Pos(g)| Legal1(p;q)} . ∀gd:Good[p].  ∃r:{r:Pos(g)| Legal2(q;r)} . Good[r]
5. F : p:Pos(g) ⟶ q:{q:Pos(g)| Legal1(p;q)}  ⟶ gd:Good[p] ⟶ {r:Pos(g)| Legal2(q;r)} 
6. G : ∀p:Pos(g). ∀q:{q:Pos(g)| Legal1(p;q)} . ∀gd:Good[p].  Good[F p q gd]
7. n : ℤ
8. 0 < n
9. λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1] goodAux(g0;G;moves)) ∈ win2strat(g;n - 1)
10. ¬(n = 0 ∈ ℤ)
11. moves : strat2play(g;n - 1;λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1] goodAux(g0;G;moves)))
12. ||moves|| = (2 * n) ∈ ℤ
13. (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] goodAux(g0;G;moves))) 
               play-truncate(moves;2 * (i + 1)))
            ∈ Pos(g))))))
⊢ goodAux(g0;G;moves) ∈ Good[moves[(2 * n) - 2]]
2
1. g : SimpleGame
2. Good : Pos(g) ⟶ ℙ'
3. g0 : Good[InitialPos(g)]
4. ∀p:Pos(g). ∀q:{q:Pos(g)| Legal1(p;q)} . ∀gd:Good[p].  ∃r:{r:Pos(g)| Legal2(q;r)} . Good[r]
5. F : p:Pos(g) ⟶ q:{q:Pos(g)| Legal1(p;q)}  ⟶ gd:Good[p] ⟶ {r:Pos(g)| Legal2(q;r)} 
6. G : ∀p:Pos(g). ∀q:{q:Pos(g)| Legal1(p;q)} . ∀gd:Good[p].  Good[F p q gd]
7. n : ℤ
8. 0 < n
9. λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1] goodAux(g0;G;moves)) ∈ win2strat(g;n - 1)
10. ¬(n = 0 ∈ ℤ)
11. moves : strat2play(g;n - 1;λmoves.(F moves[||moves|| - 2] moves[||moves|| - 1] goodAux(g0;G;moves)))
12. ||moves|| = (2 * n) ∈ ℤ
13. (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] goodAux(g0;G;moves))) 
               play-truncate(moves;2 * (i + 1)))
            ∈ Pos(g))))))
⊢ ↓Legal1(moves[(2 * n) - 2];moves[(2 * n) - 1])
Latex:
Latex:
.....assertion..... 
1.  g  :  SimpleGame
2.  Good  :  Pos(g)  {}\mrightarrow{}  \mBbbP{}'
3.  g0  :  Good[InitialPos(g)]
4.  \mforall{}p:Pos(g).  \mforall{}q:\{q:Pos(g)|  Legal1(p;q)\}  .  \mforall{}gd:Good[p].    \mexists{}r:\{r:Pos(g)|  Legal2(q;r)\}  .  Good[r]
5.  F  :  p:Pos(g)  {}\mrightarrow{}  q:\{q:Pos(g)|  Legal1(p;q)\}    {}\mrightarrow{}  gd:Good[p]  {}\mrightarrow{}  \{r:Pos(g)|  Legal2(q;r)\} 
6.  G  :  \mforall{}p:Pos(g).  \mforall{}q:\{q:Pos(g)|  Legal1(p;q)\}  .  \mforall{}gd:Good[p].    Good[F  p  q  gd]
7.  n  :  \mBbbZ{}
8.  0  <  n
9.  \mlambda{}moves.(F  moves[||moves||  -  2]  moves[||moves||  -  1]  goodAux(g0;G;moves))  \mmember{}  win2strat(g;n  -  1)
10.  \mneg{}(n  =  0)
11.  moves  :  strat2play(g;n  -  1;\mlambda{}moves.(F  moves[||moves||  -  2]  moves[||moves||  -  1] 
                                                                              goodAux(g0;G;moves)))
12.  ||moves||  =  (2  *  n)
\mvdash{}  (goodAux(g0;G;moves)  \mmember{}  Good[moves[(2  *  n)  -  2]])
\mwedge{}  (\mdownarrow{}Legal1(moves[(2  *  n)  -  2];moves[(2  *  n)  -  1]))
By
Latex:
((InstLemma  `strat2play-invariant-1`  [\mkleeneopen{}g\mkleeneclose{};\mkleeneopen{}n  -  1\mkleeneclose{};\mkleeneopen{}\mlambda{}moves.(F  moves[||moves||  -  2] 
                                                                                                                      moves[||moves||  -  1] 
                                                                                                                      goodAux(g0;G;moves))\mkleeneclose{};\mkleeneopen{}moves\mkleeneclose{}]\mcdot{}
    THENA  Auto
    )
  THEN  D  0
  )
Home
Index