Metadata
bibkey: oeis2026a387319
authors: OEIS Foundation Inc.
year: 2025
title: OEIS A387319
doi: null
url: https://oeis.org/A387319
claim: A multiple-of-three residue coincidence characterizes composites except 4, 8, 10, and 25.
strata_touched:
- D5/S3/Arith/Congruence/MultipleOfThreeCoincidence
license: citation-only
triage: anchor
OEIS A387319
Provenance and preregistration
The record through “Declaration shape and admission” is inherited from the first implementation worker, whose Lean checkpoints are commits 37cfd58620 and 5594455426. Commit 25f37ff59e preserved its unfinished documentation. Statements below attributed to “this worker” in that inherited record refer to that first worker. The continuation’s independent checks are separately recorded in “Continuation verification”; no independent review is implied by either worker’s implementation self-checks.
Skill context: lean4. One Codex implementation worker in the caller’s
consensus-rnd:sshx implementation attempt; no independent review or model
diversity is claimed here. Fixed source: e7e63c615460da48effcb4a76f96a3a6730af75d.
The caller reports independent enumeration at k=1..3000, with zero differences
between the exact predicate below and the proposed classification. The triage
worker reports k=1..5000. These are separately attributed reports, not this
worker’s measurements or a kernel proof.
The explicit brief and oeis2026triage0909.md (A387319 row and paragraph)
preregister the first-tier OEIS conjecture. The exact target is
Coincides k ↔ 1 < k ∧ ¬Nat.Prime k ∧ k ∉ ({4,8,10,25} : Finset ℕ), where
Coincides k := ∃ m : ℕ, 6 ≤ m ∧ m ≤ k ∧ 3 ∣ m ∧ 3 * ((2*k) % m) = m * ((2*k) % 3).
There is no cutoff and no extra hypothesis. No atom was supplied; this brief
is the source obligation.
Before implementing new content, attempt closure from pinned Mathlib and
frozen declarations. If successful, report bind-only and create no module.
Otherwise the proposed escape witness is the divisor/residue criterion:
writing m=3t, the equality is equivalent to t dividing 2k and
(2k/t) % 3 = (2k) % 3, with 2≤t and 3t≤k. For 3 not dividing k,
the residue condition is equivalent to t%3=1 (under that divisibility).
This criterion is to be used in the live construction and prime exclusion.
The planned witnesses are t=2 for multiples of 3; t=4 for remaining even
composites; and t=p or 2p for odd composites, with p the least prime factor.
The bound in the last branch requires separating k=25 explicitly.
This is a proposed proof route, not an already verified theorem.
Verified locator
- URL: https://oeis.org/A387319
- Complete entry opened on 2026-09-09: revision 69, November 10, 2025.
- Machine-readable URL: https://oeis.org/search?q=id:A387319&fmt=json
- Independent HTML source: https://oeis.org/A387319/internal
- The first comment explicitly calls the classification a conjecture. Its empirical verification to 10^5 is an OEIS author report.
The entry’s separate assertion that even k first coincides at m=12 is false as written: k=6 coincides at m=6, both fractions being zero. This ancillary observation is not the selected classification. The A343311 sequence-equality conjecture is also outside this implementation.
Initial evidence
The first command after reading the repository instructions was
make lean-cache-ensure, exit 0: status=present, mathlib/project=warm,
mathlib_missing_olean_files=0, clonefile_attempts=0, stamp_miss=null,
pin_sha256=sha256:6c4c682ffba051b5744fe7a75ccc99d7f3b20227b3b026f392f3315be0adaa4e.
No cold-tree Lake invocation occurred. Lean is v4.33.0 and Mathlib is pinned
at db584cd6d46c92f209a44c0f1c829460d327499d.
Read the exact signatures of Nat.not_prime_iff_exists_mul_eq
(Mathlib/Data/Nat/Prime/Basic.lean:85), Nat.minFac_sq_le_self
(Mathlib/Data/Nat/Prime/Defs.lean:368), and Nat.Prime.dvd_mul
(same file:422). These supply factors, a bound and prime divisibility,
but do not state a residue coincidence characterization.
Frozen D5/S3/Arith/EuclidLemma is the direct Mathlib wrapper;
D5/S3/Arith/PrimeFactorization gives a list of prime factors.
Neither identifies the residue predicate.
git ls-tree origin/dev --name-only D5/S3/ confirms the registered Arith
domain. The existing Congruence subdirectory has 18 Lean files and its
Blueprint mirror has 36 raw files at the fixed baseline. The actual SL-003
count excludes generated Markdown: Congruence has 18 counted sources on
each side, growing to 19. The Arith Blueprint root’s raw count of 48 is
24 counted sources, not an exhausted bucket; the initial raw-count-based
capacity interpretation was wrong. Congruence remains the natural existing
subdirectory for this modular theorem. Problems is excluded from directory
capacity by its canonical slug-path rule. No new domain or subdirectory is needed.
Unclaimed
No exhaustive search, universal absence of published proofs, mathematical novelty, priority, independent review, or larger-conjecture consequence is claimed. The triage worker’s direct-reference audit and enumeration, and the caller’s enumeration, remain attributed reports except where independently checked below. No downloaded b-file is used as a proof. Results of the Lean probe, supplementary literature search and repository gates are recorded below.
Bind-only and supplementary literature audit
The clean bind-only probe (bind-only-clean.log, exit 1) imports Mathlib and
the two frozen arithmetic wrappers, then tries exact? and definitional
simplification. It leaves the complete existential/classification equivalence
unsolved. The earlier probe also contained a nonexistent diagnostic name
Nat.dvd_prime_mul; the clean rerun removes it, so the residual goal is not
attributed to that lookup error. This is an unsuccessful concrete attempt,
not a proof that all possible bindings fail. The inspected scope contains no
matching characterization; new divisor and bound arguments are necessary in
the proposed route. Candidate discovery used D5 and pinned Mathlib Nat/number
theory keyword searches, followed by reading the named declarations. Public
GitHub Lean code searches for A387319, "coincident" "mod", and
"coincidence" "fraction" (limit 30 each) returned zero paths. No third-party
dependency was added and search exhaustiveness is not claimed.
Independently reread the complete primary entry and the relevant fields of A343311 (rev. 11), A387426 (rev. 107), and A389863 (rev. 29). All three still label their related claims conjectures. Their new direct references beyond the triage set are A343270 (rev. 5) and A100484 (rev. 137); both complete JSON entries were opened. A343270 gives a finite sum for three-part partition counts, not the residue classification. A100484 describes doubled primes. Its linked MathWorld Semiprime article concerns products of two primes and their counting/function identities, not equality of the present fractions. Lanterman’s linked paper, arXiv:1210.2991, was downloaded (14 pages): the inspected definitions and Theorems 1-11 classify irreducibles under congruent factorization relations, with units ±1 allowed. This is a different predicate; no identification with the positive bounded divisor criterion is supplied in those passages. The Anderson–Frazier DOI landing page returned an Incapsula block, so that paper is not claimed read. No proof of the selected target was found in the inspected passages. This scoped finding permits proceeding under the caller’s proof-versus-conjectural-restatement rule.
Network limitations: Python urllib initially received four HTTP 403s; curl retrieved the entries successfully. Google returned a challenge, and Bing’s exact-A-number query returned an irrelevant result; neither is evidence of absence. The first HTML text extractor mishandled escaped inequalities; it was replaced with HTMLParser and the source was reread against full JSON. PDF extraction required a temporary pypdf install and emitted font-encoding warnings; only the legible passages above are claimed inspected. No exhaustive recursive traversal of the doubled-prime reference graph is claimed.
The first Lean fragment compiles with zero diagnostics (fragment-1.log,
exit 0): the exact divisor/quotient criterion and its modulo-one construction
helper are proved. The proof uses the positive factor t explicitly, so no
zero denominator or division-by-zero case enters the criterion. The main
classification is not yet claimed at this checkpoint.
The complete classification now compiles with zero diagnostics
(fragment-2b.log, exit 0). The first full fragment had two unhelpful
multiplication/division simplifications and multi-location normalization
errors after a contradiction already closed the goal; removing the redundant
simplifications and normalizing the whole context repaired these tactic
errors. The mathematical statement and route were unchanged. The public
result quantifies over every natural k, including 0 and 1. No sorry, custom
axiom, strengthened hypothesis, or finite cutoff was introduced.
Independent worker Python enumeration at k=0..5000 found zero classification mismatches and zero divisor-criterion mismatches for all 2≤t≤k/3. This uses an independently generated prime sieve and direct modular arithmetic; exact Fraction examples were also calculated. At k=14, m=12 gives 4/12=1/3, matching m=3. At prime k=13, the eligible fractions at m=6,9,12 are 1/3, 8/9, 1/6, all different from 2/3 at m=3. At composite k=25 the eligible fractions are 1/3, 5/9, 1/6, 1/3, 7/9, 8/21, 1/12, all different from 2/3. At k=6, both fractions at 3 and 6 equal 0; this genuine zero-valued coincidence must be included. k=0,1 give false on both sides. The finite checks are evidence only, not frozen numerical results.
Declaration shape and admission
The sole public theorem is classify.
proof_shape: content; admission_basis: escape-witness;
added_hypotheses: []; direct_frozen_dependencies: [].
The final module imports only pinned Mathlib, so no external repository GID
or frozen statement_id is a proof prerequisite. The frozen wrappers were
inspected during the binding search, not imported by the new module.
The preregistered escape content is the divisor/quotient characterization
coincides_iff_divisor, proved through residue_factor_iff, and its use in
the explicit t=2,4,p,2p construction in coincides_composite.
The four clause-3.2 obligations are assessed as follows:
- Dependency closure:
classifyconsumescoincides_compositeandnot_coincides_prime; both consumecoincides_iff_divisor. The criterion consumesresidue_factor_iff. A symbol-level elaborated audit below checks these edges rather than inferring them from an import or a name. - New content: the inspected frozen and Mathlib declarations provide prime facts and general modular identities, but not the admissible divisor classification. Extracting the factor from the remainder equation and constructing a divisor subject to both the residue and size constraints are new obligations on the actual target path. In particular the least prime bound must be combined with the residue split and the k=25 exclusion to produce the witness 2p. The failed binding probe alone is not a proof of nonderivability; this judgment rests on the unfolded construction.
- Different statement: the intermediate characterizes a fixed remainder equation by divisibility and quotient residue. It does not assert prime or composite membership, nor the four-element exceptional set, and is not definitionally the public classification.
- Live use: the prime exclusion consumes the divisor and quotient facts; sufficiency uses the reverse criterion to turn each constructed t into the actual modulus m=3t. These values feed the existential conclusion, with no discarded conjunction or dead helper used for admission. Generic factorization alone leaves that conversion and the bounded construction unproved. Constant-edge checks establish reachability; nonprojection and live semantic use remain review judgments, not a machine classifier.
computational_content.kind: none: the definition and all theorem
declarations concern unbounded natural arguments. Finite base cases are
internal branches of the general classification. No independent bounded
enumeration, certified positive instance, checker, or numerical-reduction
result is deposited. The other utility fields are
not-applicable(kind=none). question_answered is the exact OEIS predicate
classification preregistered here before the first proof fragment;
dominating_theorem_search: not-found-in-searched-scope as detailed above.
Continuation verification
On 2026-09-09 a second Codex implementation worker, using lean4, continued
the same lane/math/a387319-coincident branch. The four supplied commits
were present and the worktree was clean. Current dev 74e9341e5e merged
without conflicts as 2950fbe974; the original proof bytes were retained.
This is serial continuation and implementation self-check, not a separate
review vote or a claim of model diversity.
The continuation independently retried the exact target using only Mathlib
and the frozen EuclidLemma and PrimeFactorization modules. exact? and
simplification left the entire existential/classification equivalence
unsolved (bind-only.log, exit 1). No new A387319 theorem was imported by
that probe. The named Mathlib declarations and both frozen wrappers were
reread. Public GitHub Lean searches for A387319 and
"coincidence" "fraction" returned no paths (limit 30 each, exit 0).
These are scoped unsuccessful searches, not a nonderivability proof.
The primary OEIS JSON and internal HTML were fetched again. Revision 69 still explicitly labels the target a conjecture. All five direct A-number references were fetched: A000040 (1398), A002808 (351), A343311 (11), A387426 (107), A389863 (29). The three related conjectures remain labelled as such. A343270 (5) and A100484 (137) were also fetched; their statements concern partition counts and doubled primes. The continuation downloaded Lanterman’s 14-page paper again and read Definitions 1-4 and Theorems 5-11: the signed-factorization predicate allows units and negative factors and does not supply this positive bounded-modulus classification. PDF extraction warned about missing fontTools; only the legible passages are claimed read. The first worker’s wording “Theorems 1-11” should be read as the numbered definitions and results through Theorem 11, not eleven theorems. No proof of this target was found in these inspected sources. The earlier Anderson–Frazier access failure remains an inherited limitation, not a fresh access measurement by the continuation.
Independent continuation enumeration used trial division through isqrt(k)
for primality, rather than the first worker’s sieve, and checked every
k=0..5000 directly against the original cross product: zero differences.
The divisor criterion was separately compared on all 4,160,835 eligible
(k,t) pairs: zero differences. Exact Fraction controls confirm k=14,m=12
gives 1/3 on both sides; k=6,m=6 gives zero on both sides; k=13 has no match;
and all four exceptional composites have no match. For k=0,1 both logical
predicates are false. These are this continuation’s own readings, not the
caller or triage worker’s reports, and do not replace the unbounded proof.
The attempt-local receipts live under
/var/folders/wv/ht3wzsj138b4sxl3q4t0xdr40000gn/T/consensus-rnd/sshx/a387319-cont2-0909/attempt-3/.
They include bind-only.log, search-receipts.txt, fetched source files,
and numeric-verification.json. The prior fragment logs were located under
the sibling a387319-impl-0909/attempt-1 directory and reread; they contain
no diagnostics. Fresh compilation and repository gate results are recorded
below; the inherited logs alone are not used to claim them.
Fresh continuation compilation is now verified. make lean-cache-ensure
returned exit 0, status=present, both layers warm, stamp_miss=null and
mathlib_missing_olean_files=0. The source-minus-olean count was 3 before
merging dev and 19 after merging it, so warmth was not treated as validity.
The supplied serial fallback completed built=19 failed=0 missing=19,
exit 0. Subsequent make lean completed all 12,798 jobs, exit 0, in 8.22 s
on this warm macOS ARM tree (this timing excludes serial prewarming).
/usr/bin/time -l reported maximum resident set size 1,064,419,328 bytes;
this is the command’s RSS reading, not an aggregate host peak.
The unchanged A387319 source was independently elaborated with
lake env lean D5/S3/Arith/Congruence/MultipleOfThreeCoincidence.lean
after ensure, exit 0 with zero diagnostics (fresh-module.log). A separate
Lean metaprogram uses getConstInfo, theorem value?, and
Expr.getUsedConstants to inspect actual proof constants (SymbolAudit.lean,
symbol-audit.log, exit 0). It confirms classify -> coincides_composite /
not_coincides_prime -> coincides_iff_divisor -> residue_factor_iff, as well
as the mod-one construction helper’s criterion dependency. #print axioms
reports exactly propext, Classical.choice, Quot.sound. The printed target
is the unrestricted forall-k statement above. A first scratch audit used
the reserved token prefix as a local name and failed to parse; renaming
that scratch variable repaired the audit, with no theorem change. Its
failure log is retained separately. Constant reachability is machine
checked; the assessment of live, non-bind-only mathematical use remains
the implementation worker’s semantic self-check.
The first continuation make lean-report attempt did not pass. No local
cached report matched producer
89aef18ce098f3931b3873cc7953ad7496ea257cc78259cd8152ac83cfab7b28,
so its plan was mode=fallback, not a small delta. The own inspector’s
observed RSS reached 9,656,384 KiB; the continuation sent it SIGTERM before
continuing with a report seed. The command returned exit 2 and its maximum
RSS reading was 10,363,797,504 bytes. This is a deliberate stop recorded in
make-lean-report-full-stopped.log, not an inferred host-kill diagnosis or
a successful gate. The existing recovery path is to fetch the canonical
report from successful dev CI run 34363934206 (dev 74e9341e5e), validate
it with tools/scripts/report/lean-report-ci-baseline.sh, and rerun the
same make lean-report producer against that seed. No report provenance
is manually substituted and no detection is relaxed.
The recovery completed successfully. The downloaded candidate report’s
SHA-256 was verified before staging it under the canonical basename;
only the filename in its SHA sidecar was normalized, with report,
attestation and provenance bytes preserved. The existing baseline validator
returned status=ready. The second make lean-report returned exit 0,
mode=delta changed=0 added=1 removed=0 recheck=1, in 60.81 s; its maximum
resident set size was 3,913,318,400 bytes (make-lean-report.log). The report
hash is sha256:e28b1d810091361e9a4cf1767fd3655066ec07a6e6ca0681bfb4c0f0ab9fd384.
It records the unchanged source hash and the standard three-axiom closure.
The public classification’s statement identity is
sha256:1bbe1e5377afb6142c20ec1c05401abc422ae469662570631eda3d26d9b60557.
ledger-align --add returned exit 0 with selectors_considered=3912 changed=0 added=1 unchanged=3911 conflicts=0 (ledger-align.log). The new
module state identity is
sha256:62ba2110cc58637c85eb0af385e6a133d1efd620afa59725fee8e25c24940883;
the accepted Freeze event is
sha256:173afdb177fd30c7d9be81d28e6a584571dad5ac6ab773636c0a9f1a24cf5b89.
There are no frozen prerequisites. No source atom was supplied, so no
digestion coverage edge is claimed or added.
The first make emit rejected inherited Scribe token adjacency that would
emit the invalid LaTeX control word \cdotk (make-emit.log, exit 2).
The continuation inserted FormulaDsl.Sp between Cdot and the variable
in TwiceK; the Lean source and statement remained unchanged. The second
make emit returned exit 0 and emitted one changed Blueprint, including
the frozen classify binding and the proved problem-resolution claim
(make-emit-retry.log). This is the continuation’s verified repair of
inherited documentation, not an inherited successful emission receipt.