The statement surface, defined #
Every definition the theorems of record are phrased in, in one self-contained
module: the flag model of multigraph fragments with its gluing, fragment
isomorphism, composition, the connection pairing and the edge-rank hypothesis,
Eulerian edge subsets, the mixed partition function (Regts–Sevenster's
Definition 5), the three named statements, the symmetric monoidal category of
super vector spaces, the vocabulary of Deligne's hypotheses, and Deligne's
theorem, which RS/Classical/Deligne/ proves.
This module imports only the Mathlib funnel (RS/Common/MathlibDeps.lean, an
import list with no content), so its meaning is determined by this file
against Mathlib alone. It is the trusted surface of the comparator
certification: Challenge.lean carries a copy of the sections below, against
Mathlib alone, and states the theorems of record with sorry; Solution.lean
proves each by the theorem of record of the same name, against the definitions
here. Comparator confirms at the kernel-export level that the two sides prove
identical statements about identical definitions — the definitions below. The
rest of the tree imports them from here rather than restating them, so this
file is the single source of what the theorems mean.
How to read it. Each section names the theory it carries; the rest of the repository builds on these declarations by import, so what is written here is, verbatim, what the theorems of record are about. The order is: the sorting sign; fragments and gluing; fragment isomorphism; composition; connection pairings and the edge-rank hypothesis; Eulerian edge subsets; the mixed partition function; the named statements; super vector spaces; the vocabulary of Deligne's hypotheses; and Deligne's theorem.
1. Inversions and the sorting sign #
The sorting sign supplies the antisymmetry of the odd-colour evaluation in
Definition 5: reordering the odd colours multiplies the vertex value by the
sign of the permutation, realized as (−1) to the inversion count.
The number of inversions of a list over a linear order.
Equations
- RS.inversions [] = 0
- RS.inversions (a :: l) = (List.filter (fun (b : α) => decide (b < a)) l).length + RS.inversions l
Instances For
The sorting sign of a list: (−1) to the number of
inversions.
Equations
- RS.sortSign l = (-1) ^ RS.inversions l
Instances For
2. The flag model of multigraph fragments #
A fragment is a finite multigraph in half-edge (flag) form: flags attach to
internal vertices or to boundary labels, a fixed-point-free involution pairs
flags into edges, each boundary label carries exactly one flag, and free
circles are counted separately. Gluing two boundary labels either closes an
edge into a free circle (when the two flags bound a common edge) or rewires
the two edges end to end. These are the graphs the main theorems quantify
over; ClosedFragment below is the case of no boundary labels.
A fragment over the boundary-label type α: a finite multigraph
in half-edge (flag) form whose dangling flags are labelled
bijectively by α, together with a count of free circles.
- Flag : Type
The type of flags (half-edges).
- Vertex : Type
The type of internal vertices.
Flags form a finite type with decidable equality.
- flagDecEq : DecidableEq self.Flag
Vertices form a finite type.
Each flag is attached to an internal vertex or to a boundary label.
The edge involution: every flag has a partner.
The pairing is an involution.
The pairing has no fixed points.
- boundaryFlag : α → self.Flag
The flag at each boundary label.
- circles : ℕ
Free circles, counted separately.
Instances For
Boundary flags of distinct labels are distinct.
Bounding a common edge is symmetric in the two labels: if the
flag at i pairs to the flag at j, then the flag at j pairs back
to the flag at i.
The closed fragment with no flags, no vertices, and a given number of free circles.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Single-pair gluing #
The flags surviving a glue at {i, j}: all but the two glued
boundary flags.
Equations
- W.SurvivingFlag i j = { f : W.Flag // f ≠ W.boundaryFlag i ∧ f ≠ W.boundaryFlag j }
Instances For
The attachment map computed at a given value of W.attach,
which is supplied together with the equation identifying it. Taking
the value as a parameter is what lets every proof below reason by
cases on it, so glueAttach itself is never unfolded.
Equations
- W.glueAttachOn i j f (Sum.inl v) x_2 = Sum.inl v
- W.glueAttachOn i j f (Sum.inr ℓ) ha = Sum.inr ⟨ℓ, ⋯⟩
Instances For
The attachment map after gluing at {i, j}: unchanged, with the
label type restricted to the surviving labels.
Equations
- W.glueAttach i j f = W.glueAttachOn i j f (W.attach ↑f) ⋯
Instances For
glueAttachOn returns, under the label inclusion, exactly the
value of attach it was handed.
glueAttach agrees with attach under the label inclusion.
The rewired pairing for an open glue (the two glued flags do not bound a common edge): the far ends of the two glued edges become partners; all other flags keep their partners.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Rewiring across an open glue is an involution: it is the glued fragment's edge pairing.
And fixed-point-free, so the glued fragment is again a fragment.
The glued fragment #
The boundary flag of a surviving label survives the glue.
Equations
- W.glueBoundaryFlag i j ℓ = ⟨W.boundaryFlag ↑ℓ, ⋯⟩
Instances For
The glued attachment lands on a surviving label exactly when the original attachment lands on its underlying label.
The glued attachment lands on a vertex exactly when the original
attachment does. With glueAttach_inr_iff this characterises
glueAttach, so no proof needs to unfold it.
The surviving label a flag glues onto, with its equation.
Case analysis on glueAttach, phrased on the value of attach.
This is the eliminator every proof below uses: it replaces unfolding
the definition, so glueAttach is never unfolded anywhere.
The glued attachment of a surviving label's flag is that label.
A surviving flag attached to a surviving label is that label's boundary flag.
A glue at {i, j} with a prescribed pairing and circle count.
Flags, vertices, attachment and boundary flags of a single-pair glue
are determined by W alone; only the pairing and the circle count
tell the closed and open glues apart. Naming that common part gives
the two glues a single shape, so any fact about a glue that does not
mention its pairing is proved once.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gluing the boundary labels i ≠ j when their flags bound a
common edge: the edge closes into a free circle.
Equations
- W.gluePairClosed i j hclosed = W.glueWith i j (fun (f : W.SurvivingFlag i j) => ⟨W.pairing ↑f, ⋯⟩) ⋯ ⋯ (W.circles + 1)
Instances For
Gluing the boundary labels i ≠ j when their flags bound
distinct edges: the two edges are unified by rewiring.
Equations
- W.gluePairOpen i j hij hopen = W.glueWith i j (RS.Fragment.rewire hopen) ⋯ ⋯ W.circles
Instances For
Gluing a pair of distinct boundary labels: the two half-edges at
i and j are joined. If they bound a common edge it closes into a
free circle; otherwise their edges are unified end to end.
Equations
- W.gluePair i j hij = if hclosed : W.pairing (W.boundaryFlag i) = W.boundaryFlag j then W.gluePairClosed i j hclosed else W.gluePairOpen i j hij hclosed
Instances For
3. Isomorphism of fragments #
The hypothesis class asks parameters to be isomorphism-invariant; this is the
notion of isomorphism. (RS/Novel/Skein/FragmentEquiv.lean proves the
equivalences form a groupoid and are congruences for the fragment operations.)
An equivalence of fragments: a pair of type equivalences on flags and vertices commuting with attachment, pairing, and boundary-flag data, preserving the circle count.
The equivalence of flag types.
The equivalence of vertex types.
- attach_comm (f : W₁.Flag) : W₂.attach (self.flagEquiv f) = Sum.map (⇑self.vertexEquiv) id (W₁.attach f)
The flag equivalence commutes with attachment.
The flag equivalence commutes with pairing.
The circle counts agree.
Instances For
4. Composition of fragments #
An (s + t)-fragment and a (t + u)-fragment compose by gluing the last t
labels of the first to the first t of the second, top pair first, through
the single-pair gluing above; the label bookkeeping is by one-point removals
of Fin indices. Composition is what the connection pairing evaluates.
Removing a point #
Removing inl a and inr b from a sum splits into the two
one-point removals.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The label re-indexing after gluing the top interface pair:
removing the last label on the left and label t on the right.
Equations
- RS.interfaceStepEquiv s t u = (RS.sumRemoveSplitEquiv ⟨s + t, ⋯⟩ ⟨t, ⋯⟩).trans ((RS.finRemoveEquiv ⟨s + t, ⋯⟩).sumCongr (RS.rightRemoveEquiv t u))
Instances For
Gluing an interface #
Glue the t interface labels of a fragment over
Fin (s + t) ⊕ Fin (t + u): the pairs (inl (s + k), inr k) for
k < t, glued top pair first.
Equations
- RS.glueInterface s 0 x✝¹ x✝ = x✝.relabel ((finCongr ⋯).sumCongr (finCongr ⋯))
- RS.glueInterface s t.succ x✝¹ x✝ = RS.glueInterface s t x✝¹ ((x✝.gluePair (Sum.inl ⟨s + t, ⋯⟩) (Sum.inr ⟨t, ⋯⟩) ⋯).relabel (RS.interfaceStepEquiv s t x✝¹))
Instances For
Composition of fragments: glue the last t labels of F to the
first t labels of G, in order.
Equations
- F.compose G = (RS.glueInterface s t u (F.disjUnion G)).relabel finSumFinEquiv
Instances For
5. Connection pairings and the edge-rank hypothesis #
The connection pairing of a parameter at arity t closes two t-fragments
against each other; the edge-rank hypothesis bounds, for every t, the rank
of that pairing by R ^ t, phrased as the Module.rank of the range of the
curried pairing (RS/Novel/Skein/ConnectionRank.lean proves this equivalent
to the finite-submatrix reading of the literature; that equivalence is a
theorem about the hypothesis and is not needed to state it).
EdgeRankParameter packages the hypothesis class of the forward direction:
normalized at the empty graph, isomorphism-invariant, rank-bounded.
A closed fragment: no boundary labels.
Equations
Instances For
The full closure of two t-fragments: compose them as a
(0 + t)- and a (t + 0)-fragment.
Instances For
The connection pairing of a parameter at arity t.
Equations
- RS.connectionPairing f t F G = f (RS.pairClose F G)
Instances For
The curried connection pairing as a linear map from the free
module on t-fragments to the function space.
Equations
- RS.connectionMap f t = (Finsupp.lift (RS.Fragment (Fin t) → ℂ) ℂ (RS.Fragment (Fin t))) fun (F G : RS.Fragment (Fin t)) => RS.connectionPairing f t F G
Instances For
The edge-rank hypothesis H2: the connection pairing at every
arity has rank at most R ^ t.
Equations
- RS.EdgeRankBounded f R = ∀ (t : ℕ), Module.rank ℂ ↥(RS.connectionMap f t).range ≤ ↑R ^ t
Instances For
The empty closed fragment.
Equations
Instances For
The hypothesis class of the main theorem: a parameter on closed fragments, normalized on the empty graph, with exponentially bounded connection rank.
- val : ClosedFragment → ℂ
The parameter, on concrete closed fragments.
The parameter takes the value
1on the empty graph.- iso_invariant (W₁ W₂ : ClosedFragment) : ∀ (a : Fragment.Equiv W₁ W₂), self.val W₁ = self.val W₂
The parameter is invariant under fragment isomorphism.
- rank_bounded : EdgeRankBounded self.val R
The rank bound.
Instances For
6. Eulerian edge subsets and circuit data #
Definition 5 sums over pairing-closed flag subsets in which every vertex has
even degree. A transition system is the local pairing κ of Definition 5: a
second fixed-point-free involution matching participating flags at common
vertices. Following an edge and then the matching generates the circuit walks;
each geometric circuit of n edges appears as two walk-cycles (its two
directions) when n ≥ 2 and as two walk fixed points when n = 1, so the
circuit count is half the number of orbits.
An edge subset of a fragment: a flag set closed under the edge pairing.
The participating flags.
The set is closed under the edge pairing.
Instances For
A transition system on an edge subset: a fixed-point-free
involution of its flags matching flags at a common internal
vertex. This is the local pairing data κ of Definition 5.
The matching.
The matching is an involution on the participating flags.
The matching has no fixed points on the participating flags.
The matching stays within the participating flags.
- match_vertex (f : W.Flag) : f ∈ F.flags → ∀ (v : W.Vertex), W.attach f = Sum.inl v → W.attach (self.match_ f) = Sum.inl v
Matched flags share an internal vertex.
Only internally attached flags participate.
Instances For
The walk map of a transition system: follow the edge to the partner flag, then the matching at its vertex.
Instances For
The walk map preserves the participating flags.
The walk map is injective on the participating flags.
The walk permutation of a transition system: the walk map as a permutation of the participating flags.
Instances For
The circuit count of a transition system: each geometric circuit
of n edges carries two walk-cycles of length n when n ≥ 2 and
two walk fixed points when n = 1, so the count is half the total
number of orbits.
Equations
- κ.circuitCount = (κ.walkPerm.cycleType.card + Fintype.card ↑(Function.fixedPoints ⇑κ.walkPerm)) / 2
Instances For
7. The mixed partition function (Definition 5) #
A (k, 2ℓ) mixed vertex functional assigns a value to a multiset of even
colours and a set of odd colours; the alternating evaluation on an ordered
odd list is recovered through the sorting sign, so antisymmetry is a theorem
of the evaluator rather than a condition on the data. The summand of an
Eulerian subset is its circuit sign times the colouring sum of vertex values,
odd colours contributing through the symplectic pairing (oddPartner,
oddPartnerSign); the value of the subset is choice-free because the tree
proves it independent of the transition data, and mixedPartition is the
free-circle factor (k − 2ℓ)^circles times the sum over Eulerian subsets.
The alternating evaluation of a mixed functional on an ordered list of odd colours: zero on repetitions, otherwise the sorting sign times the value on the underlying set.
Instances For
An orientation compatible with a transition system: an in/out designation of the participating flags, flipped both by the vertex matching and by the edge pairing (so circuits are traversed consistently).
Whether a flag is an outgoing end.
The vertex matching pairs incoming with outgoing flags.
Each edge has one outgoing and one incoming end.
Instances For
An arbitrary but fixed linear order on the flags of a fragment, transported from an enumeration. Used only to enumerate vertex pairings; the evaluated summands are independent of the choice because pair blocks move by even permutations.
Equations
- W.flagOrder = LinearOrder.lift' ⇑(Fintype.equivFin W.Flag) ⋯
Instances For
The incoming participating flags at a vertex, in the fixed flag order.
Equations
Instances For
The complement of an edge subset is closed under the pairing.
Even colourings of the non-participating edges: pairing-constant colours on the flags outside the subset.
Equations
Instances For
Odd colourings of the participating edges: pairing-constant colours on the flags of the subset.
Equations
Instances For
Even colourings are finite in number.
Equations
And so are odd ones, so Definition 5's sum is finite.
Equations
The even-colour multiset at a vertex: the colours of the non-participating flags attached to it.
Equations
Instances For
Every in-flag at a vertex participates in the edge subset.
The odd pair contributed by an incoming participating flag: its edge colour followed by the partner index of its matched outgoing flag's edge colour.
Instances For
The odd-pairing sign contributed by an incoming participating flag: the partner sign of its matched outgoing flag's colour.
Instances For
The odd-colour list at a vertex: the odd pairs of the incoming flags in the fixed order.
Equations
- F.oddListAt o φ v = List.flatMap (F.oddPairFn κ φ) ((F.inFlagsAt o v).attachWith (fun (x : W.Flag) => x ∈ F.flags) ⋯)
Instances For
The odd-pairing sign at a vertex: the product of the partner signs of the outgoing colours.
Equations
Instances For
The Definition 5 summand of an Eulerian edge subset with chosen transition system and orientation: the circuit sign times the colouring sum of the vertex values.
Equations
- F.mixedSummand h o = (-1) ^ κ.circuitCount * ∑ ψ : F.EvenColouring k, ∑ φ : F.OddColouring ℓ, ∏ v : W.Vertex, ↑(F.oddSignAt o φ v) * h.evalOdd (F.evenColoursAt ψ v) (F.oddListAt o φ v)
Instances For
The Definition 5 value of an edge subset: the summand for a choice of transition system and orientation, zero when none exists. (Every Eulerian subset admits one; the value is independent of the choice by the Eulerian-independence input.)
Equations
- F.mixedValue h = if hne : Nonempty ((κ : F.TransitionSystem) × κ.Orientation) then F.mixedSummand h (Classical.choice hne).snd else 0
Instances For
The mixed partition function (Regts–Sevenster Definition 5) of a fragment: the free-circle factor times the sum over Eulerian edge subsets of their circuit-signed colouring sums.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A parameter on closed fragments is a mixed partition function when it is the Definition 5 value of some mixed functional.
Equations
- RS.IsMixedPartitionFunction f = ∃ (k : ℕ) (ℓ : ℕ) (h : RS.MixedFunctional k ℓ), ∀ (W : RS.ClosedFragment), f W = RS.mixedPartition h W
Instances For
8. The named statements #
The forward direction, the separate parity bound ⌊2eR⌋, the sharp total
colour bound R, and the converse with its explicit base.
THE REGTS–SEVENSTER CONJECTURE. Every graph parameter with exponentially bounded edge-connection rank is a mixed partition function.
Equations
- RS.RegtsSevensterStatement = ∀ (R : ℕ) (f : RS.EdgeRankParameter R), RS.IsMixedPartitionFunction f.val
Instances For
A mixed partition function with explicit dimension bounds: the
functional's even dimension k and odd dimension 2ℓ are both at
most B.
Equations
- RS.IsMixedPartitionFunctionBounded f B = ∃ (k : ℕ) (ℓ : ℕ) (h : RS.MixedFunctional k ℓ), k ≤ B ∧ 2 * ℓ ≤ B ∧ ∀ (W : RS.ClosedFragment), f W = RS.mixedPartition h W
Instances For
THE QUANTITATIVE REGTS–SEVENSTER STATEMENT: every graph
parameter with edge-connection rank at most R ^ t is a mixed
partition function of a (k, 2ℓ)-functional with
k, 2ℓ ≤ ⌊2eR⌋.
Equations
- RS.RegtsSevensterStatementQuant = ∀ (R : ℕ) (f : RS.EdgeRankParameter R), RS.IsMixedPartitionFunctionBounded f.val ⌊2 * Real.exp 1 * ↑R⌋₊
Instances For
A mixed model with a bound on the sum of its even and odd dimensions. The named fields retain the functional and its agreement with the graph parameter as part of the witness.
- k : ℕ
The number of even colours.
- ℓ : ℕ
Half the number of odd colours.
- functional : MixedFunctional self.k self.ℓ
The vertex functional of the model.
The total number of colours is bounded by
B.The model evaluates to the given parameter on every fragment.
Instances For
A parameter admits a mixed model with at most B colours in
total, counting both the even and odd components.
Equations
Instances For
The total-dimension Regts–Sevenster statement: an edge-rank base
R bounds the total number of colours of a representing mixed model.
Equations
- RS.RegtsSevensterStatementTotal = ∀ (R : ℕ) (f : RS.EdgeRankParameter R), RS.IsMixedPartitionFunctionTotalBounded f.val R
Instances For
THE CONVERSE STATEMENT: every mixed partition function is
an edge-rank-bounded parameter with base max 1 (k + 2ℓ)
(Regts–Sevenster, arXiv:1807.04494, Theorem 6).
Equations
- RS.RegtsSevensterConverseStatement = ∀ (k ℓ : ℕ) (h : RS.MixedFunctional k ℓ), ∃ (g : RS.EdgeRankParameter (max 1 (k + 2 * ℓ))), ∀ (W : RS.ClosedFragment), g.val W = RS.mixedPartition h W
Instances For
9. The symmetric monoidal category of super vector spaces #
The codomain of the fibre functor in Deligne's conclusion: finite-dimensional
ℤ/2-graded complex vector spaces with grading-preserving maps, the graded
tensor product, and the braiding that carries the Koszul sign — the odd⊗odd
block acquires a factor of −1 under the swap (koszulEvenAux, second
component). This is the longest section; its content is one structure, its
category structure, and the monoidal, braided, symmetric, additive and
ℂ-linear instances, together with the computation lemmas their coherence
proofs run on. An auditor checking what Deligne's theorem says should read
the objects, tensorObj, tensorUnit and the two Koszul blocks; the rest is
coherence.
A super vector space over ℂ: a pair of finite-dimensional complex vector spaces, called the even and odd components.
- even : Type
The even-graded component.
- odd : Type
The odd-graded component.
- evenAddCommGroup : AddCommGroup self.even
- oddAddCommGroup : AddCommGroup self.odd
- evenFinite : FiniteDimensional ℂ self.even
- oddFinite : FiniteDimensional ℂ self.odd
Instances For
The identity morphism on a super vector space.
Equations
- RS.SuperVect.Hom.id V = { evenMap := LinearMap.id, oddMap := LinearMap.id }
Instances For
Super vector spaces and grading-preserving maps form a category.
Equations
- RS.SuperVect.instCategoryStruct = { Hom := RS.SuperVect.Hom, id := RS.SuperVect.Hom.id, comp := fun {X Y Z : RS.SuperVect} (f : X.Hom Y) (g : Y.Hom Z) => g.comp f }
SuperVect forms a category with grading-preserving linear maps.
Equations
- RS.SuperVect.instCategory = { toCategoryStruct := RS.SuperVect.instCategoryStruct, id_comp := ⋯, comp_id := ⋯, assoc := ⋯ }
Tensor product #
The tensor product of two grading-preserving maps acts component-wise on each tensor block.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Koszul braiding #
Module-level even Koszul block: TensorProduct.comm on the
first factor and minus TensorProduct.comm on the second.
Stated over bare modules so that instances of it at compound
objects have syntactically reduced types.
Equations
- RS.SuperVect.koszulEvenAux A B C D = (↑(TensorProduct.comm ℂ A B)).prodMap (-↑(TensorProduct.comm ℂ C D))
Instances For
Module-level odd Koszul block: swaps the two summands and
applies TensorProduct.comm on each (no sign).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The even component of the Koszul braiding: applies
TensorProduct.comm on the even⊗even block and
minus TensorProduct.comm on the odd⊗odd block.
Equations
- V.koszulBraidingEven W = RS.SuperVect.koszulEvenAux V.even W.even V.odd W.odd
Instances For
The odd component of the Koszul braiding: swaps the two
blocks and applies TensorProduct.comm on each (no sign,
since even⊗odd and odd⊗even contribute (−1)^(0·1) = 1).
Equations
- V.koszulBraidingOdd W = RS.SuperVect.koszulOddAux V.even W.odd V.odd W.even
Instances For
The Koszul braiding morphism V ⊗ W → W ⊗ V in SuperVect,
carrying the sign (−1)^(p·q) on the swap of homogeneous elements
of parity p and q.
Equations
- V.koszulBraiding W = { evenMap := id (V.koszulBraidingEven W), oddMap := id (V.koszulBraidingOdd W) }
Instances For
The Koszul braiding is a self-inverse: the two applications of the sign on the odd⊗odd block cancel, and the component swaps on the odd part compose to the identity.
Application of the Koszul odd braiding to a pair of elements.
Koszul braiding as a categorical isomorphism #
The Koszul braiding as an isomorphism in SuperVect.
Equations
- V.koszulBraidingIso W = { hom := V.koszulBraiding W, inv := W.koszulBraiding V, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Left and right unitors #
Associator #
Permutation of product components used in the associator:
((A × B) × (C × D)) ≃ₗ ((A × C) × (D × B)). The mapping is
(a, b, c, d) ↦ (a, c, d, b). All field proofs hold by rfl
because the permutation is a definitional reshuffling of product
components.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Module-level associator block. The construction distributes
the tensor over products (via prodLeft and prodRight),
reassociates each tensor block (via TensorProduct.assoc), and
permutes the four summands via prod4Perm. Stated over bare
modules so that instances of it at compound objects have
syntactically reduced types; the even and odd components of the
SuperVect associator are its instantiations with the two C-slots
in the two orders.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The even component of the associator equivalence.
Equations
- V.assocEvenEquiv W X = RS.SuperVect.assocAux V.even V.odd W.even W.odd X.even X.odd
Instances For
The odd component of the associator equivalence: assocAux
with the roles of the two X-slots swapped.
Equations
- V.assocOddEquiv W X = RS.SuperVect.assocAux V.even V.odd W.even W.odd X.odd X.even
Instances For
The associator isomorphism (V ⊗ W) ⊗ X ≅ V ⊗ (W ⊗ X) in SuperVect.
Distributes tensor over products, reassociates each block, and
permutes the summands back into the canonical grading order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Associator computation lemmas #
prod4Perm, applied.
The inverse product-distribution on a first-summand pure tensor.
The inverse product-distribution on a second-summand pure tensor.
The associator block on a pure tensor of the A₁ ⊗ B₁ summand
with C₁.
The associator block on a pure tensor of the A₂ ⊗ B₂ summand
with C₁.
The associator block on a pure tensor of the A₁ ⊗ B₂ summand
with C₂.
The associator block on a pure tensor of the A₂ ⊗ B₁ summand
with C₂.
The inverse associator block on a pure tensor of A₁ with the
B₁ ⊗ C₁ summand.
The inverse associator block on a pure tensor of A₂ with the
B₂ ⊗ C₁ summand.
The inverse associator block on a pure tensor of A₁ with the
B₂ ⊗ C₂ summand.
The inverse associator block on a pure tensor of A₂ with the
B₁ ⊗ C₂ summand.
The even Koszul block on the first summand: plain commutation, no sign.
The Koszul sign: on the second summand — the odd⊗odd block — the even block commutes and negates.
The odd Koszul block on the first summand: commutation into the other summand, no sign.
The odd Koszul block on the second summand: likewise unsigned — only the odd⊗odd block carries the sign.
A left-negated pair is a negated pair.
A right-negated pair is a negated pair.
The triangle coherence of the module-level associator block
against the unit slots ℂ (even) and PUnit (odd). Both graded
components of the SuperVect triangle are instantiations.
The forward hexagon for the even graded component, at the module level: braiding past a tensor product in two steps agrees with braiding past its factors.
The forward hexagon for the odd graded component.
The reverse hexagon for the even graded component, phrased through the inverse associator blocks.
The reverse hexagon for the odd graded component.
The pentagon coherence of the module-level associator block: both routes from a four-fold graded product to its right-nested form agree. Both graded components of the SuperVect pentagon are instantiations.
Component projection lemmas #
The even component of a categorical identity.
The odd component of a categorical identity.
The even component of a tensor of morphisms: even⊗even and odd⊗odd in parallel.
The odd component of a tensor of morphisms: even⊗odd and odd⊗even in parallel.
The associator's even component is the even associator equivalence.
The associator's odd component is the odd associator equivalence.
The inverse associator's even component.
The inverse associator's odd component.
The left unitor's even component: the unit's odd part is zero, so only the first summand survives.
The left unitor's odd component.
The right unitor's even component.
The right unitor's odd component: here it is the second summand that survives, the unit sitting on the right.
The braiding's even component.
Monoidal structure #
The monoidal category structure on SuperVect: graded tensor product, ℂ unit, standard associator/unitors.
Equations
- One or more equations did not get rendered due to their size.
MonoidalCategory axioms #
The full monoidal category structure on SuperVect, constructed
via ofTensorHom.
Braided and symmetric structure #
SuperVect is a braided monoidal category with the Koszul braiding: swapping odd ⊗ odd elements picks up a factor of −1.
Equations
- RS.SuperVect.instBraidedCategory = { braiding := RS.SuperVect.koszulBraidingIso, braiding_naturality_right := ⋯, braiding_naturality_left := ⋯, hexagon_forward := ⋯, hexagon_reverse := ⋯ }
SuperVect is a symmetric monoidal category: applying the Koszul braiding twice recovers the identity.
Equations
- RS.SuperVect.instSymmetricCategory = { toBraidedCategory := RS.SuperVect.instBraidedCategory, symmetry := ⋯ }
Additive and linear structure #
Componentwise natural scaling, given definitionally so that the
AddCommGroup structure below has no transported nsmul field.
Componentwise equality of morphisms.
Morphisms form an abelian group, pulled back along the injection into the pair of component maps.
Equations
Morphisms form a ℂ-module, pulled back the same way: SuperVect is ℂ-linear.
Equations
- RS.SuperVect.instModuleComplexHom = Function.Injective.module ℂ { toFun := RS.SuperVect.homComponents, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
The zero morphism's even component is zero.
The zero morphism's odd component is zero.
SuperVect is preadditive: composition is bilinear componentwise.
Equations
- RS.SuperVect.instPreadditive = { homGroup := inferInstance, add_comp := ⋯, comp_add := ⋯ }
SuperVect is ℂ-linear: composition is ℂ-bilinear componentwise.
Equations
- RS.SuperVect.instLinear = { homModule := inferInstance, smul_comp := ⋯, comp_smul := ⋯ }
10. The vocabulary of Deligne's hypotheses #
Subquotients and bounded composition length, scalar unit endomorphisms,
iterated and mixed tensor powers, finite ⊗-generation, and moderate growth:
exactly the predicates in which the hypothesis list of Théorème 0.6 is
phrased. (Their theory continues in RS/Classical/CatTheory/.)
Y is a subquotient of Z: a quotient of a subobject of
Z. This is the relation Deligne's tensor-generation hypothesis is
stated with.
Equations
- RS.IsSubquotientOf Y Z = ∃ (S : C) (i : S ⟶ Z) (p : S ⟶ Y), CategoryTheory.Mono i ∧ CategoryTheory.Epi p
Instances For
A retract is in particular a subquotient: a splitting makes the inclusion a mono, and the object is a quotient of itself.
LengthLE Y k states that the subobject order of Y contains
no strictly increasing chain of k + 2 subobjects; equivalently,
every chain 0 = Y₀ < ⋯ < Y_ℓ = Y has ℓ ≤ k, so the composition
length of Y is at most k.
Equations
- RS.LengthLE Y k = ∀ (f : Fin (k + 2) → CategoryTheory.Subobject Y), ¬StrictMono f
Instances For
The unit's endomorphisms are the scalars.
Equations
Instances For
Iterated tensor power of an object.
Equations
Instances For
A mixed tensor power of X: X ^ ⊗ a ⊗ (Xᘁ) ^ ⊗ b.
Equations
- RS.mixedPow A X a b = CategoryTheory.MonoidalCategoryStruct.tensorObj (RS.tensorPow A X a) (RS.tensorPow A Xᘁ b)
Instances For
Finite tensor generation, in the sense of Deligne's
hypothesis: every object is a subquotient of a finite biproduct of
mixed tensor powers of X — a quotient of a subobject of such a
biproduct.
Equations
- RS.TensorGeneratedBy A X = ∀ (Y : A), ∃ (k : ℕ) (ab : Fin k → ℕ × ℕ), RS.IsSubquotientOf Y (⨁ fun (t : Fin k) => RS.mixedPow A X (ab t).1 (ab t).2)
Instances For
Every object has moderate tensor-power growth, measured by composition length.
Equations
- RS.ModerateLengthGrowth A = ∀ (Y : A), ∃ (C : ℕ) (c : ℕ), ∀ (N : ℕ), RS.LengthLE (RS.tensorPow A Y N) (C * c ^ N)
Instances For
11. Deligne's theorem #
The correspondence with the published hypotheses, item by item: essentially
small — [EssentiallySmall.{v} A]; abelian ℂ-linear with ℂ-bilinear tensor —
[Abelian A], [Linear ℂ A], [MonoidalPreadditive A], [MonoidalLinear ℂ A]; rigid symmetric monoidal — [MonoidalCategory A], [SymmetricCategory A], [RigidCategory A]; End 𝟙 = ℂ — HasScalarUnit A; finitely
⊗-generated — ∃ X, TensorGeneratedBy A X; moderate growth —
ModerateLengthGrowth A. Exactness of the tensor product needs no separate
hypothesis (rigidity makes X ⊗ − a two-sided adjoint), and
[HasFiniteBiproducts A] is implied by [Abelian A], named only so the
generation predicate can be stated. The conclusion is taken in fibre-functor
form — weaker than Deligne's ⊗-equivalence with the representations of an
affine supergroup scheme, which yields the functor by composing with the
forgetful functor.
Reference: Pierre Deligne, Catégories tensorielles, Moscow Math. J. 2 (2002), 227–248, Théorème 0.6 (with §0.1 for the definitions); see also Victor Ostrik, Tensor categories (after P. Deligne), arXiv:math/0401347, Thm 2.3.
The conclusion of Deligne's theorem for a candidate tensor
category: an exact faithful ℂ-linear symmetric monoidal functor into
super vector spaces. This extends the consumed interface
(DelignePackage) by the conclusions the development does not use:
faithfulness, and exactness in the form of preservation of finite
limits and finite colimits.
The fibre functor.
The fibre functor is symmetric monoidal.
The fibre functor is additive.
- linear : CategoryTheory.Functor.Linear ℂ self.ω
The fibre functor is ℂ-linear.
The fibre functor is faithful.
- preservesFiniteLimits : CategoryTheory.Limits.PreservesFiniteLimits self.ω
The fibre functor preserves finite limits: the left half of exactness.
- preservesFiniteColimits : CategoryTheory.Limits.PreservesFiniteColimits self.ω
The fibre functor preserves finite colimits: the right half of exactness.
Instances For
Deligne's theorem (Catégories tensorielles, Théorème 0.6): every essentially small abelian ℂ-linear rigid symmetric monoidal category with ℂ-bilinear tensor product, scalar unit endomorphisms, a finite tensor generator and moderate growth of the lengths of its tensor powers admits an exact faithful ℂ-linear symmetric monoidal fibre functor to finite-dimensional super vector spaces.
Equations
- One or more equations did not get rendered due to their size.