Instances For
- smul_eq_smul_litter : ∀ (A : ConNF.ExtendedIndex ↑β) (L : ConNF.Litter), { path := A, value := Sum.inr L.toNearLitter } ≤ c → ConNF.Flexible A L → π A • L = π' A • L
Instances For
We can prove that map_flexible
holds at any constrained_action
without any lawful
hypothesis.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ConNF.StructApprox.completeLitterMap_inflexibleBot' hπf hcd hL h = ⋯.some
Instances For
Equations
- ConNF.StructApprox.completeLitterMap_inflexibleCoe' hπf h = ⋯.some
Instances For
Coherence lemma: The action of the complete litter map, below a given address c
,
is equal to the action of any allowable permutation that exactly approximates it.
This condition can only be applied for γ < α
as we're dealing with lower allowable permutations.
The coherence lemma for atoms, which is much easier to prove. The statement is here for symmetry.
Split relation
Let <
denote a relation on α
.
The split relation <ₛ
defined on α × α
is defined by:
a < b → (a, c) <ₛ (b, c)
(left<
)b < c → (a, b) <ₛ (a, c)
(right<
)a < c → b < c → (a, b) <ₛ (c, d)
(left split)a < d → b < d → (a, b) <ₛ (c, d)
(right split)
This is more granular than the standard product of relations,
which would be given by just the first two constructors.
The splitting constructors allow one to "split" either c
or d
into two lower values a
and b
.
Splitting has applications with well-founded relations; in particular, <ₛ
is well-founded whenever
<
is, so this relation can simplify certain inductive steps.
- left_lt: ∀ {α : Type u_1} {r : α → α → Prop} ⦃a b c : α⦄, r a b → ConNF.StructApprox.SplitLt r (a, c) (b, c)
- right_lt: ∀ {α : Type u_1} {r : α → α → Prop} ⦃a b c : α⦄, r b c → ConNF.StructApprox.SplitLt r (a, b) (a, c)
- left_split: ∀ {α : Type u_1} {r : α → α → Prop} ⦃a b c d : α⦄, r a c → r b c → ConNF.StructApprox.SplitLt r (a, b) (c, d)
- right_split: ∀ {α : Type u_1} {r : α → α → Prop} ⦃a b c d : α⦄, r a d → r b d → ConNF.StructApprox.SplitLt r (a, b) (c, d)
Instances For
Every ihs_action
is lawful. This is a consequence of all of the previous lemmas.
We now establish a number of key consequences of ihs_action_lawful
, such as injectivity.
The complete atom map is injective.
The complete litter map is injective.
Atoms inside litters are mapped inside the corresponding image near-litter.
Atoms inside near-litters are mapped inside the corresponding image near-litter.
The complete near-litter map is injective.