OAI/AlgebraicGeometry/CharacterVarieties/Foundation/BoundaryCycles.lean
68 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.IntegralCharacterVarieties.FiniteCycles.Componentline 12 - def
OAI.IntegralCharacterVarieties.FiniteCycles.representativeline 14 - def
OAI.IntegralCharacterVarieties.FiniteCycles.lengthline 16 - lemma
OAI.IntegralCharacterVarieties.FiniteCycles.length_posline 18 - def
OAI.IntegralCharacterVarieties.FiniteCycles.entryline 21 - lemma
OAI.IntegralCharacterVarieties.FiniteCycles.component_atline 24 - lemma
OAI.IntegralCharacterVarieties.FiniteCycles.at_nextline 32 - lemma
OAI.IntegralCharacterVarieties.FiniteCycles.at_injectiveline 39 - lemma
OAI.IntegralCharacterVarieties.FiniteCycles.at_surjectiveline 44 - def
OAI.IntegralCharacterVarieties.FiniteCycles.enumerationline 54Source documentation
Every side occurrence appears once, even in self-incidence cycles.
def enumeration : ((c : Component p) × Fin (length p c)) ≃ α := …
Mentions: OAI.IntegralCharacterVarieties.FiniteCycles.Component, OAI.IntegralCharacterVarieties.FiniteCycles.length
- lemma
OAI.IntegralCharacterVarieties.FiniteCycles.iterate_facetline 68 - def
OAI.IntegralCharacterVarieties.FiniteCycles.componentFacetline 73 - lemma
OAI.IntegralCharacterVarieties.FiniteCycles.at_facetline 77 - abbrev
OAI.IntegralCharacterVarieties.FiniteCycles.FacetComponentsline 80 - instance
OAI.IntegralCharacterVarieties.FiniteCycles.finiteComponentsline 82 - instance
OAI.IntegralCharacterVarieties.FiniteCycles.finiteFacetComponentsline 83 - def
OAI.IntegralCharacterVarieties.FiniteCycles.componentCountline 85 - def
OAI.IntegralCharacterVarieties.FiniteCycles.componentIndexline 86 - def
OAI.IntegralCharacterVarieties.FiniteCycles.boundaryLengthline 89 - lemma
OAI.IntegralCharacterVarieties.FiniteCycles.boundaryLength_posline 92 - def
OAI.IntegralCharacterVarieties.FiniteCycles.facetEnumerationline 96Source documentation
Historical facet labels survive grouping: several cycles may belong to one surface, and a side on that surface can occur any number of times.
def facetEnumeration : ((f : F) × (b : Fin (componentCount p facet f)) × Fin (boundaryLength p facet f b)) ≃ α := …Mentions: OAI.IntegralCharacterVarieties.FiniteCycles.componentCount, OAI.IntegralCharacterVarieties.FiniteCycles.boundaryLength
- lemma
OAI.IntegralCharacterVarieties.FiniteCycles.facetEnumeration_applyline 104 - lemma
OAI.IntegralCharacterVarieties.FiniteCycles.facetEnumeration_facetline 109 - lemma
OAI.IntegralCharacterVarieties.FiniteCycles.facetEnumeration_nextline 115 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.fromPortsline 127Source documentation
Construct every boundary circle from the oriented corner involution. In particular no boundary-coverage or cyclic-closure premise is imposed on a new rank-reduction diagram. Facet labels may repeat, and closed facets have zero cycles.
def fromPorts {F S V : Type} [Finite S] {arity : S → ℕ} (A : PortAssembly F S V arity) (rank genus : F → ℕ) (h : ∀ s, rank (A.facet ⟨s,none⟩)=∑ j,rank (A.facet ⟨s,some j⟩)) : Diagram F S V arity where …Mentions: OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram
- lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.fromPorts_retainsline 143Source documentation
The constructor alters no facet labels, numerical ranks, seam ranks or handles.
lemma fromPorts_retains {F S V : Type} [Finite S] {arity : S → ℕ} (A : PortAssembly F S V arity) (rank genus : F → ℕ) (h : ∀ s, rank (A.facet ⟨s,none⟩)=∑ j,rank (A.facet ⟨s,some j⟩)) : (fromPorts A rank genus h).ports=A ∧ (fromPorts A rank genus h).rank=rank ∧ (fromPorts A rank genus h).genus=genus := ⟨rfl,rfl,rfl⟩Mentions: OAI.IntegralCharacterVarieties.SurfacePresentation.fromPorts
- lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.fromPorts_boundary_uniqueline 150Source documentation
Strong occurrence-sensitive coverage, including all self-incidences.
lemma fromPorts_boundary_unique {F S V : Type} [Finite S] {arity : S → ℕ} (A : PortAssembly F S V arity) (rank genus : F → ℕ) (h : ∀ s, rank (A.facet ⟨s,none⟩)=∑ j,rank (A.facet ⟨s,some j⟩)) (a : Side S arity) : ∃! z, (fromPorts A rank genus h).boundarySide z=a := …Mentions: OAI.IntegralCharacterVarieties.SurfacePresentation.fromPorts
- abbrev
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortAtline 161 - structure
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiringline 164Source documentation
A wiring joins whole ordered ports of equal arity with opposite endpoint orientations. No side-germ is allowed to migrate to another seam on its own.
structure PortWiring where …
- abbrev
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.Seamline 170 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.seamArityline 172 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.portAtline 175Source documentation
Both ends of each newly assembled seam, with their original local ports.
def portAt : W.Seam × Bool → LocalPort V kind | (s,true) => s.val | (s,false) => (W.wire s).val
Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.LocalPort
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.endOfline 179 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.portAt_endOfline 183 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.endOf_portAtline 190 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.attachline 201 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.endpointline 207 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.countline 214 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.sideOfline 224Source documentation
The side belonging to one local germ after whole-port wiring.
def sideOf (x : LocalEnd V kind) : Side W.Seam W.seamArity := …
Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.LocalEnd, OAI.IntegralCharacterVarieties.OccurrenceIncidence.Side
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.assembleline 229Source documentation
Gluing constructor.
def assemble {F : Type} (facet : Side W.Seam W.seamArity → F) (h : ∀ x, facet (W.sideOf (localMate x))=facet (W.sideOf x)) : PortAssembly F W.Seam V W.seamArity where …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.Side, OAI.IntegralCharacterVarieties.OccurrenceIncidence.localMate, OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortAssembly
- lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.assemble_facetline 239 - instance
OAI.IntegralCharacterVarieties.OccurrenceIncidence.PortWiring.finiteSeamline 243 - structure
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.Properline 252Source documentation
Exactly the source normalization: delete zero facets/children and sew identity seams BEFORE closed factors are separated.
structure Proper : Prop where …
- lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.proper_child_ltline 258 - lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.maximal_side_parentline 276Source documentation
Every maximal-rank occurrence is a parent. Repeated occurrences of the same facet are not collapsed: this assertion is made separately for each side.
lemma maximal_side_parent {n : ℕ} (hn : ∀ f, D.rank f ≤ n) (a : Side S arity) (ha : D.rank (D.ports.facet a)=n) : a.2=none := by … - lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.maximal_boundary_parentline 286 - lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.maximal_local_parentline 291 - lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.maximal_corner_parentsline 297Source documentation
At the paired corner of a maximal side the other side is also a parent. Thus branch-child corners cannot occur on the maximal disk boundary.
lemma maximal_corner_parents {n : ℕ} (hn : ∀ f, D.rank f ≤ n) (x : LocalEnd V D.ports.kind) (hx : D.rank (D.ports.facet (D.portSide ⟨x.1,x.2.1⟩ x.2.2))=n) : x.2.2=none ∧ (localMate x).2.2=none := by … - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind.principalInline 309Source documentation
Along a maximal oriented facet this is the incoming parent port. A branch parent at a split is paired to a CHILD, so cannot lie on such a facet.
def Kind.principalIn : (k : Kind) → k.table.Port | .passage _ _ => false | .splitting _ _ _ false => .before | .splitting _ _ _ true => .after
Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.passage
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind.principalOutline 314 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind.principal_endpointline 319 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind.principal_mateline 325 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind.principal_uniqueline 331 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.localFinishline 350 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.localStartline 351 - lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.realize_localFinishline 353 - lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.realize_localStartline 355 - lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.localFinish_mateline 358 - lemma
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.maximal_finish_portsline 365 - def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.eventVertexline 385Source documentation
Vertex visited after the named interval occurrence.
def eventVertex (f : F) (b : Fin (D.boundaryCount f)) (i : Fin (D.boundaryLength f b)) : V := …
- def
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.nextBoundaryIndexline 388 - theorem
OAI.IntegralCharacterVarieties.SurfacePresentation.Diagram.maximal_event_germsline 392Source documentation
Both principal parent germs of the event are the ORIGINAL boundary germs. The second equality includes the last-to-first corner of the disk exactly.
theorem maximal_event_germs (h : D.Proper) {n : ℕ} (hn : ∀ f, D.rank f ≤ n) (f : F) (hf : D.rank f=n) (b : Fin (D.boundaryCount f)) (i : Fin (D.boundaryLength f b)) : D.ports.realize ⟨D.eventVertex f b i,(D.ports.kind (D.eventVertex f b i)).principalIn,none⟩ = finish (D.boundarySide ⟨f,b,i⟩) ∧ D.ports.realize ⟨D.eventVertex f b i,(D.ports.kind (D.eventVertex f b i)).principalOut,none⟩ = start (D.boundarySide ⟨f,b,D.nextBoundaryIndex f b i⟩) := by … - structure
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Decorationline 421Source documentation
Facet names are attached to EACH local germ, even when their values repeat.
structure Decoration (k : Kind) (F : Type) where …
Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind
- def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.passageDecorationline 427 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.splitColorline 439 - lemma
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.splitColor_cornerline 453 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.splittingDecorationline 462 - def
OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Decoration.mapline 469Source documentation
Replacing names uniformly preserves all corner incidences, so a local recipe may be used when several of its named old facets coincide globally.
def Decoration.map {k : Kind} {G : Type} (d : Decoration k F) (f : F → G) : Decoration k G where …Mentions: OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Kind, OAI.IntegralCharacterVarieties.OccurrenceIncidence.VertexTable.Decoration