Documentation

LeanPool.AFormalizationOfBorelDeterminacyInLean.Tree.BodyFunctor

LeanPool.AFormalizationOfBorelDeterminacyInLean.Tree.BodyFunctor #

Auxiliary declarations for the Borel determinacy formalization.

def Descriptive.Tree.bodyDom {A : Type u_1} {A' : Type u_2} {S : (tree A)} {T : (tree A')} (f : S →o T) :

The set of points in body S where the body map of f is defined

Equations
Instances For
    theorem Descriptive.Tree.bodyMap_uniq {A : Type u_1} {A' : Type u_2} {n : } {S : (tree A)} {T : (tree A')} (f : S →o T) {a : Stream' A} {x y : List A} {ha : a body S} (hx : a Stream'.Discrete.principalOpen x) (hy : a Stream'.Discrete.principalOpen y) (hlx : n < (↑(f x, )).length) (hly : n < (↑(f y, )).length) :
    (↑(f x, ))[n] = (↑(f y, ))[n]
    theorem Descriptive.Tree.bodyMap_exists {A : Type u_1} {A' : Type u_2} {S : (tree A)} {T : (tree A')} (f : S →o T) (a : (bodyDom f)) (n : ) :
    ∃ (x : S), a Stream'.Discrete.principalOpen x n < (↑(f x)).length
    noncomputable def Descriptive.Tree.bodyMapChooseSpec {A : Type u_1} {A' : Type u_2} {S : (tree A)} {T : (tree A')} (f : S →o T) (a : (bodyDom f)) (n : ) :
    T

    Auxiliary declaration for the Borel determinacy formalization.

    Equations
    Instances For
      noncomputable def Descriptive.Tree.bodyMapVal {A : Type u_1} {A' : Type u_2} {S : (tree A)} {T : (tree A')} (f : S →o T) (a : (bodyDom f)) :

      Auxiliary declaration for the Borel determinacy formalization.

      Equations
      Instances For
        theorem Descriptive.Tree.bodyMap_pspec {A : Type u_1} {A' : Type u_2} {n : } {S : (tree A)} {T : (tree A')} (f : S →o T) (a : (bodyDom f)) {x : List A} (hx : a Stream'.Discrete.principalOpen x) (hlx : n < (↑(f x, )).length) :
        (bodyMapVal f a).get n = (↑(f x, ))[n]
        noncomputable def Descriptive.Tree.bodyMap {A : Type u_1} {A' : Type u_2} {S : (tree A)} {T : (tree A')} (f : S →o T) (a : (bodyDom f)) :
        (body T)

        The induced map on branches

        Equations
        Instances For
          theorem Descriptive.Tree.bodyMap_spec {A : Type u_1} {A' : Type u_2} {n : } {S : (tree A)} {T : (tree A')} (f : S →o T) (a : (bodyDom f)) {x : List A} (hx : a Stream'.Discrete.principalOpen x) (hlx : n < (↑(f x, )).length) :
          (↑(bodyMap f a)).get n = (↑(f x, ))[n]
          theorem Descriptive.Tree.bodyMap_continuous {A : Type u_1} {A' : Type u_2} {S : (tree A)} {T : (tree A')} (f : S →o T) :
          @[simp]

          if f is length-preserving, then its body map is defined everywhere

          noncomputable def Descriptive.Tree.bodyPre :

          Auxiliary declaration for the Borel determinacy formalization.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem Descriptive.Tree.bodyPre_obj_ext {S : Trees} {x y : bodyPre.obj S} (h : x = y) :
            x = y
            theorem Descriptive.Tree.bodyPre_obj_ext_iff {S : Trees} {x y : bodyPre.obj S} :
            x = y x = y
            theorem Descriptive.Tree.LenHom.bodyMap_spec {S T : Trees} (f : S T) (a : (body S.snd)) (x : List S.fst) (hx : a Stream'.Discrete.principalOpen x) (n : ) (hlx : n < x.length) :

            the body of a tree is functorial

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[implicit_reducible]
              Equations
              theorem Descriptive.Tree.bodyMap_spec' {S T : Trees} (f : S T) (a : (body S.snd)) (x : List S.fst) (hx : a Stream'.Discrete.principalOpen x) (n : ) (hlx : n < x.length) :