Hypotheses for proving freedom of action #
This file contains the inductive hypotheses required for proving the freedom of action theorem.
Main declarations #
ConNF.FOAData
: Contains various kinds of tangle data for all levels belowα
.ConNF.FOAAssumptions
: Describes how the type levels in theFOAData
tangle together.
The data that we will use when proving the freedom of action theorem. This structure combines the following data:
TSet
Allowable
pos : Tangle β ↪ μ
typedNearLitter
- lowerModelData : (β : ConNF.Λ) → [inst : ConNF.LeLevel ↑β] → ConNF.ModelData ↑β
- lowerPositionedTangles : (β : ConNF.Λ) → [inst : ConNF.LtLevel ↑β] → ConNF.PositionedTangles ↑β
- lowerTypedObjects : (β : ConNF.Λ) → [inst : ConNF.LeLevel ↑β] → ConNF.TypedObjects β
- lowerPositionedObjects : ∀ (β : ConNF.Λ) [inst : ConNF.LtLevel ↑β], ConNF.PositionedObjects β
Instances
Equations
- ConNF.FOAData.instModelDataSomeΛ = ConNF.FOAData.lowerModelData β
Equations
- ConNF.FOAData.instPositionedTanglesSomeΛ = ConNF.FOAData.lowerPositionedTangles γ
Equations
- ConNF.FOAData.instTypedObjects = ConNF.FOAData.lowerTypedObjects β
Equations
- ⋯ = ⋯
Equations
- ConNF.FOAData.leModelData x✝ = match x✝, x with | none, x => ConNF.Bot.modelData | some β, x => ConNF.FOAData.lowerModelData β
Equations
- ConNF.FOAData.ltPositionedTangles x✝ = match x✝, x with | none, x => ConNF.Bot.positionedTangles | some β, x => ConNF.FOAData.lowerPositionedTangles β
Instances For
Assumptions detailing how the different levels of the tangled structure interact.
- lowerModelData : (β : ConNF.Λ) → [inst : ConNF.LeLevel ↑β] → ConNF.ModelData ↑β
- lowerPositionedTangles : (β : ConNF.Λ) → [inst : ConNF.LtLevel ↑β] → ConNF.PositionedTangles ↑β
- lowerTypedObjects : (β : ConNF.Λ) → [inst : ConNF.LeLevel ↑β] → ConNF.TypedObjects β
- lowerPositionedObjects : ∀ (β : ConNF.Λ) [inst : ConNF.LtLevel ↑β], ConNF.PositionedObjects β
- allowableCons : {β : ConNF.TypeIndex} → [inst : ConNF.LeLevel β] → {γ : ConNF.TypeIndex} → [inst_1 : ConNF.LeLevel γ] → γ < β → ConNF.Allowable β →* ConNF.Allowable γ
The one-step derivative map between types of allowable permutations. We can think of this map as
cons
ing a single morphism on a path. - allowableCons_eq : ∀ (β : ConNF.TypeIndex) [inst : ConNF.LeLevel β] (γ : ConNF.TypeIndex) [inst_1 : ConNF.LeLevel γ] (hγ : γ < β) (ρ : ConNF.Allowable β), ConNF.Tree.comp (Quiver.Path.nil.cons hγ) (ConNF.Allowable.toStructPerm ρ) = ConNF.Allowable.toStructPerm ((ConNF.allowableCons hγ) ρ)
The one-step derivative map commutes with
toStructPerm
. - pos_lt_pos_atom : ∀ {β : ConNF.Λ} [inst : ConNF.LtLevel ↑β] (t : ConNF.Tangle ↑β) {A : ConNF.ExtendedIndex ↑β} {a : ConNF.Atom}, { path := A, value := Sum.inl a } ∈ t.support → ConNF.pos a < ConNF.pos t
If an atom occurs in the support associated to an inflexible litter, it must have position less than the associated tangle.
- pos_lt_pos_nearLitter : ∀ {β : ConNF.Λ} [inst : ConNF.LtLevel ↑β] (t : ConNF.Tangle ↑β) {A : ConNF.ExtendedIndex ↑β} {N : ConNF.NearLitter}, { path := A, value := Sum.inr N } ∈ t.support → t.set ≠ ConNF.typedNearLitter N → ConNF.pos N < ConNF.pos t
If a near-litter occurs in the support associated to an inflexible litter, it must have position less than the associated tangle. The only exception is in the case that the tangle is a typed near-litter.
- smul_fuzz : ∀ {β : ConNF.TypeIndex} [inst : ConNF.LeLevel β] {γ : ConNF.TypeIndex} [inst_1 : ConNF.LtLevel γ] {δ : ConNF.Λ} [inst_2 : ConNF.LtLevel ↑δ] (hγ : γ < β) (hδ : ↑δ < β) (hγδ : γ ≠ ↑δ) (ρ : ConNF.Allowable β) (t : ConNF.Tangle γ), ConNF.Allowable.toStructPerm ρ ((Quiver.Hom.toPath hδ).cons ⋯) • ConNF.fuzz hγδ t = ConNF.fuzz hγδ ((ConNF.allowableCons hγ) ρ • t)
The
fuzz
map commutes with allowable permutations. - allowable_of_smulFuzz : ∀ (β : ConNF.Λ) [inst : ConNF.LeLevel ↑β] (ρs : (γ : ConNF.TypeIndex) → [inst : ConNF.LtLevel γ] → γ < ↑β → ConNF.Allowable γ), (∀ (γ : ConNF.TypeIndex) [inst : ConNF.LtLevel γ] (δ : ConNF.Λ) [inst_1 : ConNF.LtLevel ↑δ] (hγ : γ < ↑β) (hδ : ↑δ < ↑β) (hγδ : γ ≠ ↑δ) (t : ConNF.Tangle γ), ConNF.Allowable.toStructPerm (ρs (↑δ) hδ) (Quiver.Hom.toPath ⋯) • ConNF.fuzz hγδ t = ConNF.fuzz hγδ (ρs γ hγ • t)) → ∃ (ρ : ConNF.Allowable ↑β), ∀ (γ : ConNF.TypeIndex) [inst_1 : ConNF.LtLevel γ] (hγ : γ < ↑β), (ConNF.allowableCons hγ) ρ = ρs γ hγ
We can build an
β
-allowable permutation from a family of allowable permutations at each levelγ < β
if they commute with thefuzz
map.
Instances
The one-step derivative map commutes with toStructPerm
.
If an atom occurs in the support associated to an inflexible litter, it must have position less than the associated tangle.
If a near-litter occurs in the support associated to an inflexible litter, it must have position less than the associated tangle. The only exception is in the case that the tangle is a typed near-litter.
The fuzz
map commutes with allowable permutations.
We can build an β
-allowable permutation from a family of allowable permutations at each
level γ < β
if they commute with the fuzz
map.
A primitive version of Allowable.comp
with different arguments. This is always the wrong
spelling to use.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Define the full derivative map on allowable permutations by recursion along paths.
This agrees with Tree.comp
, but yields allowable permutations.
Note that the LeLevel γ
hypothesis is technically redundant, but is used to give us more
direct access to Allowable γ
. In practice, we already have this assumption wherever we use
Allowable.comp
.
Equations
Instances For
We prove that Allowable.comp
is functorial. In addition, we prove a number of lemmas about
FOAAssumptions
.
We now show some different spellings of the theorem that allowable permutations commute with the
fuzz
maps.