Documentation

LeanPool.AFormalizationOfBorelDeterminacyInLean.Tree.RestrictTree

LeanPool.AFormalizationOfBorelDeterminacyInLean.Tree.RestrictTree #

Auxiliary declarations for the Borel determinacy formalization.

Remove all nodes of a tree beyond level k

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem Descriptive.Tree.res_obj_fst (k : ) (S : Trees) :
    ((res k).obj S).fst = S.fst
    theorem Descriptive.Tree.res_ext {S : Trees} {k : } (x y : ((res k).obj S).snd) (h : x = y) :
    x = y
    theorem Descriptive.Tree.res_ext_iff {S : Trees} {k : } {x y : ((res k).obj S).snd} :
    x = y x = y
    @[simp]
    theorem Descriptive.Tree.mem_res_obj {T : Trees} {k : } (x : List T.fst) :
    x ((res k).obj T).snd x T.snd x.length k

    Remove all nodes of a tree not on level exactly k

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem Descriptive.Tree.resEq_map (k : ) {X✝ Y✝ : Trees} (f : X✝ Y✝) :
      (resEq k).map f = TypeCat.ofHom fun (x : {x : List X✝.fst | x X✝.snd x.length = k}) => ((CategoryTheory.ConcreteCategory.hom f) x, ),
      theorem Descriptive.Tree.resEq_ext {S : Trees} {k : } (x y : (resEq k).obj S) (h : x = y) :
      x = y
      theorem Descriptive.Tree.resEq_ext_iff {S : Trees} {k : } {x y : (resEq k).obj S} :
      x = y x = y
      theorem Descriptive.Tree.resEq_ext_hEq {T : Trees} {k m : } (x : (resEq k).obj T) (y : (resEq m).obj T) (h' : x = y) :
      x y
      @[simp]
      theorem Descriptive.Tree.res_mem {S : Trees} {k : } (x : ((res k).obj S).snd) :
      x S.snd

      Auxiliary declaration for the Borel determinacy formalization.

      def Descriptive.Tree.res.val' {S : Trees} {k : } (x : ((res k).obj S).snd) :
      S.snd

      Auxiliary declaration for the Borel determinacy formalization.

      Equations
      Instances For
        @[simp]
        theorem Descriptive.Tree.res.val'_coe {S : Trees} {k : } (x : ((res k).obj S).snd) :
        (val' x) = x
        theorem Descriptive.Tree.res.ext_val' {S : Trees} {k : } {x y : ((res k).obj S).snd} (h : val' x = val' y) :
        x = y
        @[simp]
        theorem Descriptive.Tree.res_val {S T : Trees} (f : S T) (k : ) (x : (fun (S : Trees) => S.snd) ((res k).obj S)) :
        @[simp]
        theorem Descriptive.Tree.res_val'_val {S : Trees} {k : } (x : S.snd) (h : x ((res k).obj S).snd) :
        res.val' x, h = x
        @[simp]
        theorem Descriptive.Tree.res_len_le {S : Trees} {k : } (x : ((res k).obj S).snd) :
        (↑x).length k
        @[simp]
        theorem Descriptive.Tree.resEq_mem {S : Trees} {k : } (x : (resEq k).obj S) :
        x S.snd

        Auxiliary declaration for the Borel determinacy formalization.

        def Descriptive.Tree.resEq.val' {S : Trees} {k : } (x : (resEq k).obj S) :
        S.snd

        Auxiliary declaration for the Borel determinacy formalization.

        Equations
        Instances For
          @[simp]
          theorem Descriptive.Tree.resEq.val'_coe {S : Trees} {k : } (x : (resEq k).obj S) :
          (val' x) = x
          theorem Descriptive.Tree.resEq.ext_val' {S : Trees} {k : } {x y : (resEq k).obj S} (h : val' x = val' y) :
          x = y
          theorem Descriptive.Tree.resEq_val {S T : Trees} (f : S T) (k : ) (x : (fun (X : Type u_1) => X) ((resEq k).obj S)) :
          @[simp]
          theorem Descriptive.Tree.resEq_val'_val {S : Trees} {k : } (x : S.snd) (h : x {x : List S.fst | x S.snd x.length = k}) :
          @[simp]
          theorem Descriptive.Tree.resEq_len {T : Trees} (k : ) (x : (resEq k).obj T) :
          (↑x).length = k

          Auxiliary declaration for the Borel determinacy formalization.

          Equations
          Instances For
            theorem Descriptive.Tree.resIncl_len {S : Trees} {k m : } (h : k m) (x : (fun (X : Type u_1) => X) ((resEq k).obj S)) :

            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

                Auxiliary declaration for the Borel determinacy formalization.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  class Descriptive.Tree.Fixing {S T : Trees} (k : outParam ) (f : S T) :

                  A morphism is k-fixing if it is a bijection on the first k levels

                  Instances
                    class Descriptive.Tree.FixingEq {S T : Trees} (k : outParam ) (f : S T) :

                    Whether a morphism is a bijection on level k

                    Instances
                      theorem Descriptive.Tree.fixing_iff_fixingEq {S T : Trees} (k : ) (f : S T) :
                      Fixing k f nk, FixingEq n f
                      theorem Descriptive.Tree.Fixing.mon {S T : Trees} {k n : } {f : S T} (h : Fixing k f) (hn : n k) :
                      Fixing n f
                      instance Descriptive.Tree.fixing_comp {S T U : Trees} {k : } {f : S T} {g : T U} [h : Fixing k f] [h' : Fixing k g] :

                      Tactic support used by the Borel determinacy formalization.

                      Equations
                      Instances For
                        instance Descriptive.Tree.fixingEq_of_fixing {S T : Trees} {k : } {f : S T} [h : Fixing k f] :
                        theorem Descriptive.Tree.Fixing.inj {S T : Trees} (f : S T) (x y : S.snd) (ht : Fixing (↑x).length f := by as_aux_lemma => synthFixing) (he : (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom f) y) :
                        x = y
                        noncomputable def Descriptive.Tree.pInv {S T : Trees} (f : S T) (y : T.snd) (h : Fixing (↑y).length f := by as_aux_lemma => synthFixing) :
                        S.snd

                        Auxiliary declaration for the Borel determinacy formalization.

                        Equations
                        Instances For
                          @[simp]
                          theorem Descriptive.Tree.h_length_pInv {S T : Trees} (f : S T) (y : T.snd) (h : Fixing (↑y).length f) :
                          (↑(pInv f y h)).length = (↑y).length
                          @[simp]
                          @[simp]
                          theorem Descriptive.Tree.cancel_pInv_right {S T : Trees} (f : S T) (y : T.snd) (h : Fixing (↑y).length f) :
                          @[simp]
                          theorem Descriptive.Tree.pInv_id {S : Trees} (x : S.snd) :
                          @[simp]
                          theorem Descriptive.Tree.pInv_comp {S T U : Trees} (f : S T) (g : T U) (y : U.snd) (hg : Fixing (↑y).length g := by as_aux_lemma => synthFixing) (hf : Fixing (↑y).length f := by as_aux_lemma => synthFixing) :
                          theorem Descriptive.Tree.pInv_comp' {S T U : Trees} (f : S T) (g : T U) (y : U.snd) (hg : Fixing (↑y).length g) (hf : Fixing (↑(pInv g y hg)).length f) :
                          theorem Descriptive.Tree.take_apply_pInv {n : } {S T : Trees} (f : S T) (x : T.snd) (h : Fixing (↑x).length f) :
                          pInv f (take n x) = take n (pInv f x h)
                          theorem Descriptive.Tree.take_apply_pInv_val {n : } {S T : Trees} (f : S T) (x : T.snd) (h : Fixing (↑x).length f) :
                          (pInv f (take n x) ) = List.take n (pInv f x h)
                          @[simp]
                          theorem Descriptive.Tree.inv_val'_eq_pInv {k : } {S T : Trees} (f : S T) (x : (fun (S : Trees) => S.snd) ((res k).obj T)) (h : Fixing k f := by as_aux_lemma => synthFixing) :
                          theorem Descriptive.Tree.inv_val'_eq_pInv' {k : } {S T : Trees} (f : S T) (x : (fun (X : Type u_1) => X) ((resEq k).obj T)) (h : Fixing k f := by as_aux_lemma => synthFixing) :
                          @[simp]
                          theorem Descriptive.Tree.inv_val_eq_pInv_val {k : } {S T : Trees} (f : S T) (x : (fun (S : Trees) => S.snd) ((res k).obj T)) (h : Fixing k f := by as_aux_lemma => synthFixing) :
                          theorem Descriptive.Tree.inv_val_eq_pInv_val' {k : } {S T : Trees} (f : S T) (x : (fun (X : Type u_1) => X) ((resEq k).obj T)) (h : Fixing k f := by as_aux_lemma => synthFixing) :