Documentation

LeanPool.AFormalizationOfBorelDeterminacyInLean.Proof.BuildLevelwise

LeanPool.AFormalizationOfBorelDeterminacyInLean.Proof.BuildLevelwise #

Auxiliary declarations for the Borel determinacy formalization.

Auxiliary declaration for the Borel determinacy formalization.

Instances For
    @[simp]
    theorem GaleStewartGame.bodySystem_con' {k m : ℕ} {T : Descriptive.Tree.Trees} (x : BodySystemObj T) :
    ↑(x.res k) <+: ↑(x.res m) ↔ k ≤ m
    @[simp]
    theorem GaleStewartGame.bodySystem_take_val {k m : ℕ} {T : Descriptive.Tree.Trees} (x : BodySystemObj T) :
    List.take m ↑(x.res k) = ↑(x.res (min k m))
    theorem GaleStewartGame.bodySystem_take' {k m : ℕ} {T : Descriptive.Tree.Trees} (x : BodySystemObj T) (h : m ≤ k) :
    List.take m ↑(x.res k) = ↑(x.res m)

    an isomorph of bodyFunctor that is more convenient to build levelwise

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[reducible, inline]

      Auxiliary declaration for the Borel determinacy formalization.

      Equations
      Instances For
        @[reducible, inline]

        Auxiliary declaration for the Borel determinacy formalization.

        Equations
        Instances For

          Auxiliary declaration for the Borel determinacy formalization.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Auxiliary declaration for the Borel determinacy formalization.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[reducible, inline]

              Auxiliary declaration for the Borel determinacy formalization.

              Equations
              Instances For
                @[reducible, inline]

                Auxiliary declaration for the Borel determinacy formalization.

                Equations
                Instances For
                  theorem GaleStewartGame.BodySystemObj.res_val_congr {m n : ℕ} {T : Descriptive.Tree.Trees} (x y : BodySystemObj T) (h : x = y) (h' : m = n) :
                  ↑(x.res m) = ↑(y.res n)
                  @[simp]
                  @[simp]
                  theorem GaleStewartGame.iff_pInv_lenHom (p : Player) {S T : Descriptive.Tree.Trees} (f : S ⟶ T) (x : ↑↑T.snd) (h : Descriptive.Tree.Fixing (↑x).length f) :

                  a strategy defined only on positions up to length k

                  Equations
                  Instances For
                    theorem GaleStewartGame.ResStrategy.ext {k : ℕ} {T : Descriptive.Tree.Trees} {p : Player} {S S' : ResStrategy T p k} (h : ∀ (x : ↑↑T.snd) (hp : IsPosition (↑x) p) (hl : (↑x).length ≤ k), S x hp hl = S' x hp hl) :
                    S = S'
                    theorem GaleStewartGame.ResStrategy.ext_iff {k : ℕ} {T : Descriptive.Tree.Trees} {p : Player} {S S' : ResStrategy T p k} :
                    S = S' ↔ ∀ (x : ↑↑T.snd) (hp : IsPosition (↑x) p) (hl : (↑x).length ≤ k), S x hp hl = S' x hp hl
                    theorem GaleStewartGame.ResStrategy.eval_val'_congr' {k : ℕ} {T : Descriptive.Tree.Trees} {p : Player} (S S' : ResStrategy T p k) (h : S = S') (x x' : ↑↑T.snd) (h' : x = x') (hp : IsPosition (↑x) p) (hl : (↑x).length ≤ k) :
                    (S x hp hl).val' = (S' x' ⋯ ⋯).val'
                    theorem GaleStewartGame.ResStrategy.eval_valT'_congr' {k : ℕ} {T : Descriptive.Tree.Trees} {p : Player} (S S' : ResStrategy T p k) (h : S = S') (x x' : ↑↑T.snd) (h' : x = x') (hp : IsPosition (↑x) p) (hl : (↑x).length ≤ k) :
                    (S x hp hl).valT' = (S' x' ⋯ ⋯).valT'
                    theorem GaleStewartGame.ResStrategy.eval_val_congr' {k : ℕ} {T : Descriptive.Tree.Trees} {p : Player} (S S' : ResStrategy T p k) (h : S = S') (x x' : ↑↑T.snd) (h' : x = x') (hp : IsPosition (↑x) p) (hl : (↑x).length ≤ k) :
                    ↑(S x hp hl) = ↑(S' x' ⋯ ⋯)
                    def GaleStewartGame.ResStrategy.res {k m : ℕ} {T : Descriptive.Tree.Trees} {p : Player} (h : m ≤ k) (S : ResStrategy T p k) :

                    Auxiliary declaration for the Borel determinacy formalization.

                    Equations
                    Instances For
                      @[simp]
                      @[simp]
                      theorem GaleStewartGame.ResStrategy.res_trans {T : Descriptive.Tree.Trees} {p : Player} (m n k : ℕ) (S : ResStrategy T p k) (mn : m ≤ n) (nk : n ≤ k) :
                      res mn (res nk S) = res ⋯ S
                      noncomputable def GaleStewartGame.ResStrategy.fromMap {k : ℕ} {S T : Descriptive.Tree.Trees} {p : Player} (f : S ⟶ T) (h : Descriptive.Tree.Fixing k f := by as_aux_lemma => synthFixing) (S' : ResStrategy S p k) :

                      Auxiliary declaration for the Borel determinacy formalization.

                      Equations
                      Instances For
                        theorem GaleStewartGame.ResStrategy.fromMap_congr {k : ℕ} {S T : Descriptive.Tree.Trees} {p : Player} {f g : S ⟶ T} (heq : f = g) (hh : Descriptive.Tree.Fixing k f) :
                        fromMap f hh = fromMap g ⋯
                        noncomputable def GaleStewartGame.ResStrategy.fromMapInv {k : ℕ} {S T : Descriptive.Tree.Trees} {p : Player} (f : S ⟶ T) (h : Descriptive.Tree.Fixing (k + 1) f := by as_aux_lemma => synthFixing) (S' : ResStrategy T p k) :

                        Auxiliary declaration for the Borel determinacy formalization.

                        Equations
                        Instances For
                          noncomputable def GaleStewartGame.ResStrategy.fromMapEquiv {S T : Descriptive.Tree.Trees} (p : Player) (k : ℕ) (f : S ⟶ T) (h : Descriptive.Tree.Fixing (k + 1) f := by as_aux_lemma => synthFixing) :

                          Auxiliary declaration for the Borel determinacy formalization.

                          Equations
                          Instances For
                            @[simp]
                            theorem GaleStewartGame.ResStrategy.res_fromMap {S T : Descriptive.Tree.Trees} {p : Player} {k m : ℕ} (h : m ≤ k) (f : S ⟶ T) (hf : Descriptive.Tree.Fixing k f) (S' : ResStrategy S p k) :
                            res h (fromMap f hf S') = fromMap f ⋯ (res h S')
                            @[simp]
                            theorem GaleStewartGame.ResStrategy.fromMap_comp {p : Player} (k : ℕ) {S T U : Descriptive.Tree.Trees} (f : S ⟶ T) (g : T ⟶ U) (hf : Descriptive.Tree.Fixing k f := by as_aux_lemma => synthFixing) (hg : Descriptive.Tree.Fixing k g := by as_aux_lemma => synthFixing) (S' : ResStrategy S p k) :
                            @[simp]
                            theorem GaleStewartGame.ResStrategy.fromMap_valT' {k : ℕ} {p : Player} {S T : Descriptive.Tree.Trees} (f : S ⟶ T) (hf : Descriptive.Tree.Fixing k f) (S' : ResStrategy S p k) (x : (fun (S : Descriptive.Tree.Trees) => ↑↑S.snd) S) (hx : IsPosition (↑x) p) (hl : (↑x).length ≤ k) :

                            a strategy as an inverse limit of a sequence of ResStrategy

                            Instances For
                              @[simp]
                              theorem GaleStewartGame.StrategySystem.con' {k m : ℕ} {T : Descriptive.Tree.Trees} {p : Player} (S : StrategySystem T p) (h : k ≤ m) :
                              ResStrategy.res h (S.str m) = S.str k

                              Auxiliary declaration for the Borel determinacy formalization.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                theorem GaleStewartGame.strategyEquivSystem_symm_apply {T : Descriptive.Tree.Trees} {p : Player} (S : StrategySystem T p) (x : ↥T.snd) (hp : IsPosition (↑x) p) :
                                strategyEquivSystem.symm S x hp = S.str (↑x).length x hp ⋯
                                @[simp]
                                theorem GaleStewartGame.strategyEquivSystem_apply_str {T : Descriptive.Tree.Trees} {p : Player} (S : Strategy T.snd p) (x✝ : ℕ) (x : ↑↑T.snd) (h : IsPosition (↑x) p) (x✝¹ : (↑x).length ≤ x✝) :
                                (strategyEquivSystem S).str x✝ x h x✝¹ = S x h
                                theorem GaleStewartGame.preStrategy_body {p : Player} {A : Type u_1} {T : ↥(Descriptive.tree A)} {y : Stream' A} (f : PreStrategy T p) :
                                y ∈ Descriptive.Tree.body f.subtree ↔ ∃ (hy : y ∈ Descriptive.Tree.body T), ∀ (x : ↥T) (hp : IsPosition (↑x) p) (hb : y ∈ Stream'.Discrete.principalOpen ↑x), ⟨y.get (↑x).length, ⋯⟩ ∈ f x hp
                                theorem GaleStewartGame.strategy_body {p : Player} {A : Type u_1} {T : ↥(Descriptive.tree A)} {y : Stream' A} (f : Strategy T p) :
                                y ∈ Descriptive.Tree.body f.pre.subtree ↔ y ∈ Descriptive.Tree.body T ∧ ∀ (x : ↥T) (hp : IsPosition (↑x) p), y ∈ Stream'.Discrete.principalOpen ↑x → y.get (↑x).length = ↑(f x hp)

                                Auxiliary declaration for the Borel determinacy formalization.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For