OAI/Analysis/SeparableQuotients/PathCoding.lean
39 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.SeparableQuotient.PathCoding.positionline 14Source documentation
Position of a coordinate in an ordered finite closure; no ordinal label is stored in the code.
def position (s : Finset Γ) (x : Γ) : ℕ := (s.filter (· < x)).card
- lemma
OAI.SeparableQuotient.PathCoding.position_strictMonoOnline 16 - lemma
OAI.SeparableQuotient.PathCoding.position_injline 29 - lemma
OAI.SeparableQuotient.PathCoding.position_alignline 33 - def
OAI.SeparableQuotient.PathCoding.arrayCodeline 52Source documentation
A zero-filled rational array recorded by order positions, including zero values.
def arrayCode (s : Finset Γ) (f : Γ →₀ ℚ) : Finset (ℕ × ℚ) := …
- lemma
OAI.SeparableQuotient.PathCoding.arrayCode_matchline 55 - lemma
OAI.SeparableQuotient.PathCoding.position_alignmentline 64Source documentation
Position alignment from equal compressed arrays and a shared initial segment.
lemma position_alignment {s t : Finset Γ} {a : Γ} {f g : Γ →₀ ℚ} (hst : s.filter (· ≤ a) = t.filter (· ≤ a)) (hf : f.support ⊆ s) (hg : g.support ⊆ t) (hfa : ∀ x ∈ f.support, x < a) (hcode : arrayCode s f = arrayCode t g) : f = g := by … - lemma
OAI.SeparableQuotient.PathCoding.closure_position_alignmentline 95 - abbrev
OAI.SeparableQuotient.PathCoding.Codeline 109 - def
OAI.SeparableQuotient.PathCoding.codeBoundline 111 - lemma
OAI.SeparableQuotient.PathCoding.metadata_le_codeBoundline 115 - def
OAI.SeparableQuotient.PathCoding.sigmaline 126Source documentation
An injective code greater than every entry of its final metadata.
noncomputable def sigma (c : Code) : ℕ := Nat.pair (Encodable.encode c) (codeBound c + 1)
Mentions: OAI.SeparableQuotient.PathCoding.Code, OAI.SeparableQuotient.PathCoding.codeBound
- lemma
OAI.SeparableQuotient.PathCoding.sigma_injectiveline 128 - lemma
OAI.SeparableQuotient.PathCoding.codeBound_lt_sigmaline 132 - structure
OAI.SeparableQuotient.PathCoding.RawPathline 139Source documentation
Raw infinite path data, retaining the actual rational pieces, declared weights and metadata. Nonzero pieces are included here to define the prefix endpoint without arbitrary defaults. Type-I membership is not needed for the combinatorial rigidity theorem.
@[ext] structure RawPath where …
- def
OAI.SeparableQuotient.PathCoding.RawPath.supportline 147 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.mem_support_iffline 150 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.piece_support_subsetline 155 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.support_nonemptyline 160 - def
OAI.SeparableQuotient.PathCoding.RawPath.endpointline 164 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.endpoint_memline 167 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.le_endpointline 170 - def
OAI.SeparableQuotient.PathCoding.RawPath.closureline 173 - def
OAI.SeparableQuotient.PathCoding.RawPath.codeline 176 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.code_lengthline 180 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.code_eq_lengthline 183 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.code_eq_atline 187 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.metadata_le_codeBoundline 195 - structure
OAI.SeparableQuotient.PathCoding.RawPath.Admissibleline 202Source documentation
Exact support, succession, weight and metadata conditions of a path. The Type-I construction contributes only additional restrictions, not needed below.
structure Admissible (P : RawPath) : Prop where …
Mentions: OAI.SeparableQuotient.PathCoding.RawPath
- lemma
OAI.SeparableQuotient.PathCoding.RawPath.Admissible.support_subset_closureline 213 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.Admissible.piece_support_subset_closureline 219 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.Admissible.weight_strictline 223 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.Admissible.large_matching_prefixline 237 - def
OAI.SeparableQuotient.PathCoding.RawPath.SupportBelowline 257Source documentation
The support of P is order-cofinal below that of Q.
def SupportBelow (P Q : RawPath) : Prop := …
Mentions: OAI.SeparableQuotient.PathCoding.RawPath
- lemma
OAI.SeparableQuotient.PathCoding.RawPath.supportBelow_totalline 261 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.Admissible.eq_of_infinite_shared_weights_of_supportBelowline 271 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.Admissible.eq_of_infinite_shared_weightsline 309Source documentation
Distinct admissible paths have only finitely many shared weights.
lemma Admissible.eq_of_infinite_shared_weights {P Q : RawPath} (hP : P.Admissible) (hQ : Q.Admissible) (hinf : (Set.range P.weight ∩ Set.range Q.weight).Infinite) : P = Q := by …Mentions: OAI.SeparableQuotient.PathCoding.RawPath
- lemma
OAI.SeparableQuotient.PathCoding.RawPath.Admissible.shared_weights_finiteline 317 - lemma
OAI.SeparableQuotient.PathCoding.RawPath.Admissible.disjoint_weight_tailsline 330Source documentation
A common finite deletion makes the weights of a finite collection of pairwise distinct paths disjoint. This is the combinatorial input to the Type-II tail estimate and the quotient-space path map.
lemma Admissible.disjoint_weight_tails {ι : Type*} [Fintype ι] (P : ι → RawPath) (hP : ∀ i, (P i).Admissible) (hinj : Function.Injective P) : ∃ N : ℕ, Pairwise (fun i j => Disjoint (Set.range (fun n => (P i).weight (n+N))) (Set.range (fun n => (P j).weight (n+N)))) := by …Mentions: OAI.SeparableQuotient.PathCoding.RawPath, OAI.SeparableQuotient.PathCoding.RawPath.Admissible