OAI/AlgebraicGeometry/CharacterVarieties/Cutting/FreshGallery.lean
70 declarations, 0 contain sorry, 0 declared as axioms
Ranked galleries with fresh parents
This formalizes the band reconstruction for filtered surface local systems in Integral points on character varieties of curves.
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.freshRankline 17Source documentation
The main parent has its own occurrence label. All secondary facet labels remain available without any distinctness requirement.
def freshRank {F : Type} (N : ℕ) (r : F → ℕ) : Option F → ℕ | none => N | some a => r a variable {F : Type} {N : ℕ} {r : F → ℕ} - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank_someline 23 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.Freshline 28Source documentation
A property of an actual ranked program, not an assumed property of a band chosen from its weaker original specification.
def RankedChain.Fresh {a b : List (Option F)} (c : RankedChain (freshRank N r) none a b) : Prop := …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.freshRank
- theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.exists_fresh_congrline 36 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.fresh_transline 44 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.fresh_singleline 52 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.fresh_splitline 57 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.fresh_mergeline 77 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.fresh_passageline 97 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGalleryline 112Source documentation
A finite genuine ranked gallery with a verified fresh-parent decoration at every vertex. This is constructed below, not included as a main hypothesis.
def FreshGallery (N : ℕ) (r : F → ℕ) (a b : List F) : Prop := …
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.reflline 116 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.transline 117 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.splitline 123 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.mergeline 127 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.passageline 131 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.refine_rowsline 136 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.permutationline 161Source documentation
Freshness is retained under adjacent interchanges even when names repeat. The later common-splitting argument additionally uses a no-recrossing order.
lemma permutation {m : ℕ} (σ : Equiv.Perm (Fin m)) : ∀ (f : Fin m → F), N = listRank r (List.ofFn f) → FreshGallery N r (List.ofFn f) (List.ofFn (f ∘ σ.symm)) := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.equivalenceline 186 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.rectangularline 193 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.FreshGallery.two_flag_galleryline 204 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.Freshline 237Source documentation
Genuine secondary-name witnesses at every vertex of the walk.
def Fresh (w : OrderedWalk none a b) : Prop := …
Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.fresh_consline 241 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.fresh_headIdentityline 251 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.realize_freshline 261 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.walk_freshline 269 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBand.exists_fresh_congrline 277 - theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.fresh_ranked_two_flag_bandline 293Source documentation
A rank-conservative band whose secondary parents and children are all disjoint from its fresh main parent.
theorem fresh_ranked_two_flag_band {m n : ℕ} (row : Fin m → F) (col : Fin n → F) (grid : Fin m → Fin n → F) (hp : N = ∑ i, r (row i)) (hr : ∀ i, r (row i) = ∑ j, r (grid i j)) (hc : ∀ j, r (col j) = ∑ i, r (grid i j)) : ∃ B : RealizedBand none (List.ofFn (some ∘ row)) (List.ofFn (some ∘ col)), (∀ v, (B.decoration v).Conservative (freshRank N r)) ∧ (∀ v, ∃ d : (B.kind v).SecondaryNames F, B.decoration v = (B.kind v).freshDecoration d) := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBand, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.freshRank
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBand.parentTemplateline 322Source documentation
The very same band, with all branch ports and all colours. The fresh-name proof supplies exhaustion, rather than replacing the band by an unrelated cyclic template with identical endpoints.
noncomputable def VertexTable.RealizedBand.parentTemplate (B : RealizedBand none a b) (h : ∀ v, ∃ d : (B.kind v).SecondaryNames F, B.decoration v = (B.kind v).freshDecoration d) : ParentTemplate F where …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBand, OAI.IntegralCharacterVarieties.OccurrenceIncidence.ParentTemplate
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBand.parentTemplate_decorationline 356Source documentation
Literal equality of decorations after conversion, not just equality of ranks or matching named endpoints.
lemma VertexTable.RealizedBand.parentTemplate_decoration (B : RealizedBand none a b) (h : ∀ v, ∃ d : (B.kind v).SecondaryNames F, B.decoration v = (B.kind v).freshDecoration d) : (B.parentTemplate h).decoration = B.decoration := rfl …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBand
- inductive
OAI.IntegralCharacterVarieties.DirectedSort.Programline 368Source documentation
A directed adjacent sorting gallery. Labels here are occurrences, not facet names. Every crossing removes an inversion in the target order.
inductive Program : List α → List α → Type | refl (a : List α) : Program a a | step (left : List α) (a b : α) (right : List α) (h : b < a) {out : List α} (next : Program (left ++ b :: a :: right) out) : Program (left ++ a :: b :: right) out namespace Program variable {a b c : List α} - def
OAI.IntegralCharacterVarieties.DirectedSort.Program.eventsline 376 - def
OAI.IntegralCharacterVarieties.DirectedSort.Program.transline 380 - lemma
OAI.IntegralCharacterVarieties.DirectedSort.Program.events_transline 384 - def
OAI.IntegralCharacterVarieties.DirectedSort.Program.reindexline 390 - lemma
OAI.IntegralCharacterVarieties.DirectedSort.Program.events_reindexline 393 - def
OAI.IntegralCharacterVarieties.DirectedSort.Program.prependline 399 - lemma
OAI.IntegralCharacterVarieties.DirectedSort.Program.events_prependline 406 - lemma
OAI.IntegralCharacterVarieties.DirectedSort.Program.permline 413 - theorem
OAI.IntegralCharacterVarieties.DirectedSort.Program.insertline 420Source documentation
Insertion moves the one new label right, crossing each encountered label at most once. The recursive tail sorting never involves this new occurrence.
theorem insert (x : α) (l : List α) (hl : l.Nodup) : ∃ p : Program (x :: l) (l.orderedInsert (· ≤ ·) x), p.events.Nodup ∧ ∀ e ∈ p.events, e.2 = x ∧ e.1 ∈ l ∧ e.1 < x := by …Mentions: OAI.IntegralCharacterVarieties.DirectedSort.Program
- theorem
OAI.IntegralCharacterVarieties.DirectedSort.Program.sortline 448Source documentation
Constructive no-recrossing sort. Its event list names the actual pair of occurrences exchanged at each adjacent vertex, and contains no repetition.
theorem sort (l : List α) (hl : l.Nodup) : ∃ p : Program l (l.insertionSort (· ≤ ·)), p.events.Nodup ∧ ∀ e ∈ p.events, e.1 ∈ l ∧ e.2 ∈ l ∧ e.1 < e.2 := by …Mentions: OAI.IntegralCharacterVarieties.DirectedSort.Program
- theorem
OAI.IntegralCharacterVarieties.DirectedSort.Program.sort_equivline 482Source documentation
Sorting an arbitrary finite enumeration ends at the literal target order; no abstract change of labels is applied afterwards.
theorem sort_equiv {m n : ℕ} (e : Fin m ≃ Fin n) : ∃ p : Program (List.ofFn e) (List.finRange n), p.events.Nodup := by …Mentions: OAI.IntegralCharacterVarieties.DirectedSort.Program
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.adjacentIndexline 502 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.adjacent_ofFnline 506 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedStep.adjacentline 536Source documentation
Literal child lists for one adjacent event; the decoration is exactly the allowed passage table, with its full two-block identified quotient.
def OrderedStep.adjacent (parent : F) (l : List F) (x y : F) (r : List F) : OrderedStep parent (l ++ x :: y :: r) (l ++ y :: x :: r) where …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedStep
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedStep.reindexline 546 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedStep.adjacent_conservativeline 555 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedStep.adjacent_freshline 561 - def
OAI.IntegralCharacterVarieties.DirectedSort.Program.rankedline 582Source documentation
A direct realization of the displayed program, one literal passage for each recorded adjacent crossing. It does not choose an arbitrary permutation word after forgetting the no-recrossing property.
noncomputable def ranked (f : α → F) (p : Program a b) (hp : N = listRank r (a.map f)) : RankedChain (freshRank N r) none ((a.map f).map some) ((b.map f).map some) := by …Mentions: OAI.IntegralCharacterVarieties.DirectedSort.Program
- lemma
OAI.IntegralCharacterVarieties.DirectedSort.Program.ranked_freshline 601 - lemma
OAI.IntegralCharacterVarieties.DirectedSort.Program.ranked_lengthline 610 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Decoration.crossingsline 626Source documentation
Actual crossing pairs read from the literal vertex decoration, with the right (moving left) label first. Splits, merges and continuations do not add crossings. This retains occurrence labels when the colours label occurrences.
def Decoration.crossings : {k : Kind} → Decoration k F → List (F × F) | .passage _ (.interchange i),d => [(d.color ⟨false,some ⟨i.val+1,by omega⟩⟩, d.color ⟨false,some ⟨i.val,by omega⟩⟩)] | .passage _ .continuation,_ => [] | .splitting _ _ _ _,_ => []Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Decoration, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.passage
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedStep.adjacent_crossingsline 633 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.crossingsline 640 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.crossings_transline 644 - lemma
OAI.IntegralCharacterVarieties.DirectedSort.Program.ranked_crossingsline 657 - lemma
OAI.IntegralCharacterVarieties.DirectedSort.Program.ranked_no_recrossingline 667 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.reindexline 684 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.reindex_freshline 686 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.reindex_crossingsline 688 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.CleanGalleryline 693Source documentation
A refinement/coarsening containing no crossings, with actual fresh names.
def CleanGallery (N : ℕ) (r : F → ℕ) (a b : List F) : Prop := …
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.CleanGallery.reflline 698 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.CleanGallery.transline 699 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.CleanGallery.splitline 705 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.CleanGallery.mergeline 726 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.CleanGallery.refine_rowsline 747 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ReducedGalleryline 777Source documentation
A genuinely fresh ranked gallery whose literal passage trace never repeats an ordered pair of occurrence labels.
def ReducedGallery (N : ℕ) (r : F → ℕ) (a b : List F) : Prop := …
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ReducedGallery.clean_leftline 782 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ReducedGallery.clean_rightline 787 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ReducedGallery.rectangularline 795Source documentation
The finite program is built in the target column order. Each block is labelled by its occurrence, even when ranks and underlying modules coincide.
lemma rectangular {m n : ℕ} (f : Fin m → Fin n → F) (hinj : Function.Injective (fun p : Fin m × Fin n => f p.1 p.2)) (hf : N = listRank r ((List.ofFn fun i => List.ofFn (f i)).flatten)) : ReducedGallery N r ((List.ofFn fun i => List.ofFn (f i)).flatten) ((List.ofFn fun j => List.ofFn fun i => f i j).flatten) := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ReducedGallery
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ReducedGallery.two_flag_galleryline 835