LeanPool.AFormalizationOfBorelDeterminacyInLean.Tree.TreeBody #
Auxiliary declarations for the Borel determinacy formalization.
The body of a tree T, also written [T] in the literature, is the set of infinite branches,
implemented as Stream
Equations
Instances For
Auxiliary declaration for the Borel determinacy formalization.
Equations
- Descriptive.Tree.body.take n x = ⟨Stream'.take n ↑x, ⋯⟩
Instances For
@[simp]
theorem
Descriptive.Tree.mem_body_of_take
{A : Type u_1}
(m : ℕ)
(T : ↥(tree A))
(x : Stream' A)
(h : ∀ n ≥ m, Stream'.take n x ∈ T)
:
Taking bodies preserves arbitrary intersections
Equations
- Descriptive.Tree.bodyInfHom = { toFun := Descriptive.Tree.body, map_sInf' := ⋯ }
Instances For
@[simp]
theorem
Descriptive.Tree.body.append_con
{A : Type u_1}
{T : ↥(tree A)}
(x : List A)
:
Continuous (append x)
theorem
Descriptive.Tree.range_body_append
{A : Type u_1}
(T : ↥(tree A))
(x y : List A)
(h : x = y)
:
@[simp]
def
Descriptive.Tree.body.drop
{A : Type u_1}
{T : ↥(tree A)}
(n : ℕ)
(x : ↑(body T))
:
↑(body (subAt T (Stream'.take n ↑x)))
Dropping the first elements of a branch lifts as an operation on bodies
Equations
- Descriptive.Tree.body.drop n x = ⟨Stream'.drop n ↑x, ⋯⟩
Instances For
@[simp]