This file builds up defs and basic theory about Gale-Stewart games. This has been done previously in Lean, for example here https://afm.episciences.org/17712/pdf
Additionally, we define various topological games.
For a reference on the theory, see https://en.wikipedia.org/wiki/Determinacy
For topological games, see https://en.wikipedia.org/wiki/Topological_game
Given some function f : ℕ → X and some natural number n,
the list of the form (f(0), f(1), ..., f(n - 1)).
Equations
- List.ofFun f 0 = []
- List.ofFun f n.succ = List.ofFun f n ++ [f n]
Instances For
On a low level, a strategy is just a function f : List X → X.
We say a function is a winning strategy for Player A, if Player A wins the game
f([]), a₁, f([a₁]), a₂, ... is payoff.
Equations
- PiBase.WinningStrategyA G f = ∀ (b : ℕ → X), (∀ (n : ℕ), b (2 * n) = f (List.ofFun b (2 * n))) → G.IsPayoff b
Instances For
A winning strategy for Player B. Note that it is possible neither A nor B have a winning strategy.
Equations
Instances For
Equations
- PiBase.HasWinningStrategyA G = ∃ (f : List X → X), PiBase.WinningStrategyA G f
Instances For
We say Player A has a k-Markov winning strategy, if they have a winning strategy only depending on the round number and the k most recent moves by the opponent.
Equations
- PiBase.HasMarkovKWinningStrategyA G k = ∃ (f : ℕ → List X → X), PiBase.MarkovKWinningStrategyA G f k
Instances For
Equations
- PiBase.HasWinningStrategyB G = ∃ (f : List X → X), PiBase.WinningStrategyB G f
Instances For
We say Player B has a k-Markov winning strategy, if they have a winning strategy only depending on the round number and the k most recent moves by the opponent.
Equations
- PiBase.HasMarkovKWinningStrategyB G k = ∃ (f : ℕ → List X → X), PiBase.MarkovKWinningStrategyB G f k
Instances For
Usually, a game has some "allowed" moves, which the players can do. If they make a disallowed move, they lose immediately. This auxiliary definition is meant to formalise this behaviour.
In particle we use this definition to describe the "winning argument" in G
and the allowed moves in S.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Banach Mazur game. Usually there are conditions on X (should be topological space)
and W (each member ought to have nonempty interior), but this isn't needed for the definition.
Equations
Instances For
See https://www.sciencedirect.com/science/article/pii/S0166864121001863
Equations
- PiBase.kMengerGame X = PiBase.gFinGame {A : Set (Set X) | PiBase.IsKCover' A} {A : Set (Set X) | PiBase.IsKCover' A}
Instances For
See https://www.sciencedirect.com/science/article/pii/S0166864121001863
Equations
- PiBase.kRothbergerGame X = PiBase.g1Game {A : Set (Set X) | PiBase.IsKCover' A} {A : Set (Set X) | PiBase.IsKCover' A}
Instances For
See https://topology.pi-base.org/properties/P187
Equations
- One or more equations did not get rendered due to their size.
Instances For
See https://topology.pi-base.org/properties/P206
Equations
- One or more equations did not get rendered due to their size.
Instances For
The proximal game. The condition Inhabited X is an implementation detail; in theory it could
also be played on the empty space, but that makes the lean definition much uglier.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Transport of a payoff condition through a relabelling e of the moves, for games built
with Game.ofAllowed.
The k-Markov analogue of HasWinningStrategyB.of_equiv.
Transporting topological move families #
Taking preimages under a homeomorphism is a bijection between subsets.
Equations
Instances For
Taking preimages under a homeomorphism is a bijection between families of subsets.
Equations
Instances For
The payoff conditions of the Menger games correspond under a homeomorphism.