slug: oeis-a006472-schulte-factorial-square-prime-criterion bibkey: schulte2020a006472 doi: null url: https://oeis.org/A006472 triage: theorem motivation_gids:
- D5/S3/Arith/Congruence/SchulteFactorialSquarePrimeCriterion
Schulte’s factorial-square primality criterion
Problem
OEIS A006472, NAME (%N, verbatim):
a(n) = n!*(n-1)!/2^(n-1).
The offset is %O 1,3. The settled COMMENT line (%C, verbatim) is:
Conjecture: For n > 1, n divides 2*a(n-1) + 4 if and only if n is prime. - Werner Schulte, Oct 04 2020
The full-quantifier reading is: define, for every natural m,
a(m) = m!*(m-1)!/2^(m-1) using natural-number division; then for every
natural n with 2 <= n, n divides 2*a(n-1)+4 if and only if n is
prime. The denominator divides the factorial product for every m >= 1, so
all sequence values used by the criterion are exact quotients.
Only the quoted Conjecture sentence is settled, as a biconditional for every
natural n >= 2. No other OEIS comment, formula, or stronger composite
divisibility statement is claimed.
Motivation
The criterion combines an exact quotient of two neighboring factorials with a
single divisibility test. For primes, Wilson’s theorem controls (n-1)! and
Fermat’s theorem controls the removed power of two. For composites, the same
quotient has enough factorial content to force a contradiction, apart from the
small cases that are checked directly.
Gap
Readings of 2026-09-16: the OEIS entry still marks the line Conjecture (added
2020-10-04) with no proof line; OpenAlex "A006472" 8 hits, none about this
criterion; Math.SE API 0 hits; arXiv was not searched (no API response).
Wilson’s theorem and the composite-factorial divisibility are textbook facts;
the named criterion itself was not found in these surfaces. Historical
openness beyond them is ASSUMED-UNVERIFIED.
Repository prior art at origin/dev = 6c7f849f03 (paths D5, Blueprint,
Library, Problems; Golden/** excluded): git grep A006472 returned 0 files;
wilsons_lemma matched 6 files, factorial_dvd_triangular 6 files (7 tree-wide),
and multiplicity_factorial 1 file (2 tree-wide). None states the criterion. The
closest frozen settlement is the A000680 sibling
D5/S3/Arith/Congruence/SchulteHalfFactorialPrimeCriterion.result
((2n+1) ∣ (2n)!/2^n + 2^n ⟺ 2n+1 prime), a different criterion that shares only
the Wilson/Fermat prime branch and the Layman odd-composite step. The
frozen theorem
D5/S3/Arith/Congruence/LaymanOddPowerFactorialResidue.factorial_dvd_triangular_of_not_odd_prime
supplies the odd-composite factorial step and is reused. Its declaration
statement_id is
sha256:e66be6c11321ef2a8bb90c32fb4a9755ab1468d5aece54699035c65784793600;
the module state pin is
sha256:0b53e5405adaa92296c5ed5a39e491fdddcc8d7f599adef8aa1f170222f074d4.
Pinned Mathlib contains ZMod.wilsons_lemma,
ZMod.pow_card_sub_one_eq_one, Nat.factorial_eq_mul_doubleFactorial, and
Nat.doubleFactorial_two_mul, but no statement of Schulte’s criterion was
found in the searched scope. Exact evaluation for every 2 <= n <= 600
finds zero exceptions in either direction. Exact division has zero failures
for every 1 <= m <= 599; the initial values are a(1)=1, a(2)=1, and
a(3)=3.
Pre-registration: issue #8189 (2026-09-15T20:09:17Z).
Route
- Splitting each factorial at its even factors proves
2^(m-1) | m!*(m-1)!for everym >= 1, so multiplication recovers the numerator froma(m). - For odd prime
n, the scale2^(n-2)is a unit modulon. Wilson gives(n-1)! = -1, factorial recursion gives(n-2)! = 1, and Fermat gives2^n = 2inZMod n. Cancelling the scale proves the forward divisibility. - For composite
n >= 9, the private theoremcomposite_dvd_aprovesn | a(n-1). Ifnis even, writen=2k; double-factorial identities expose the quotient, and a parity split onksupplieskand the extra factor 2 by factorial divisibility or coprime cancellation. Ifnis odd, the reused triangular-factorial theorem suppliesn | (n-1)!, and coprimality with2^(n-2)cancels the exact-division scale. The finite branch handlesn < 9; in particularn=4andn=8require direct treatment because they do not dividea(n-1). - Thus a composite satisfying the criterion would have
n | 4, contradictingn >= 9; the normalized finite branch closes the remaining values.
The public theorem has proof_shape: content and
admission_basis: escape-witness. The witness is the private theorem
composite_dvd_a {n} (hn : 9 <= n) (hnprime : not n.Prime) : n | a(n-1).
It passes the four content tests: (i) result directly applies the private
theorem, so its declaration is in the elaborated transitive dependency closure;
(ii) its parity split, double-factorial quotient analysis, coprimality, and
factorial-divisibility construction do not follow by instantiation,
projection, or normalization of the searched frozen and pinned declarations;
(iii) it is a conditional one-way composite divisibility theorem, not a
definitionally equivalent restatement of the primality biconditional; and
(iv) it lies on the live derivation path from assumed criterion divisibility to
n | 4. Removing it leaves the unbounded composite branch unproved. The direct
frozen dependency is the Layman theorem and declaration identity recorded in
the Gap section. All other proof steps are local have terms.
utility: none applies to all declarations: the sequence definition, private
divisibility theorem, and unbounded primality criterion are symbolic
mathematics, not bounded enumeration, checker infrastructure, numeric
reduction, or a certified finite instance.
Falsifier
A natural n >= 2 for which exactly one of n | 2*a(n-1)+4 and n.Prime
holds would refute the result. Failure of
2^(m-1) | m!*(m-1)! for any m >= 1 would refute the exact-quotient step.
The stronger statement that every composite n >= 4 divides a(n-1) is not
claimed: exact evaluation refutes it at n=4 and n=8.
Evidence
lake env lean D5/S3/Arith/Congruence/SchulteFactorialSquarePrimeCriterion.lean: exit 0 with zero warnings. The final module has 273 lines; its immediate directory has 45 Lean files. Its declaration surface is publica, privatecomposite_dvd_a, and publicresult. A token search forsorry,admit,axiom, andnative_decideexits 1 with no matches.tools/scripts/agent/header-check.shon the final module: exit 0;generality: Iis compliant.- Scratch
#print axiomsaudit: exit 0. The closures are[propext]foraand[propext, Classical.choice, Quot.sound]for both privatecomposite_dvd_aand publicresult. - Deleting the direct import
D5.S3.Arith.Congruence.LaymanOddPowerFactorialResidueand compiling exits 1, with the frozen theorem unknown. DeletingMathlib.Data.Nat.Factorial.DoubleFactorialand compiling exits 1, with the double-factorial notation and identities unavailable. Both imports are load-bearing. - Lean evaluation of the final definition for
1 <= m <= 599and2 <= n <= 600: exit 0; exact-division failures[], criterion exceptions[], and seeds[a(1),a(2),a(3)] = [1,1,3]. - Warm-cache single-file profiling: exit 0; 3.91 seconds wall, 315 milliseconds type checking, and 1.18 seconds import time on Lean 4.33.0 for arm64 macOS.
Triage
theorem; resolution proved for the quoted Conjecture sentence and its full
natural-number range n >= 2.
ASSUMED-UNVERIFIED
The verbatim OEIS source, the 2026-09-16 external search readings, the
historical origin/dev prior-art counts, and the pre-registration chronology
are ASSUMED-UNVERIFIED. arXiv was not searched because no API response was
available. Historical openness outside the listed surfaces remains unverified.
No exhaustive literature search or mathematical-priority claim is made. The
stronger composite divisibility statement for n=4 or n=8 is explicitly
excluded.