OAI/NumberTheory/TwoPoint/Walks/CanonicalColumnNames.lean
11 declarations, 0 contain sorry, 0 declared as axioms
Canonical names distinguish precisely the original column's label classes.
- def
OAI.TwoPointCorrelations.perfectColumnNameline 14 - lemma
OAI.TwoPointCorrelations.perfectColumnName_injectiveline 18 - lemma
OAI.TwoPointCorrelations.perfectColumnName_ne_freshline 22 - def
OAI.TwoPointCorrelations.canonicalColumnNameline 28Source documentation
Perfect classes keep their forest/omitted name. Classes with no perfect occurrence use the index of their first occurrence.
def canonicalColumnName (label : Fin N → α) (perfect : Finset (Fin N)) (name : Fin N → ℕ ⊕ ℕ) (i : Fin N) : CanonicalColumnLabel := … - lemma
OAI.TwoPointCorrelations.canonicalColumnName_of_label_eqline 33 - theorem
OAI.TwoPointCorrelations.canonicalColumnName_eq_iffline 41Source documentation
The only needed naming hypothesis concerns the perfect occurrences. Fresh imperfect classes are separated by their canonical references.
theorem canonicalColumnName_eq_iff (label : Fin N → α) (perfect : Finset (Fin N)) (name : Fin N → ℕ ⊕ ℕ) (hname : ∀ i ∈ perfect, ∀ j ∈ perfect, name i = name j ↔ label i = label j) (i j : Fin N) : canonicalColumnName label perfect name i = canonicalColumnName label perfect name j ↔ label i = label j := by … - def
OAI.TwoPointCorrelations.canonicalPerfectEntriesline 68 - theorem
OAI.TwoPointCorrelations.canonical_reference_resolvesline 74Source documentation
Looking up the canonical representative yields the intended class name, including when the class has no perfect occurrence.
theorem canonical_reference_resolves (label : Fin N → α) (perfect : Finset (Fin N)) (name : Fin N → ℕ ⊕ ℕ) (i : Fin N) : resolveColumnReference (canonicalPerfectEntries label perfect name) (columnRepresentative label perfect i).val = canonicalColumnName label perfect name i := by …Mentions: OAI.TwoPointCorrelations.resolveColumnReference, OAI.TwoPointCorrelations.canonicalPerfectEntries, OAI.TwoPointCorrelations.columnRepresentative, OAI.TwoPointCorrelations.canonicalColumnName
- def
OAI.TwoPointCorrelations.columnPositionEntriesline 96 - theorem
OAI.TwoPointCorrelations.marked_position_entriesline 99 - theorem
OAI.TwoPointCorrelations.canonical_imperfect_reconstructionline 108Source documentation
All imperfect attachments are now verified for the actual occurrence representatives, rather than supplied as lookup assumptions.
theorem canonical_imperfect_reconstruction (label : Fin N → α) (perfect : Finset (Fin N)) (name : Fin N → ℕ ⊕ ℕ) : attachImperfectLabels (canonicalPerfectEntries label perfect name) (canonicalPerfectEntries label perfect name) (imperfectColumnReferences (fun i => (columnRepresentative label perfect i).val) (columnPositionEntries perfect)) = List.ofFn (canonicalColumnName label perfect name) := by …Mentions: OAI.TwoPointCorrelations.attachImperfectLabels, OAI.TwoPointCorrelations.canonicalPerfectEntries, OAI.TwoPointCorrelations.imperfectColumnReferences, OAI.TwoPointCorrelations.columnRepresentative, OAI.TwoPointCorrelations.columnPositionEntries, OAI.TwoPointCorrelations.canonicalColumnName