Outcomes of loopy games #
We define when a loopy game is a win, a draw, or a loss with each player going first (under the normal play convention).
A surviving strategy for player p, going second.
This is a set of states, such that for every move the opposite player makes, p can bring it back
to the set.
You can think of this as a nonconstructive version of the more common definition of a strategy, which gives an explicit answer for every reachable state.
Equations
- LGame.IsStrategy p s = ∀ y ∈ s, ∀ z ∈ LGame.moves (-p) y, ∃ r ∈ LGame.moves p z, r ∈ s
Instances For
theorem
LGame.IsStrategy.neg
{p : Player}
{s : Set LGame}
(h : IsStrategy p s)
:
IsStrategy (-p) (-s)
@[simp]
theorem
LGame.IsStrategy.iUnion
{p : Player}
{ι : Sort u_1}
{s : ι → Set LGame}
(h : ∀ (i : ι), IsStrategy p (s i))
:
IsStrategy p (⋃ (i : ι), s i)
theorem
LGame.IsStrategy.sUnion
{p : Player}
{S : Set (Set LGame)}
(h : ∀ s ∈ S, IsStrategy p s)
:
IsStrategy p (⋃₀ S)
IsDraw p x means that p draws x going first.
Equations
- LGame.IsDraw p x = (¬LGame.IsWin p x ∧ ¬LGame.IsLoss p x)
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]