LeanPool.AFormalizationOfBorelDeterminacyInLean.Game.BuildStrategies #
Auxiliary declarations for the Borel determinacy formalization.
try following PreStrategy planA if possible, else follow planB
Instances For
Equations
- GaleStewartGame.PreStrategy.instOrderBot T p = { bot := fun (x : ↥T) (x_1 : GaleStewartGame.IsPosition (↑x) p) => ∅, bot_le := ⋯ }
Equations
- GaleStewartGame.PreStrategy.instOrderTop T p = { top := fun (x : ↥T) (x_1 : GaleStewartGame.IsPosition (↑x) p) => Set.univ, le_top := ⋯ }
Auxiliary declaration for the Borel determinacy formalization.
Equations
- GaleStewartGame.PreStrategy.emptyStrategy A p x x✝ = False.elim ⋯
Instances For
Auxiliary declaration for the Borel determinacy formalization.
Instances For
sew a map from possible opponent moves to strategies in the resulting residual games to a strategy in the original game
Equations
Instances For
in the first move, play a, then follow s
Equations
Instances For
play such that the proposition P x holds in every position x resulting from your move
Equations
- GaleStewartGame.PreStrategy.preserveProp P x hp = {a : Descriptive.Tree.ExtensionsAt x | P a.valT' ⋯}
Instances For
a position is winning if there is a winning strategy in the residual game
Equations
- G.WinningPosition x p = (G.residual x).ExistsWinning p
Instances For
a position is won if it cannot be lost by playing however
Equations
- G.WonPosition x p = (G.residual x).AllWinning p
Instances For
the defensive PreStrategy never moves into a winning position of the opponent
Equations
- G.defensivePre p = GaleStewartGame.PreStrategy.preserveProp fun (x : ↥G.tree) (x_1 : GaleStewartGame.IsPosition (↑x) p.swap) => ¬G.WinningPosition ↑x
Instances For
Auxiliary declaration for the Borel determinacy formalization.
Equations
- G.defensiveQuasi p = (G.defensivePre p).extQuasi
Instances For
Auxiliary declaration for the Borel determinacy formalization.
Equations
- S.followUntilWon x hp = if G.WonPosition (↑x) (GaleStewartGame.Player.residual (↑x) p) then Set.univ else S x hp