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
              @[instance_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) :