LeanPool.AFormalizationOfBorelDeterminacyInLean.Tree.LenTreeHom #
Auxiliary declarations for the Borel determinacy formalization.
The objects of the category of trees
Equations
- Descriptive.Tree.Trees = ((A : Type ?u.1) × ↥(Descriptive.tree A))
Instances For
@[implicit_reducible]
Equations
- Descriptive.Tree.instCoeSortTreesType = { coe := fun (S : Descriptive.Tree.Trees) => ↑↑S.snd }
@[implicit_reducible]
The category of trees has as objects trees in some set of nodes and as morphisms
length-preserving order-preserving maps. It is a topos (although this fact is not
proved here). Namely, the map to Presheaves on ℕ such that evaluation becomes resEq
and the transition maps are given by List.take induces an equivalence
Equations
- One or more equations did not get rendered due to their size.
Auxiliary declaration for the Borel determinacy formalization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[implicit_reducible]
instance
Descriptive.Tree.instOrderHomClassHomTreesElemListFstSubtypeSetMemCompleteSublatticeTreeValSnd
{S T : Trees}
:
OrderHomClass (S ⟶ T) ↑↑S.snd ↑↑T.snd
@[implicit_reducible]
instance
Descriptive.Tree.instConcreteCategoryTreesHomElemListFstSubtypeSetMemCompleteSublatticeTreeValSnd :
CategoryTheory.ConcreteCategory Trees fun (S T : Trees) => S ⟶ T
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
@[simp]
@[simp]
@[simp]
theorem
Descriptive.Tree.LenHom.h_length_inv
{S T : Trees}
(f : S ⟶ T)
[CategoryTheory.IsIso (TypeCat.ofHom f.toFun)]
(x : ↑↑T.snd)
:
(↑((CategoryTheory.ConcreteCategory.hom (CategoryTheory.inv (TypeCat.ofHom f.toFun))) x)).length = (↑x).length
theorem
Descriptive.Tree.take_apply
{S T : Trees}
(f : S ⟶ T)
(n : ℕ)
(x : ↑↑S.snd)
:
(CategoryTheory.ConcreteCategory.hom f) (take n x) = take n ((CategoryTheory.ConcreteCategory.hom f) x)
theorem
Descriptive.Tree.take_apply_val
{S T : Trees}
(f : S ⟶ T)
(n : ℕ)
(x : ↑↑S.snd)
:
↑((CategoryTheory.ConcreteCategory.hom f) (take n x)) = List.take n ↑((CategoryTheory.ConcreteCategory.hom f) x)
theorem
Descriptive.Tree.prefix_iff
{S T : Trees}
(f : S ⟶ T)
(x y : (fun (S : Trees) => ↑↑S.snd) S)
(hf : Function.Injective ⇑(CategoryTheory.ConcreteCategory.hom f))
: