OAI/AlgebraicGeometry/CharacterVarieties/Foundation/SurfacePresentation.lean
106 declarations, 0 contain sorry, 0 declared as axioms
- structure
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagramline 13Source documentation
The finite oriented boundary cycles contain each side occurrence exactly once. Their successor is the one constructed from the allowed vertices. No cycle is discarded if a facet or a seam appears repeatedly.
structure Diagram (F S V : Type) (arity : S → ℕ) where …
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.seamDimline 29 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.childDimline 30 - inductive
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.Generatorline 33Source documentation
Every frame and every transport has its own occurrence index. Handle generators are retained even on closed or multiply incident facets.
inductive Generator where …
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.generatorRankline 38 - instance
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.finiteGeneratorline 43 - abbrev
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.Wordline 59 - structure
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.Puncturesline 62Source documentation
Scalar punctures, as prescribed full-ring units. Quasi-unipotence will be imposed at the density stage; the representing scheme itself needs only units.
structure Punctures (D : Diagram F S V arity) (R : Type*) [CommRing R] where …
Mentions: OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.frameWordline 67 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.sideWordline 68 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.parentWordline 70 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.childWordline 71 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.wordProductline 73 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.commutatorWordline 76 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.boundaryEdgeWordline 81 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.boundaryWordline 86Source documentation
Matrix transport reads a positive boundary path from right to left.
def boundaryWord (f : F) (b : Fin (D.boundaryCount f)) : D.Word R (D.rank f) := …
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.surfaceWordline 89 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.scalarUnitline 93 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.surfaceTargetline 96 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.seamLeftline 100Source documentation
Seam-parallel transport from false to true uses the inverse CHILD transport, since each child's boundary orientation is opposite to the parent's.
def seamLeft (s : S) : D.Word R (D.seamDim s) := .mul (D.parentWord s) (D.frameWord s false)
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.seamRightline 101 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.seamGradeline 105Source documentation
Ordered flag grade for the direct sum of the child fibers.
def seamGrade (s : S) (i : Fin (D.seamDim s)) : ℕ := ((blockIndex (D.childDim s)) i).1.val
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.edgeCircuitline 108Source documentation
The surface and regular seam part of the diagram equations.
def edgeCircuit (P : D.Punctures R) : FlagCircuit.Data R D.Generator D.generatorRank (F ⊕ S) where …
- abbrev
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.EdgeCoordinateline 115Source documentation
The finite matrix presentation of this portion of the local-system scheme, including inverses and all oriented boundary/facet equations.
abbrev EdgeCoordinate (P : D.Punctures R) := (D.edgeCircuit P).Coordinate …
Mentions: OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.Coordinate
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.edgePointsEquivline 119 - structure
OAI.IntegralCharacterVarieties.MatrixIsoline 130Source documentation
A genuinely invertible rectangular coordinate matrix; source and target fiber labels can differ, even if both occur on a single facet.
structure MatrixIso (R : Type*) [CommRing R] (α β : Type*) [Fintype α] [Fintype β] where …
- def
OAI.IntegralCharacterVarieties.MatrixIso.linearEquivline 140 - def
OAI.IntegralCharacterVarieties.MatrixIso.reflline 146 - def
OAI.IntegralCharacterVarieties.MatrixIso.symmline 147 - def
OAI.IntegralCharacterVarieties.MatrixIso.transline 148 - def
OAI.IntegralCharacterVarieties.MatrixIso.unitline 154 - def
OAI.IntegralCharacterVarieties.MatrixIso.reindexline 164 - def
OAI.IntegralCharacterVarieties.MatrixIso.congrline 171 - def
OAI.IntegralCharacterVarieties.MatrixIso.blockline 173 - def
OAI.IntegralCharacterVarieties.MatrixIso.sumline 192 - def
OAI.IntegralCharacterVarieties.MatrixIso.mapline 205 - theorem
OAI.IntegralCharacterVarieties.MatrixIso.sameFramedFlag_iffline 212Source documentation
Identified-flag equality, in matrix coordinates without equating or forgetting any of its named fibers.
theorem sameFramedFlag_iff (a : α → ℕ) (x y : MatrixIso R α β) : SameFramedFlag a x.linearEquiv y.linearEquiv ↔ ∀ i j, a j ≤ a i → (y.inv*x.val) i j=(1 : Matrix α α R) i j := by …Mentions: OAI.IntegralCharacterVarieties.MatrixIso, OAI.IntegralCharacterVarieties.SameFramedFlag
- instance
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.fintypePortline 234 - instance
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.fintypeChildline 235 - structure
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanksline 238Source documentation
Ranks are attached to local occurrences. Their only identification is the corner pairing from the source vertex table.
structure LocalRanks (k : Kind) where …
Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind
- abbrev
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.Parentline 245 - abbrev
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.Childline 246 - abbrev
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.Columnsline 247 - instance
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.fintypeColumnsline 248 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.cornerEquivline 252 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.portSideline 266Source documentation
Each local port remembers its entire parent/child list at that precise endpoint. Facet labels may repeat without identifying any side coordinates.
def portSide (p : LocalPort V D.ports.kind) (c : Option ((D.ports.kind p.1).table.Child p.2)) : Side S arity := …
- lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.portSide_eqline 269 - lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.portFacet_cornerline 272 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.vertexRanksline 278Source documentation
Local vertex ranks are derived from the diagram, NOT additional rank hypotheses that might exclude one of its solutions.
def vertexRanks (v : V) : VertexTable.LocalRanks (D.ports.kind v) where …
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.portColumnIndexline 287 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.portRowIndexline 292 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.portFrameline 299Source documentation
The rectangular seam frame. Both child and parent bases come from named occurrences; all reindexings are fixed by the source incidence data.
def portFrame (g : (e : D.Generator) → (Matrix (Fin (D.generatorRank e)) (Fin (D.generatorRank e)) R)ˣ) (p : LocalPort V D.ports.kind) : MatrixIso R ((D.vertexRanks p.1).Columns p.2) ((D.vertexRanks p.1).Parent p.2) := …Mentions: OAI.IntegralCharacterVarieties.MatrixIso
- structure
OAI.IntegralCharacterVarieties.FlagComparisonline 312Source documentation
One comparison of flags carrying their named graded fibers.
structure FlagComparison (R : Type*) [CommRing R] where …
- abbrev
OAI.IntegralCharacterVarieties.FlagComparison.Entryline 324 - def
OAI.IntegralCharacterVarieties.FlagComparison.equationline 325 - def
OAI.IntegralCharacterVarieties.FlagComparison.Holdsline 326 - theorem
OAI.IntegralCharacterVarieties.FlagComparison.holds_iff_equationsline 328 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.passageGradeline 342Source documentation
Fine list positions, with exactly the prescribed pair merged for an adjacent interchange. This retains the entire A⊕B identified quotient.
def passageGrade {m : ℕ} (t : Passage m) (j : Fin m) : ℕ := …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Passage
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.passageColumnsline 347 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.passageParentline 352 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.passageComparisonline 357 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.forwardRanksline 372Source documentation
Reversal changes germ endpoint directions, not any fiber/refinement data.
def forwardRanks (d : LocalRanks (.splitting a b c true)) : LocalRanks (.splitting a b c false) := …
Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.prefixRankline 375 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.suffixRankline 378 - abbrev
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.SplitAline 381 - abbrev
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.SplitCline 383 - abbrev
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.SplitBline 385 - abbrev
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.SplitWline 387 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitBeforeline 391Source documentation
Ordered source decomposition of before and after lists.
def splitBefore (d : LocalRanks (.splitting a b c false)) : d.Columns .before ≃ (d.SplitA false ⊕ (d.SplitW ⊕ d.SplitC false)) where …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitAfterline 407 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitPrefixline 418 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitSuffixline 420 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitBranchChildrenline 422 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitBranchParentline 424 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitParentline 426 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitRefinementline 430Source documentation
Refinement: leave every old prefix/suffix fiber unchanged, and in exactly the old W-block insert its named third-seam frame.
def splitRefinement (d : LocalRanks (.splitting a b c false)) (w : @MatrixIso R _ (d.Columns .branch) (d.Parent .branch) (d.fintypeColumns .branch) inferInstance) : @MatrixIso R _ (d.Columns .after) (d.Columns .before) (d.fintypeColumns .after) (d.fintypeColumns .before) := by …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks, OAI.IntegralCharacterVarieties.MatrixIso
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitComparisonline 440 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.comparisonline 455Source documentation
All and only the permitted source vertex comparisons, including complement and quotient maps at a swap, and reverse refinement at a merge.
def comparison : (k : Kind) → (d : LocalRanks k) → (∀ p, MatrixIso R (d.Columns p) (d.Parent p)) → FlagComparison R | .passage _ _,d,f => d.passageComparison f | .splitting _ _ _ false,d,f => d.splitComparison f | .splitting _ _ _ true,d,f => d.forwardRanks.splitComparison f end LocalRanks end OccurrenceIncidence.VertexTable end IntegralCharacterVarieties namespace IntegralCharacterVarieties open scoped Classical Matrix namespace MatrixIso …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks, OAI.IntegralCharacterVarieties.MatrixIso, OAI.IntegralCharacterVarieties.FlagComparison, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.passage, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable
- theorem
OAI.IntegralCharacterVarieties.MatrixIso.extline 470 - lemma
OAI.IntegralCharacterVarieties.MatrixIso.map_reflline 473 - lemma
OAI.IntegralCharacterVarieties.MatrixIso.map_transline 476 - lemma
OAI.IntegralCharacterVarieties.MatrixIso.map_reindexline 480 - lemma
OAI.IntegralCharacterVarieties.MatrixIso.map_congrline 484 - lemma
OAI.IntegralCharacterVarieties.MatrixIso.map_sumline 487 - lemma
OAI.IntegralCharacterVarieties.MatrixIso.map_unitline 492 - def
OAI.IntegralCharacterVarieties.FlagComparison.mapline 498 - theorem
OAI.IntegralCharacterVarieties.FlagComparison.equation_mapline 507 - theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.splitComparison_mapline 523 - theorem
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.LocalRanks.comparison_mapline 535 - theorem
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.portFrame_mapline 551 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.vertexComparisonline 558Source documentation
Comparison at this vertex, with the occurrence transports already expressed in the shared facet frames.
def vertexComparison (g : (e : D.Generator) → (Matrix (Fin (D.generatorRank e)) (Fin (D.generatorRank e)) R)ˣ) (v : V) : FlagComparison R := … - theorem
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.vertexComparison_mapline 564 - def
OAI.IntegralCharacterVarieties.EquationQuotient.idealline 574 - abbrev
OAI.IntegralCharacterVarieties.EquationQuotient.Coordinateline 575 - lemma
OAI.IntegralCharacterVarieties.EquationQuotient.ideal_le_kerline 577 - def
OAI.IntegralCharacterVarieties.EquationQuotient.pointsEquivline 584Source documentation
Exact equation quotient over any full coefficient ring.
def pointsEquiv : {φ : B →ₐ[R] A // ∀ j, φ (e j)=0} ≃ (Coordinate e →ₐ[R] A) where …Mentions: OAI.IntegralCharacterVarieties.EquationQuotient.Coordinate
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.universalEdgeline 608 - abbrev
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.VertexEntryline 612 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.vertexEquationline 614 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.VertexHoldsline 618Source documentation
All permitted vertex conditions on the matrix system.
def VertexHolds (g : (e : D.Generator) → (Matrix (Fin (D.generatorRank e)) (Fin (D.generatorRank e)) A)ˣ) : Prop := … - abbrev
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.Coordinateline 623Source documentation
The finite coordinate algebra, retaining all surface relations, all regular seam identifications and all vertex refinements/complements.
abbrev Coordinate := EquationQuotient.Coordinate (D.vertexEquation P)
Mentions: OAI.IntegralCharacterVarieties.EquationQuotient.Coordinate
- abbrev
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.Solutionline 626Source documentation
The split-frame solution functor of the incidence diagram.
abbrev Solution (A : Type*) [CommRing A] [Algebra R A] := …
- theorem
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.vertex_equations_iffline 630Source documentation
Specialization of the universal vertex equations is precisely the stated geometric vertex condition, including the natural maps at a swap.
theorem vertex_equations_iff (φ : D.EdgeCoordinate P →ₐ[R] A) : (∀ j, φ (D.vertexEquation P j)=0) ↔ D.VertexHolds ((D.edgePointsEquiv P).symm φ).val := by … - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.pointsEquivline 652Source documentation
The equivalence works over an arbitrary commutative algebra, in particular the full ring of integers, and retains forward AND inverse entries.
def pointsEquiv : D.Solution P A ≃ (D.Coordinate P →ₐ[R] A) := …
- instance
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.finiteVertexEntryline 658 - instance
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.finiteTypeline 659