LeanPool.AFormalizationOfBorelDeterminacyInLean.Proof.One.PreLift #
Auxiliary declarations for the Borel determinacy formalization.
structure
GaleStewartGame.BorelDet.One.PreLift
{A : Type u_1}
{G : Game A}
{k : ℕ}
(hyp : Hyp G k)
:
Type u_1
Auxiliary declaration for the Borel determinacy formalization.
- x : ↥G.tree
Auxiliary declaration for the Borel determinacy formalization.
- R : ResStrategy (gameAsTrees hyp) Player.one (2 * k + 1)
Auxiliary declaration for the Borel determinacy formalization.
Instances For
theorem
GaleStewartGame.BorelDet.One.PreLift.gameTree_eq
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : PreLift hyp)
:
Descriptive.Tree.subAt (getTree' hyp ↑(Descriptive.Tree.pInv (treeHom hyp) (Descriptive.Tree.take (2 * k) H.x) ⋯))
[(↑H.x)[2 * k]] = Descriptive.Tree.subAt G.tree (List.take (2 * k + 1) ↑H.x)
@[implicit_reducible]
instance
GaleStewartGame.BorelDet.One.PreLift.instPartialOrder
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
:
PartialOrder (PreLift hyp)
Equations
- One or more equations did not get rendered due to their size.
structure
GaleStewartGame.BorelDet.One.Lift
{A : Type u_1}
{G : Game A}
{k : ℕ}
(hyp : Hyp G k)
extends GaleStewartGame.BorelDet.One.PreLift hyp :
Type u_1
Auxiliary declaration for the Borel determinacy formalization.
- R : ResStrategy (gameAsTrees hyp) Player.one (2 * k + 1)
- liftTree : ↥(Descriptive.tree A)
Auxiliary declaration for the Borel determinacy formalization.
- htree : ∃ (S : QuasiStrategy (Descriptive.Tree.subAt G.tree (List.take (2 * k + 1) ↑self.x)) Player.one), self.liftTree = S.fst.subtree
Instances For
@[implicit_reducible]
instance
GaleStewartGame.BorelDet.One.instPreorderLift
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
:
Equations
- GaleStewartGame.BorelDet.One.instPreorderLift = { le := fun (p q : GaleStewartGame.BorelDet.One.Lift hyp) => p.toPreLift ≤ q.toPreLift, le_refl := ⋯, le_trans := ⋯, lt_iff_le_not_ge := ⋯ }
noncomputable def
GaleStewartGame.BorelDet.One.Lift.liftVeryShort
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : Lift hyp)
:
↥(gameTree hyp)
Auxiliary declaration for the Borel determinacy formalization.
Equations
- H.liftVeryShort = ⟨↑(Descriptive.Tree.pInv (GaleStewartGame.BorelDet.treeHom hyp) (Descriptive.Tree.take (2 * k) H.x) ⋯) ++ [((↑H.x)[2 * k], H.liftTree)], ⋯⟩
Instances For
structure
GaleStewartGame.BorelDet.One.Lift'
{A : Type u_1}
{G : Game A}
{k : ℕ}
(hyp : Hyp G k)
extends GaleStewartGame.BorelDet.One.Lift hyp :
Type u_1
Auxiliary declaration for the Borel determinacy formalization.
- R : ResStrategy (gameAsTrees hyp) Player.one (2 * k + 1)
- liftTree : ↥(Descriptive.tree A)
- htree : ∃ (S : QuasiStrategy (Descriptive.Tree.subAt G.tree (List.take (2 * k + 1) ↑self.x)) Player.one), self.liftTree = S.fst.subtree
- con : self.Con
Instances For
@[implicit_reducible]
instance
GaleStewartGame.BorelDet.One.instPreorderLift'
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
:
Equations
- GaleStewartGame.BorelDet.One.instPreorderLift' = { le := fun (p q : GaleStewartGame.BorelDet.One.Lift' hyp) => p.toLift ≤ q.toLift, le_refl := ⋯, le_trans := ⋯, lt_iff_le_not_ge := ⋯ }
def
GaleStewartGame.BorelDet.One.PreLift.extend
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : PreLift hyp)
(S : QuasiStrategy (Descriptive.Tree.subAt G.tree (List.take (2 * k + 1) ↑H.x)) Player.one)
:
Lift hyp
Auxiliary declaration for the Borel determinacy formalization.
Instances For
@[simp]
theorem
GaleStewartGame.BorelDet.One.PreLift.extend_liftTree
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : PreLift hyp)
(S : QuasiStrategy (Descriptive.Tree.subAt G.tree (List.take (2 * k + 1) ↑H.x)) Player.one)
:
@[simp]
theorem
GaleStewartGame.BorelDet.One.PreLift.extend_toPreLift
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : PreLift hyp)
(S : QuasiStrategy (Descriptive.Tree.subAt G.tree (List.take (2 * k + 1) ↑H.x)) Player.one)
:
def
GaleStewartGame.BorelDet.One.PreLift.game
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : PreLift hyp)
:
Game A
Auxiliary declaration for the Borel determinacy formalization.
Equations
- H.game = { tree := Descriptive.Tree.subAt G.tree (List.take (2 * k + 1) ↑H.x), payoff := Subtype.val ⁻¹' ⋃ u ∈ H.WonPos, Stream'.Discrete.principalOpen u }
Instances For
theorem
GaleStewartGame.BorelDet.One.PreLift.extend_take
{A : Type u_1}
{G : Game A}
{k n : ℕ}
{hyp : Hyp G k}
(H : PreLift hyp)
(h : 2 * k < n)
(S : QuasiStrategy (Descriptive.Tree.subAt G.tree (List.take (2 * k + 1) ↑(H.take n h).x)) Player.one)
:
def
GaleStewartGame.BorelDet.One.PreLift.Winnable
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : PreLift hyp)
:
Auxiliary declaration for the Borel determinacy formalization.
Equations
- H.Winnable = GaleStewartGame.PreStrategy.WinningPrefix H.game GaleStewartGame.Player.zero (List.drop (2 * k + 1) ↑H.x)
Instances For
def
GaleStewartGame.BorelDet.One.PreLift.Losable'
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : PreLift hyp)
:
Auxiliary declaration for the Borel determinacy formalization.
Equations
- H.Losable' = ¬GaleStewartGame.PreStrategy.WinningPrefix H.game GaleStewartGame.Player.zero (List.drop (2 * k + 1) ↑H.x)