LeanPool.AFormalizationOfBorelDeterminacyInLean.Proof.Zero.TreeLift #
Auxiliary declarations for the Borel determinacy formalization.
noncomputable def
GaleStewartGame.BorelDet.Zero.stratMap
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(lvl : ℕ)
(R : ResStrategy (gameAsTrees hyp) Player.zero lvl)
:
ResStrategy (oldAsTrees hyp) Player.zero lvl
Auxiliary declaration for the Borel determinacy formalization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
GaleStewartGame.BorelDet.Zero.stratMap'
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(R : Strategy (gameTree hyp) Player.zero)
:
Auxiliary declaration for the Borel determinacy formalization.
Equations
- GaleStewartGame.BorelDet.Zero.stratMap' R x hp = GaleStewartGame.BorelDet.Zero.stratMap (↑x).length ((GaleStewartGame.strategyEquivSystem R).str (↑x).length) x hp ⋯
Instances For
theorem
GaleStewartGame.BorelDet.Zero.stratMap'_short
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(R : Strategy (gameTree hyp) Player.zero)
(x : ↥G.tree)
(hp : IsPosition (↑x) Player.zero)
(hx : (↑x).length ≤ 2 * k)
:
stratMap' R x hp = ResStrategy.fromMap (treeHom hyp) ⋯ ((strategyEquivSystem R).str (↑x).length) x hp ⋯
structure
GaleStewartGame.BorelDet.Zero.TreeLift
{A : Type u_1}
{G : Game A}
{k : ℕ}
(hyp : Hyp G k)
:
Type u_1
Auxiliary declaration for the Borel determinacy formalization.
- R : Strategy (gameTree hyp) Player.zero
Auxiliary declaration for the Borel determinacy formalization.
Auxiliary declaration for the Borel determinacy formalization.
Instances For
def
GaleStewartGame.BorelDet.Zero.TreeLift.preLift
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : TreeLift hyp)
:
PreLift hyp
Auxiliary declaration for the Borel determinacy formalization.
Equations
- H.preLift = { x := (GaleStewartGame.BorelDet.Zero.stratMap' H.R).pre.subtreeIncl H.x, hlvl := ⋯, R := (GaleStewartGame.strategyEquivSystem H.R).str (2 * k) }
Instances For
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.pInv_fixing
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
{n : ℕ}
(H : TreeLift hyp)
(h : n ≤ 2 * k)
:
Descriptive.Tree.Fixing (↑((stratMap' H.R).pre.subtreeIncl (Descriptive.Tree.take n H.x))).length (treeHom hyp)
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.pInv_isPosition
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
{n : ℕ}
(H : TreeLift hyp)
(h : n ≤ 2 * k)
{p : Player}
(hp : IsPosition (List.take n ↑H.x) p)
:
IsPosition (↑(Descriptive.Tree.pInv (treeHom hyp) ((stratMap' H.R).pre.subtreeIncl (Descriptive.Tree.take n H.x)) ⋯)) p
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.pInv_fixing_short
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : TreeLift hyp)
:
Descriptive.Tree.Fixing (↑(Descriptive.Tree.take (2 * k) ((stratMap' H.R).pre.subtreeIncl H.x))).length (treeHom hyp)
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.pInv_isPosition_short
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : TreeLift hyp)
:
IsPosition
(↑(Descriptive.Tree.pInv (treeHom hyp) (Descriptive.Tree.take (2 * k) ((stratMap' H.R).pre.subtreeIncl H.x)) ⋯))
Player.zero
noncomputable def
GaleStewartGame.BorelDet.Zero.TreeLift.extension
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : TreeLift hyp)
(hp : IsPosition (↑H.x) Player.zero)
:
Auxiliary declaration for the Borel determinacy formalization.
Equations
Instances For
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.extension_val_congr
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
{H H' : TreeLift hyp}
(h : H = H')
{hp : IsPosition (↑H.x) Player.zero}
:
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.x_mem_tree_short'
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
{n : ℕ}
(H : TreeLift hyp)
(h' : 2 * k + 2 ≤ (↑H.x).length)
(h : n ≤ 2 * k)
(hp : IsPosition (List.take n ↑H.x) Player.zero)
:
Descriptive.Tree.take (n + 1) (H.lift h').liftShort = (H.R (Descriptive.Tree.pInv (treeHom hyp) ((stratMap' H.R).pre.subtreeIncl (Descriptive.Tree.take n H.x)) ⋯) ⋯).valT'
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.x_mem_tree_short
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
{n : ℕ}
(H : TreeLift hyp)
(h' : 2 * k + 2 ≤ (↑H.x).length)
(h : n ≤ 2 * k)
(hp : IsPosition (List.take n ↑H.x) Player.zero)
:
(↑(H.lift h').liftShort)[n] = ↑(H.R (Descriptive.Tree.pInv (treeHom hyp) ((stratMap' H.R).pre.subtreeIncl (Descriptive.Tree.take n H.x)) ⋯) ⋯)
noncomputable def
GaleStewartGame.BorelDet.Zero.TreeLift.wLLift'
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : TreeLift hyp)
(hWL : H.WinnableOrLost)
:
WLLift' hyp
Auxiliary declaration for the Borel determinacy formalization.
Equations
Instances For
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.lift_mem_tree_short
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
(H : TreeLift hyp)
(hWL : H.WinnableOrLost)
(n : ℕ)
(hn : n < 2 * k + 1)
(hp : IsPosition (↑(Descriptive.Tree.take n (H.wLLift' hWL).lift)) Player.zero)
:
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.wLift'_eq_wLLift'_long
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
{n : ℕ}
(H : TreeLift hyp)
{h : 2 * k + 2 ≤ (↑H.x).length}
(hW : (H.lift h).Winnable)
(hp : IsPosition (↑(Descriptive.Tree.take n hW.toWLift'.lift)) Player.zero)
:
↑(H.R (Descriptive.Tree.take n hW.toWLift'.lift) hp) = ↑(H.R (Descriptive.Tree.take n (H.wLLift' ⋯).lift) ⋯)
theorem
GaleStewartGame.BorelDet.Zero.TreeLift.lLift'_eq_wLLift'_long
{A : Type u_1}
{G : Game A}
{k : ℕ}
{hyp : Hyp G k}
{n : ℕ}
(H : TreeLift hyp)
{h : 2 * k + 2 ≤ (↑H.x).length}
(hL : (H.lift h).Lost)
(hp : IsPosition (↑(Descriptive.Tree.take n hL.toLLift'.lift)) Player.zero)
:
↑(H.R (Descriptive.Tree.take n hL.toLLift'.lift) hp) = ↑(H.R (Descriptive.Tree.take n (H.wLLift' ⋯).lift) ⋯)