How statement and proof provenance work
The first chip identifies the source of the statement or construction; the second identifies the source of its local proof or verification.
- Literature-sourced: the exact statement appears in a cited source; only wording and notation differ.
- AI-adapted: a semantically identical restatement of literature-sourced material, modulo indexing, notation, and boundary cases adopted by the library.
- AI-generated: a genuinely novel statement formulated by AI, with no source for the claim itself.
These labels describe origin, not correctness: citations and verification chips remain separate evidence.
A solvable heterotic quintic orbifold spectrum at the Gepner point
Source-specific exact heterotic free-field/Gepner-point state count for the stated solvable orbifold. It is not transported to a generic large-radius locus or generalized to other orbifolds.
Example
In the free-field heterotic construction of the Berglund–Hübsch quintic orbifold with and Hodge numbers , , the source computes massless generations, antigenerations, and singlets. These are exact-model counts at the solvable orbifold/Gepner point, not generic large-radius geometric singlet counts. In the same source, the quintic Gepner point has singlets, whereas the geometric generic-locus count is ; the four-state difference is tied to enhanced gauge symmetry at the solvable point.
Example references
Facts & Assumptions
Given: The exact free-field model and orbifold group , with and , and the source's minimal-model and state-counting conventions.
Geometric finite-group orbifold compactification data specifies a conditional geometric orbifold package, including a compact Riemannian target, an isometric finite-group action and inducing worldsheet lift, all twisted sectors and compatible projections. The source-specific free-field spectrum below is not asserted to supply that geometric package; this interface is formulation context only, not a premise producing the counts.
Belavin §§3–5 (PDF pp. 4–7) gives the exact representation labels, left field-identification formula, mutual-locality rule, Shapovalov ranks at grades , and the source-reported counts. The complete finite enumeration below reproduces those counts rather than treating the reported totals alone as proof.
The worldsheet state spaces and the specific free-field orbifold completion are adopted source-specific physical input. The count is not evidence for a generic geometric phase, and it does not prove universal modular invariance, higher-genus sewing, or an arbitrary quotient CFT.
Verification
Given: [F1], the source-specific model data [F2], the group generators, and [A1].
The vectors and are linearly independent over because is not a scalar multiple of . Hence has exactly elements, enumerated uniquely as for . Each of the five minimal-model factors has labels with and , so there are labels per factor and label/twist cases.
For each label tuple and twist , where , set , , and . The left representation is if , and otherwise. In both charged filters require the left factors to be chiral primaries, namely for every and , and require mutual locality for each generator . A generation additionally requires the right factors to be chiral primaries, for every , and right total conformal weight . An antigeneration additionally requires right antichiral primaries, for every , and the same total weight . The finite enumeration below finds and such sectors, respectively; each contributes one charged multiplet by the source rule in [F2].
For singlets, retain exactly those sectors satisfying the left chiral-primary filter and locality conditions of step 2.1. At each such sector choose one right state per factor from the Shapovalov table [F2]. For a primary the allowed grade/charge-shift/multiplicity triples are always, , , and , with rows , , , , , , and for . Retain products satisfying and , weighting each product by the product of its five multiplicities. The source's unitary minimal-model rule excludes descendant grades above one, and the integer recurrence in Remarks evaluates this finite sum without floating-point comparisons.
The complete finite enumeration in Remarks gives , , and singlet counts from one right chiral-factor descendant, from one right antichiral-factor descendant, and right primaries of total weight one and charge zero in nonidentity twisted sectors. It also verifies that the grade-one vacuum descendant contributes zero in this model. The sum is , reproducing the source's exact-model count under the displayed filters.
The reported counts use the selected free-field worldsheet data in [A1] and [F2]. They do not instantiate the complete geometric orbifold package of [F1] or infer its target realization from a spectrum. The source's 234 count belongs to this exact solvable model. Its separate 330-versus-326 quintic comparison concerns the Gepner point versus the generic geometric locus and does not alter the 234 count or extend it to the full moduli space.
Remarks
The geometric orbifold interface is used only to identify the conditional worldsheet data that the source-specific enumeration assumes. The source's final section also says an intrinsic proof of modular invariance of the construction remains a separate direction; this example does not fill that gap or promote a finite state count into a universal CFT-consistency theorem.
The following finite program is the reproducible enumeration used in step 4.1. It uses integer twentieths of conformal weight and integer fifths of charge, loops over all primary tuples and twists, and asserts the stated counts.
from collections import defaultdict
from itertools import product
beta0 = (1, 1, 1, 1, 1)
beta1 = (0, 1, 1, 4, 4)
labels = [(ell, t) for ell in range(4) for t in range(ell + 1)]
rank = {
(0, 0): (0, 0, 1),
(1, 1): (0, 1, 2), (2, 2): (0, 1, 2), (3, 3): (0, 1, 1),
(1, -1): (1, 0, 2), (2, -2): (1, 0, 2), (3, -3): (1, 0, 1),
(2, 0): (1, 1, 3), (3, 1): (1, 1, 2), (3, -1): (1, 1, 2),
}
twists = {
tuple((a * beta0[i] + b * beta1[i]) % 5 for i in range(5))
for a in range(5) for b in range(5)
}
assert len(twists) == 25
n27 = nanti = 0
singlets = minus = plus = primaries = grade_one = 0
physical_sectors = 0
for primary_tuple in product(labels, repeat=5):
ell = [x[0] for x in primary_tuple]
tbar = [x[1] for x in primary_tuple]
qbar = [ell[i] - 2 * tbar[i] for i in range(5)]
d20 = [ell[i] * (ell[i] + 2) - qbar[i] ** 2 for i in range(5)]
for a in range(5):
for b in range(5):
w = [(a * beta0[i] + b * beta1[i]) % 5 for i in range(5)]
tleft = [(tbar[i] + w[i]) % 5 for i in range(5)]
left = []
for i in range(5):
if tleft[i] <= ell[i]:
left.append((ell[i], ell[i] - 2 * tleft[i]))
else:
tprime = tleft[i] - ell[i] - 1
left.append((3 - ell[i], 3 - ell[i] - 2 * tprime))
left_chiral = all(q == l for l, q in left) and sum(l for l, q in left) == 5
local = all(
sum(beta[i] * (qbar[i] - w[i]) for i in range(5)) % 5 == 0
for beta in (beta0, beta1)
)
if not (left_chiral and local):
continue
physical_sectors += 1
if all(tbar[i] == 0 for i in range(5)) and sum(d20) == 10:
n27 += 1
if all(tbar[i] == ell[i] for i in range(5)) and sum(d20) == 10:
nanti += 1
counts = {(0, 0): 1}
for i in range(5):
mplus, mminus, mone = rank[(ell[i], qbar[i])]
choices = [(0, 0, 1)]
if mplus:
choices.append((10, 1, mplus))
if mminus:
choices.append((10, -1, mminus))
if mone:
choices.append((20, 0, mone))
updated = defaultdict(int)
for (weight20, charge5), count in counts.items():
for grade20, delta, multiplicity in choices:
total_weight = weight20 + d20[i] + grade20
if total_weight <= 20:
updated[(total_weight, charge5 + qbar[i] + 5 * delta)] += count * multiplicity
counts = updated
singlets += counts.get((20, 0), 0)
for delta, sign in ((-1, "minus"), (1, "plus")):
for i in range(5):
mplus, mminus, _ = rank[(ell[i], qbar[i])]
multiplicity = mminus if delta == -1 else mplus
if multiplicity and sum(d20) + 10 == 20 and sum(qbar) + 5 * delta == 0:
if sign == "minus":
minus += multiplicity
else:
plus += multiplicity
if sum(d20) == 20 and sum(qbar) == 0:
if a != 0 or b != 0:
primaries += 1
if sum(d20) == 0 and sum(qbar) == 0 and any(rank[(ell[i], qbar[i])][2] for i in range(5)):
grade_one += sum(rank[(ell[i], qbar[i])][2] for i in range(5))
assert (n27, nanti) == (17, 21)
assert (singlets, minus, plus, primaries, grade_one) == (234, 53, 65, 116, 0)
assert physical_sectors == 505