Documentation

LeanPool.AFormalizationOfBorelDeterminacyInLean.Proof.One.Lift

LeanPool.AFormalizationOfBorelDeterminacyInLean.Proof.One.Lift #

Auxiliary declarations for the Borel determinacy formalization.

noncomputable def GaleStewartGame.BorelDet.One.Lift'.extension {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :

Auxiliary declaration for the Borel determinacy formalization.

Equations
Instances For
    noncomputable def GaleStewartGame.BorelDet.One.Lift'.extensionMap {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :

    Auxiliary declaration for the Borel determinacy formalization.

    Equations
    Instances For
      @[simp]
      theorem GaleStewartGame.BorelDet.One.Lift'.extension_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :
      @[simp]
      theorem GaleStewartGame.BorelDet.One.Lift'.extensionMap_take {A : Type u_1} {G : Game A} {k n : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) (h : n (↑H.x).length) :
      noncomputable def GaleStewartGame.BorelDet.One.Lift'.extensionLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :
      Lift hyp

      Auxiliary declaration for the Borel determinacy formalization.

      Equations
      Instances For
        @[simp]
        theorem GaleStewartGame.BorelDet.One.Lift'.extensionLift_liftTree {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :
        @[simp]
        theorem GaleStewartGame.BorelDet.One.Lift'.extensionLift_x {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :
        (H.extensionLift hp R).x = (H.extensionMap hp R).valT'
        @[simp]
        theorem GaleStewartGame.BorelDet.One.Lift'.extensionLift_R {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :
        (H.extensionLift hp R).R = H.R
        @[simp]
        theorem GaleStewartGame.BorelDet.One.Lift'.extensionLift_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :
        (H.extensionLift hp R).take (↑H.x).length = H.toLift
        @[simp]
        theorem GaleStewartGame.BorelDet.One.Lift'.extensionLift_liftShort {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :
        @[simp]
        theorem GaleStewartGame.BorelDet.One.Lift'.extensionLift_wonPos {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :
        noncomputable def GaleStewartGame.BorelDet.One.Lift'.extensionLift' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) (hR : ResStrategy.res R = H.R) :
        Lift' hyp

        Auxiliary declaration for the Borel determinacy formalization.

        Equations
        Instances For
          @[simp]
          theorem GaleStewartGame.BorelDet.One.Lift'.extensionLift'_toLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) (hR : ResStrategy.res R = H.R) :
          theorem GaleStewartGame.BorelDet.One.Lift'.extensionLift'_game {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) (hR : ResStrategy.res R = H.R) :
          (H.extensionLift' hp R hR).game = H.game
          @[simp]
          theorem GaleStewartGame.BorelDet.One.Lift'.extensionLift'_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift' hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) (hR : ResStrategy.res R = H.R) :
          (H.extensionLift' hp R hR).take (↑H.x).length = H
          theorem GaleStewartGame.BorelDet.One.PreLift.Losable'.losable'_of_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : PreLift hyp} (hL : H'.Losable') (h : H H') :
          structure GaleStewartGame.BorelDet.One.PreLift.LLift {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.

          Instances For

            Auxiliary declaration for the Borel determinacy formalization.

            Equations
            Instances For
              theorem GaleStewartGame.BorelDet.One.PreLift.LLift.S_winning {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : LLift hyp) :
              def GaleStewartGame.BorelDet.One.PreLift.LLift.toLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : LLift hyp) :
              Lift hyp

              Auxiliary declaration for the Borel determinacy formalization.

              Equations
              Instances For
                @[simp]
                theorem GaleStewartGame.BorelDet.One.PreLift.LLift.toLift_liftTree {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : LLift hyp) :
                @[simp]
                theorem GaleStewartGame.BorelDet.One.PreLift.LLift.toLift_mono {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : LLift hyp} (h : H.toPreLift H'.toPreLift) :
                theorem GaleStewartGame.BorelDet.One.PreLift.LLift.concat_mem_tree {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : LLift hyp) {y : List A} {a : A} (hp : IsPosition y Player.zero) (ha : List.take (2 * k + 1) H.x ++ (↑H.toLift.liftShort)[2 * k + 1].1 :: (y ++ [a]) G.tree) (hy : y getTree' hyp H.toLift.liftShort) (hw : ¬H.game.WinningPosition ((↑H.toLift.liftShort)[2 * k + 1].1 :: y ++ [a])) :
                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
                Instances For
                  theorem GaleStewartGame.BorelDet.One.PreLift.Losable.losable_of_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : PreLift hyp} (hL : H'.Losable) (h : H H') :
                  def GaleStewartGame.BorelDet.One.PreLift.Losable.lift' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Losable) :
                  Lift' hyp

                  Auxiliary declaration for the Borel determinacy formalization.

                  Equations
                  Instances For
                    @[simp]
                    theorem GaleStewartGame.BorelDet.One.PreLift.Losable.lift'_toLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Losable) :
                    h.lift'.toLift = { toPreLift := H, los := }.toLift
                    theorem GaleStewartGame.BorelDet.One.PreLift.Won.won_of_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : PreLift hyp} (hW : H.Won) (h : H H') :
                    H'.Won
                    structure GaleStewartGame.BorelDet.One.PreLift.WLift {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.

                    Instances For
                      theorem GaleStewartGame.BorelDet.One.PreLift.WLift.winnable {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                      theorem GaleStewartGame.BorelDet.One.PreLift.WLift.exists_prefix {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                      ∃ (n : ) (h : 2 * k < n), (H.take n h).Won
                      noncomputable def GaleStewartGame.BorelDet.One.PreLift.WLift.minLength {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :

                      Auxiliary declaration for the Borel determinacy formalization.

                      Equations
                      Instances For
                        @[simp]
                        theorem GaleStewartGame.BorelDet.One.PreLift.WLift.minLength_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                        theorem GaleStewartGame.BorelDet.One.PreLift.WLift.le_minLength {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                        2 * k + 1 H.minLength
                        @[simp]
                        theorem GaleStewartGame.BorelDet.One.PreLift.WLift.le_minLength' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :

                        Auxiliary declaration for the Borel determinacy formalization.

                        theorem GaleStewartGame.BorelDet.One.PreLift.WLift.lt_minLength {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                        2 * k < H.minLength

                        Auxiliary declaration for the Borel determinacy formalization.

                        noncomputable def GaleStewartGame.BorelDet.One.PreLift.WLift.takeMin {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :

                        Auxiliary declaration for the Borel determinacy formalization.

                        Equations
                        Instances For
                          @[simp]
                          theorem GaleStewartGame.BorelDet.One.PreLift.WLift.takeMin_x_coe {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                          @[simp]
                          theorem GaleStewartGame.BorelDet.One.PreLift.WLift.takeMin_R {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                          H.takeMin.R = H.R
                          @[simp]
                          theorem GaleStewartGame.BorelDet.One.PreLift.WLift.takeMin_wonPos {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                          theorem GaleStewartGame.BorelDet.One.PreLift.WLift.min_prefix {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                          noncomputable def GaleStewartGame.BorelDet.One.PreLift.WLift.u {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                          H.WonPos

                          Auxiliary declaration for the Borel determinacy formalization.

                          Equations
                          Instances For
                            noncomputable def GaleStewartGame.BorelDet.One.PreLift.WLift.S {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :

                            Auxiliary declaration for the Borel determinacy formalization.

                            Equations
                            Instances For
                              theorem GaleStewartGame.BorelDet.One.PreLift.WLift.u_spec {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                              H.u <+: List.drop (2 * k + 1) H.takeMin.x
                              theorem GaleStewartGame.BorelDet.One.PreLift.WLift.u_spec' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                              H.u <+: List.drop (2 * k + 1) H.x
                              theorem GaleStewartGame.BorelDet.One.PreLift.WLift.u_nil {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                              H.u []
                              @[simp]
                              theorem GaleStewartGame.BorelDet.One.PreLift.WLift.getTree_liftShort {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                              noncomputable def GaleStewartGame.BorelDet.One.PreLift.WLift.toLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                              Lift hyp

                              Auxiliary declaration for the Borel determinacy formalization.

                              Equations
                              Instances For
                                @[simp]
                                theorem GaleStewartGame.BorelDet.One.PreLift.WLift.toLift_liftTree {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                                @[simp]
                                theorem GaleStewartGame.BorelDet.One.PreLift.WLift.u_zero {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                                (↑H.u)[0] = (↑H.toLift.liftShort)[2 * k + 1].1
                                noncomputable def GaleStewartGame.BorelDet.One.PreLift.WLift.toLift' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                                Lift' hyp

                                Auxiliary declaration for the Borel determinacy formalization.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem GaleStewartGame.BorelDet.One.PreLift.WLift.toLift'_toLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                                  theorem GaleStewartGame.BorelDet.One.PreLift.WLift.hEq_fst {α α' : Sort u} {β : αSort v} {β' : α'Sort v} (x : PSigma β) (y : PSigma β') (h : α = α') (h' : β β') (h'' : x y) :
                                  x.fst y.fst
                                  theorem GaleStewartGame.BorelDet.One.PreLift.WLift.minLength_eq_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : WLift hyp} (h : H.toPreLift H'.toPreLift) :
                                  theorem GaleStewartGame.BorelDet.One.PreLift.WLift.takeMin_eq_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : WLift hyp} (h : H.toPreLift H'.toPreLift) :
                                  theorem GaleStewartGame.BorelDet.One.PreLift.WLift.u_eq_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : WLift hyp} (h : H.toPreLift H'.toPreLift) :
                                  H.u H'.u
                                  @[simp]
                                  theorem GaleStewartGame.BorelDet.One.PreLift.WLift.u_min_prefix {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                                  { toPreLift := H.takeMin, won := }.u = H.u
                                  theorem GaleStewartGame.BorelDet.One.PreLift.WLift.uprop' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLift hyp) :
                                  { toPreLift := H.takeMin, won := }.u H.takeMin.WonPos
                                  theorem GaleStewartGame.BorelDet.One.PreLift.WLift.toLift_mono {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : WLift hyp} (h : H.toPreLift H'.toPreLift) :
                                  noncomputable def GaleStewartGame.BorelDet.One.PreLift.Won.lift' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Won) :
                                  Lift' hyp

                                  Auxiliary declaration for the Borel determinacy formalization.

                                  Equations
                                  Instances For
                                    @[simp]
                                    theorem GaleStewartGame.BorelDet.One.PreLift.Won.lift'_toLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Won) :
                                    h.lift'.toLift = { toPreLift := H, won := h }.toLift
                                    theorem GaleStewartGame.BorelDet.One.PreLift.Winnable.winnable_of_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : PreLift hyp} (hW : H.Winnable) (h : H H') :
                                    noncomputable def GaleStewartGame.BorelDet.One.PreLift.Winnable.takeMin {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Winnable) :

                                    Auxiliary declaration for the Borel determinacy formalization.

                                    Equations
                                    Instances For
                                      @[simp]
                                      theorem GaleStewartGame.BorelDet.One.PreLift.Winnable.takeMin_R {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Winnable) :
                                      h.takeMin.R = H.R
                                      @[simp]
                                      theorem GaleStewartGame.BorelDet.One.PreLift.Winnable.takeMin_x_coe {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Winnable) :
                                      noncomputable def GaleStewartGame.BorelDet.One.PreLift.Winnable.x' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Winnable) :

                                      Auxiliary declaration for the Borel determinacy formalization.

                                      Equations
                                      Instances For
                                        @[simp]
                                        theorem GaleStewartGame.BorelDet.One.PreLift.Winnable.x'_coe {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Winnable) :
                                        noncomputable def GaleStewartGame.BorelDet.One.PreLift.Winnable.a {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Winnable) (hp : IsPosition (↑H.x) Player.one) :

                                        Auxiliary declaration for the Borel determinacy formalization.

                                        Equations
                                        Instances For
                                          noncomputable def GaleStewartGame.BorelDet.One.PreLift.Winnable.extension {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Winnable) (hp : IsPosition (↑H.x) Player.one) :

                                          Auxiliary declaration for the Borel determinacy formalization.

                                          Equations
                                          Instances For
                                            noncomputable def GaleStewartGame.BorelDet.One.PreLift.extension {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :

                                            Auxiliary declaration for the Borel determinacy formalization.

                                            Equations
                                            Instances For
                                              theorem GaleStewartGame.BorelDet.One.PreLift.extension_losable {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H : PreLift hyp} (h : H.Losable) (hp : IsPosition (↑H.x) Player.one) (R : ResStrategy (gameAsTrees hyp) Player.one (↑H.x).length) :