OAI/AlgebraicGeometry/CharacterVarieties/Foundation/FlagGalleries.lean
56 declarations, 0 contain sorry, 0 declared as axioms
- theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.equivalence_chainline 14 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.matrix_listline 21 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.gridTransposeline 38Source documentation
The row/column enumeration of the same intersection blocks.
def gridTranspose (m n : ℕ) : Fin (m*n) ≃ Fin (n*m) := …
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.gridTranspose_colorsline 41 - theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.rectangular_permutationline 53Source documentation
Row-by-row to column-by-column uses only adjacent vertices.
theorem rectangular_permutation (parent : F) {m n : ℕ} (f : Fin m → Fin n → F) : Nonempty (OrderedChain parent ((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.OrderedChain
- theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.two_flag_galleryline 63Source documentation
The finite band recipe for the band reduction: split every old left grade into its common intersection pieces, interchange adjacent pieces, then coarsen into all right grades. Every split/merge branch is retained by OrderedStep.kind.
theorem two_flag_gallery (parent : F) {m n : ℕ} (row : Fin m → F) (col : Fin n → F) (grid : Fin m → Fin n → F) : Nonempty (OrderedChain parent (List.ofFn row) (List.ofFn col)) := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedChain
- structure
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalkline 80Source documentation
Finite sequence of states and vertex tables. States do not impose extra conditions on solutions: they are the ordered facet names computed by the split/permutation/merge recipe.
structure OrderedWalk (parent : F) (a b : List F) where …
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.reflline 89 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.consline 96 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedChain.walkline 109 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.children_extline 114 - structure
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBandline 129Source documentation
Entire finite band, including all split branch ports. The exposed ports are the complement of the internal sewing, not chosen subsets.
structure RealizedBand (parent : F) (a b : List F) where …
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBand.patchline 143 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.headIdentityline 150Source documentation
An identity vertex is retained even for an empty walk, so the resulting band always has two exposed main ports and loses no branch occurrence.
def headIdentity (w : OrderedWalk parent a b) : OrderedWalk parent a b := …
Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.realizeline 159 - theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.produced_two_flag_bandline 181Source documentation
Finite two-flag band producer: every row branch, column branch, and every intersection-block passage occurs in an allowed finite port patch.
theorem produced_two_flag_band (parent : F) {m n : ℕ} (row : Fin m → F) (col : Fin n → F) (grid : Fin m → Fin n → F) : Nonempty (RealizedBand parent (List.ofFn row) (List.ofFn col)) := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBand
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRankline 191 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank_nilline 192 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank_consline 193 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank_appendline 194 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank_ofFnline 196 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Decoration.Conservativeline 200Source documentation
Rank conservation on every ordered port (including side branches).
def Decoration.Conservative {k : Kind} (d : Decoration k F) : Prop := …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Decoration
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Decoration.conservative_iffline 203 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.splitLists_conservativeline 214 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.passage_conservativeline 228 - inductive
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChainline 238Source documentation
A finite ranked gallery. The constructor stores a verified vertex, not a geometric bundle hypothesis; lengths and unused ports remain explicit.
inductive RankedChain (parent : F) : List F → List F → Type | refl (a : List F) : RankedChain parent a a | step {a b c : List F} (s : OrderedStep parent a b) (hs : s.decoration.Conservative r) (p : RankedChain parent b c) : RankedChain parent a c namespace RankedChain variable {r} {parent : F}Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedStep
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.forgetline 245 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.transline 249 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.singleline 253 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.splitline 256 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.mergeline 262 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.passageline 268 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.row_rank_sumline 278 - theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ranked_refine_rowsline 288Source documentation
Rank conservation is verified on every refinement branch, not merely on the parent at the ends of a band.
theorem ranked_refine_rows (parent : F) (rows : List (F × List F)) (left right : List F) (hp : r parent=listRank r (left++(rows.map Prod.fst++right))) (hr : ∀ x∈rows, r x.1=listRank r x.2) : Nonempty (RankedChain r parent (left++(rows.map Prod.fst++right)) (left++(rows.flatMap Prod.snd++right))) ∧ Nonempty (RankedChain r parent (left++(rows.flatMap Prod.snd++right)) (left++(rows.map Prod.fst++right))) := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain
- theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ranked_permutation_chainline 312Source documentation
Adjacent interchanges preserve the numerical rank of the parent, including zero blocks; this is the ranked version of the permutation producer.
theorem ranked_permutation_chain (parent : F) {m : ℕ} (σ : Equiv.Perm (Fin m)) : ∀ (f : Fin m → F), r parent=listRank r (List.ofFn f) → Nonempty (RankedChain r parent (List.ofFn f) (List.ofFn (f ∘ σ.symm))) := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain
- theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ranked_equivalence_chainline 338 - theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ranked_rectangular_permutationline 345 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.listRank_flattenline 356 - theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.ranked_two_flag_galleryline 363Source documentation
Finite ranked two-flag band under the exact intersection-rank identities. No properness or positivity is required until later zero-block normalization.
theorem ranked_two_flag_gallery (parent : F) {m n : ℕ} (row : Fin m → F) (col : Fin n → F) (grid : Fin m → Fin n → F) (hp : r parent=∑ i,r (row i)) (hr : ∀ i,r (row i)=∑ j,r (grid i j)) (hc : ∀ j,r (col j)=∑ i,r (grid i j)) : Nonempty (RankedChain r parent (List.ofFn row) (List.ofFn col)) := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.Conservativeline 397 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.conservative_consline 399 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.conservative_headIdentityline 409 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.OrderedWalk.realize_conservativeline 416 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RankedChain.walk_conservativeline 423 - theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.produced_ranked_two_flag_bandline 431Source documentation
The finite band is an allowed incidence patch with the full rank identity at every port. Rank conservation is produced, not an extra interface.
theorem produced_ranked_two_flag_band {m n : ℕ} (row : Fin m → F) (col : Fin n → F) (grid : Fin m → Fin n → F) (hp : r parent=∑ 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 parent (List.ofFn row) (List.ofFn col), ∀ v,(B.decoration v).Conservative r := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.RealizedBand
- def
OAI.IntegralCharacterVarieties.flagGridSumline 445Source documentation
All blocks in a rectangular lower-left prefix.
def flagGridSum {K V : Type*} [Field K] [AddCommGroup V] [Module K V] (W : ℕ → ℕ → Submodule K V) (i j : ℕ) : Submodule K V := … - lemma
OAI.IntegralCharacterVarieties.fin_iSup_castSuccline 450 - lemma
OAI.IntegralCharacterVarieties.flagGridSum_cornerline 462 - lemma
OAI.IntegralCharacterVarieties.twoFlagGrid_chooseline 469 - lemma
OAI.IntegralCharacterVarieties.twoFlagGrid_spansline 482 - lemma
OAI.IntegralCharacterVarieties.twoFlagGrid_dim_cornerline 497 - lemma
OAI.IntegralCharacterVarieties.grid_sum_cornerline 516 - lemma
OAI.IntegralCharacterVarieties.grid_sum_uniqueline 524 - def
OAI.IntegralCharacterVarieties.finiteSubmoduleSumline 540 - lemma
OAI.IntegralCharacterVarieties.finiteSubmoduleSum_surjectiveline 546 - theorem
OAI.IntegralCharacterVarieties.two_flag_common_splittingline 565Source documentation
Every pair of finite flags has one simultaneous free splitting, including flags with repeated terms/zero blocks.
theorem two_flag_common_splitting {K V : Type*} [Field K] [AddCommGroup V] [Module K V] [FiniteDimensional K V] (F H : ℕ → Submodule K V) (hF : Monotone F) (hH : Monotone H) (hF0 : F 0=⊥) (hH0 : H 0=⊥) (n m : ℕ) (hFn : F n=⊤) (hHm : H m=⊤) : ∃ W : ℕ → ℕ → Submodule K V, (∀ i j, F i ⊓ H j=flagGridSum W i j) ∧ Function.Bijective (fun v : (p : Fin n × Fin m) → W p.1.val p.2.val => ∑ p, (v p : V)) := by …