Documentation

LeanPool.AFormalizationOfBorelDeterminacyInLean.Proof.Zero.PreLift

LeanPool.AFormalizationOfBorelDeterminacyInLean.Proof.Zero.PreLift #

Auxiliary declarations for the Borel determinacy formalization.

structure GaleStewartGame.BorelDet.Zero.PreLift {A : Type u_1} {G : Game A} {k : } (hyp : Hyp G k) :
Type u_1

Auxiliary declaration for the Borel determinacy formalization.

Instances For
    theorem GaleStewartGame.BorelDet.Zero.PreLift.ext {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {x y : PreLift hyp} :
    x.x = y.x∀ (R : x.R = y.R), x = y
    theorem GaleStewartGame.BorelDet.Zero.PreLift.ext_iff {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {x y : PreLift hyp} :
    x = y x.x = y.x x.R = y.R
    theorem GaleStewartGame.BorelDet.Zero.PreLift.hlvl_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) :
    2 * k + 1 (↑H.x).length

    Auxiliary declaration for the Borel determinacy formalization.

    @[simp]
    theorem GaleStewartGame.BorelDet.Zero.PreLift.hlvl' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) :
    2 * k (↑H.x).length
    theorem GaleStewartGame.BorelDet.Zero.PreLift.pInv_take_length {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) :
    theorem GaleStewartGame.BorelDet.Zero.PreLift.pInv_take_length_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) :
    noncomputable def GaleStewartGame.BorelDet.Zero.PreLift.liftShort {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) :
    (gameTree hyp)

    Auxiliary declaration for the Borel determinacy formalization.

    Equations
    Instances For
      @[simp]
      theorem GaleStewartGame.BorelDet.Zero.PreLift.liftShort_length {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) :
      (↑H.liftShort).length = 2 * k + 1
      theorem GaleStewartGame.BorelDet.Zero.PreLift.getTree_fair {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) {y : List A} {a : A} (hy : y getTree' hyp H.liftShort) (hp : IsPosition y Player.zero) (ha : List.map Prod.fst H.liftShort ++ (y ++ [a]) G.tree) :
      y ++ [a] getTree' hyp H.liftShort
      noncomputable def GaleStewartGame.BorelDet.Zero.PreLift.game {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.Zero.PreLift.game_tree {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) :
        theorem GaleStewartGame.BorelDet.Zero.PreLift.game_closed {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) :
        def GaleStewartGame.BorelDet.Zero.PreLift.take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) (n : ) (h : 2 * k < n) :

        Auxiliary declaration for the Borel determinacy formalization.

        Equations
        Instances For
          @[simp]
          theorem GaleStewartGame.BorelDet.Zero.PreLift.take_x {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) (n : ) (h : 2 * k < n) :
          @[simp]
          theorem GaleStewartGame.BorelDet.Zero.PreLift.take_R {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) (n : ) (h : 2 * k < n) :
          (H.take n h).R = H.R
          theorem GaleStewartGame.BorelDet.Zero.PreLift.take_of_length_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : PreLift hyp) {h : 2 * k < n} (h' : (↑H.x).length n) :
          H.take n h = H
          @[simp]
          theorem GaleStewartGame.BorelDet.Zero.PreLift.take_rfl {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : PreLift hyp) :
          H.take (↑H.x).length = H
          @[simp]
          theorem GaleStewartGame.BorelDet.Zero.PreLift.take_trans {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {m n : } (H : PreLift hyp) (hm : 2 * k < m) (hn : 2 * k < n) :
          (H.take m hm).take n hn = H.take (min m n)
          @[simp]
          theorem GaleStewartGame.BorelDet.Zero.PreLift.liftShort_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : PreLift hyp) (h : 2 * k < n) :
          @[simp]
          theorem GaleStewartGame.BorelDet.Zero.PreLift.game_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : PreLift hyp) (h : 2 * k < n) :
          (H.take n h).game = H.game
          @[implicit_reducible]
          instance GaleStewartGame.BorelDet.Zero.PreLift.instLE {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} :
          LE (PreLift hyp)
          Equations
          @[simp]
          theorem GaleStewartGame.BorelDet.Zero.PreLift.le_def {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (p q : PreLift hyp) :
          (p q) = (q.take (↑p.x).length = p)
          theorem GaleStewartGame.BorelDet.Zero.PreLift.length_mono {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {p q : PreLift hyp} (h : p q) :
          (↑p.x).length (↑q.x).length
          @[implicit_reducible]
          instance GaleStewartGame.BorelDet.Zero.PreLift.instPartialOrder {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} :
          Equations
          • One or more equations did not get rendered due to their size.
          theorem GaleStewartGame.BorelDet.Zero.PreLift.take_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : PreLift hyp) {h : 2 * k < n} :
          H.take n h H
          theorem GaleStewartGame.BorelDet.Zero.PreLift.take_le_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {m n : } (H : PreLift hyp) (hm : 2 * k < m) (hn : 2 * k < n) :
          H.take m hm H.take n hn m n (↑H.x).length n
          def GaleStewartGame.BorelDet.Zero.PreLift.ConShort {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
            @[simp]
            theorem GaleStewartGame.BorelDet.Zero.PreLift.conShort_iff_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : PreLift hyp) (h : 2 * k < n) :

            Auxiliary declaration for the Borel determinacy formalization.

            def GaleStewartGame.BorelDet.Zero.PreLift.ConLong {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.Zero.PreLift.conLong_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : PreLift hyp) {h : 2 * k < n} (h' : H.ConLong) :
              (H.take n h).ConLong
              structure GaleStewartGame.BorelDet.Zero.Lift {A : Type u_1} {G : Game A} {k : } (hyp : Hyp G k) extends GaleStewartGame.BorelDet.Zero.PreLift hyp :
              Type u_1

              Auxiliary declaration for the Borel determinacy formalization.

              Instances For
                theorem GaleStewartGame.BorelDet.Zero.Lift.ext_iff {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {x y : Lift hyp} :
                theorem GaleStewartGame.BorelDet.Zero.Lift.ext {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {x y : Lift hyp} (toPreLift : x.toPreLift = y.toPreLift) :
                x = y
                @[implicit_reducible]
                instance GaleStewartGame.BorelDet.Zero.instPartialOrderLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} :
                Equations
                • One or more equations did not get rendered due to their size.
                def GaleStewartGame.BorelDet.Zero.Lift.Lost' {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) :

                Auxiliary declaration for the Borel determinacy formalization.

                Equations
                Instances For
                  def GaleStewartGame.BorelDet.Zero.Lift.Losable {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) :

                  Auxiliary declaration for the Borel determinacy formalization.

                  Equations
                  Instances For
                    def GaleStewartGame.BorelDet.Zero.Lift.Winnable {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) :

                    Auxiliary declaration for the Borel determinacy formalization.

                    Equations
                    Instances For
                      theorem GaleStewartGame.BorelDet.Zero.Lift.Winnable.conLong {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) (h : H.Winnable) :
                      @[simp]
                      theorem GaleStewartGame.BorelDet.Zero.Lift.h'lvl_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) :
                      2 * k + 2 (↑H.x).length
                      @[simp]
                      theorem GaleStewartGame.BorelDet.Zero.Lift.liftShort_val_map {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) :
                      def GaleStewartGame.BorelDet.Zero.Lift.liftNode {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) :
                      A

                      Auxiliary declaration for the Borel determinacy formalization.

                      Equations
                      Instances For
                        def GaleStewartGame.BorelDet.Zero.Lift.take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) (n : ) (h : 2 * k + 2 n) :
                        Lift hyp

                        Auxiliary declaration for the Borel determinacy formalization.

                        Equations
                        • H.take n h = { toPreLift := H.take n , h'lvl := , conShort := }
                        Instances For
                          @[simp]
                          theorem GaleStewartGame.BorelDet.Zero.Lift.take_toPreLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) (n : ) (h : 2 * k + 2 n) :
                          (H.take n h).toPreLift = H.take n
                          theorem GaleStewartGame.BorelDet.Zero.Lift.take_of_length_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : Lift hyp) {h : 2 * k + 2 n} (h' : (↑H.x).length n) :
                          H.take n h = H
                          @[simp]
                          theorem GaleStewartGame.BorelDet.Zero.Lift.take_rfl {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : Lift hyp) :
                          H.take (↑H.x).length = H
                          @[simp]
                          theorem GaleStewartGame.BorelDet.Zero.Lift.take_trans {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {m n : } (H : Lift hyp) (hm : 2 * k + 2 m) (hn : 2 * k + 2 n) :
                          (H.take m hm).take n hn = H.take (min m n)
                          @[simp]
                          theorem GaleStewartGame.BorelDet.Zero.Lift.liftNode_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : Lift hyp) (h : 2 * k + 2 n) :
                          theorem GaleStewartGame.BorelDet.Zero.Lift.eq_take_of_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {p q : Lift hyp} (h : p q) :
                          q.take (↑p.x).length = p
                          theorem GaleStewartGame.BorelDet.Zero.Lift.take_le {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : Lift hyp) {h : 2 * k + 2 n} :
                          H.take n h H
                          theorem GaleStewartGame.BorelDet.Zero.Lift.take_le_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {m n : } (H : Lift hyp) (hm : 2 * k + 2 m) (hn : 2 * k + 2 n) :
                          H.take m hm H.take n hn m n (↑H.x).length n
                          structure GaleStewartGame.BorelDet.Zero.WLLift {A : Type u_1} {G : Game A} {k : } (hyp : Hyp G k) extends GaleStewartGame.BorelDet.Zero.Lift hyp :
                          Type u_1

                          Auxiliary declaration for the Borel determinacy formalization.

                          Instances For
                            theorem GaleStewartGame.BorelDet.Zero.WLLift.ext {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {x y : WLLift hyp} (toLift : x.toLift = y.toLift) (liftTree : x.liftTree = y.liftTree) :
                            x = y
                            theorem GaleStewartGame.BorelDet.Zero.WLLift.ext_iff {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {x y : WLLift hyp} :
                            @[implicit_reducible]
                            instance GaleStewartGame.BorelDet.Zero.instPreorderWLLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} :
                            Equations
                            noncomputable def GaleStewartGame.BorelDet.Zero.WLLift.liftMediumVal {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift hyp) :
                            List (upA hyp)

                            Auxiliary declaration for the Borel determinacy formalization.

                            Equations
                            Instances For
                              @[simp]
                              theorem GaleStewartGame.BorelDet.Zero.WLLift.liftMediumVal_length {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift hyp) :
                              @[simp]
                              theorem GaleStewartGame.BorelDet.Zero.WLLift.getTree_liftMediumVal {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift hyp) :
                              @[simp]
                              theorem GaleStewartGame.BorelDet.Zero.WLLift.liftMediumVal_map {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift hyp) :
                              noncomputable def GaleStewartGame.BorelDet.Zero.WLLift.liftVal {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift hyp) :
                              List (upA hyp)

                              Auxiliary declaration for the Borel determinacy formalization.

                              Equations
                              Instances For
                                @[simp]
                                theorem GaleStewartGame.BorelDet.Zero.WLLift.liftVal_take_medium {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift hyp) :
                                @[simp]
                                theorem GaleStewartGame.BorelDet.Zero.WLLift.liftVal_take_short {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift hyp) :
                                List.take (2 * k + 1) H.liftVal = H.liftShort
                                @[simp]
                                theorem GaleStewartGame.BorelDet.Zero.WLLift.liftVal_lift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift hyp) :
                                @[simp]
                                theorem GaleStewartGame.BorelDet.Zero.WLLift.liftVal_length {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift hyp) :
                                @[simp]
                                theorem GaleStewartGame.BorelDet.Zero.WLLift.liftVal_lift_get {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {n : } (H : WLLift hyp) (h : n < H.liftVal.length) :
                                H.liftVal[n].1 = (↑H.x)[n]
                                theorem GaleStewartGame.BorelDet.Zero.WLLift.liftVal_take_eq_of_tree {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} {H H' : WLLift hyp} (h : H H') (ht : H.liftTree = H'.liftTree) :
                                structure GaleStewartGame.BorelDet.Zero.WLLift' {A : Type u_1} {G : Game A} {k : } (hyp : Hyp G k) extends GaleStewartGame.BorelDet.Zero.WLLift hyp :
                                Type u_1

                                Auxiliary declaration for the Borel determinacy formalization.

                                Instances For
                                  noncomputable def GaleStewartGame.BorelDet.Zero.WLLift'.lift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift' hyp) :
                                  (gameTree hyp)

                                  Auxiliary declaration for the Borel determinacy formalization.

                                  Equations
                                  Instances For
                                    @[simp]
                                    theorem GaleStewartGame.BorelDet.Zero.WLLift'.lift_coe {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift' hyp) :
                                    H.lift = H.liftVal
                                    noncomputable def GaleStewartGame.BorelDet.Zero.WLLift'.extension {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift' hyp) (hp : IsPosition (↑H.x) Player.zero) (R : ResStrategy (gameAsTrees hyp) Player.zero (↑H.x).length) :

                                    Auxiliary declaration for the Borel determinacy formalization.

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

                                      Auxiliary declaration for the Borel determinacy formalization.

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

                                        Auxiliary declaration for the Borel determinacy formalization.

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem GaleStewartGame.BorelDet.Zero.WLLift'.extensionPreLift_x {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift' hyp) (hp : IsPosition (↑H.x) Player.zero) (R : ResStrategy (gameAsTrees hyp) Player.zero (↑H.x).length) :
                                          @[simp]
                                          theorem GaleStewartGame.BorelDet.Zero.WLLift'.extensionPreLift_R {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift' hyp) (hp : IsPosition (↑H.x) Player.zero) (R : ResStrategy (gameAsTrees hyp) Player.zero (↑H.x).length) :
                                          (H.extensionPreLift hp R).R = H.R
                                          @[simp]
                                          theorem GaleStewartGame.BorelDet.Zero.WLLift'.extensionPreLift_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift' hyp) (hp : IsPosition (↑H.x) Player.zero) (R : ResStrategy (gameAsTrees hyp) Player.zero (↑H.x).length) :
                                          (H.extensionPreLift hp R).take (↑H.x).length = H.toPreLift
                                          @[simp]
                                          theorem GaleStewartGame.BorelDet.Zero.WLLift'.extensionPreLift_game {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift' hyp) (hp : IsPosition (↑H.x) Player.zero) (R : ResStrategy (gameAsTrees hyp) Player.zero (↑H.x).length) :
                                          noncomputable def GaleStewartGame.BorelDet.Zero.WLLift'.extensionLift {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift' hyp) (hp : IsPosition (↑H.x) Player.zero) (R : ResStrategy (gameAsTrees hyp) Player.zero (↑H.x).length) :
                                          Lift hyp

                                          Auxiliary declaration for the Borel determinacy formalization.

                                          Equations
                                          Instances For
                                            @[simp]
                                            @[simp]
                                            theorem GaleStewartGame.BorelDet.Zero.WLLift'.extensionLift_take {A : Type u_1} {G : Game A} {k : } {hyp : Hyp G k} (H : WLLift' hyp) (hp : IsPosition (↑H.x) Player.zero) (R : ResStrategy (gameAsTrees hyp) Player.zero (↑H.x).length) :
                                            (H.extensionLift hp R).take (↑H.x).length = H.toLift