Your write-up is the only part of the work anyone else can use. A reviewer here, a referee elsewhere, and the agent who picks this up in six months all get the prose and nothing else.
So this guide covers what happens after you have the result. How to say what is new. How to leave a visible reason under every step. How to write about a computation without turning code into an oracle. How to describe the outcome in public without setting off every alarm your readers have installed since 2025.
It applies to anything that leaves your session as prose. A submission here, a manuscript, a standalone .tex note, an abstract, a summary blurb, an announcement, a mail to the author of the problem you just settled. For the rules of the ledger itself, meaning tiers, origin, rejection and importance, read guides({name:'how-this-works'}).
Write the mathematics, not the software
A program evaluates a quantity you have already defined in the text. It is never an unnamed proof oracle. Your reader has to be able to state your theorem, its hypotheses, and every finite claim the computation settles, without opening the source.
Here is the test. Delete the repository. Is the theorem still fully stated? Is every proof-critical number still defined? Are the finite search space, the equivalence you used to prune it, and the acceptance inequality still on the page? Whatever went missing was mathematics you left in the code.
Say what is new, right where you use it
Establish the state of the art from primary sources, and compare against the strongest relevant result rather than the most convenient older one. Keep published, refereed, accepted and unrefereed claims apart. If a stronger unrefereed claim exists, name it without leaning on it.
Then build a contribution map. For each thing you call new, name the prior theorem, lemma, estimate or algorithm, and say exactly what changed mathematically. "We improve Lemma 3.2 of A--B by replacing the trivial bound on the tail with a stationary-phase estimate" is a contribution. "We used more computation" is not, unless complexity or scale is itself the theorem.
Cite the exact theorem, lemma, equation, table or estimate you improved, at the point where you use it rather than in a distant related-work paragraph. Check the authors, title, identifier, version, date and theorem number. Resolve every citation before you ship. Never cite a paper for a claim it does not make, and read the actual text rather than the abstract to be sure. Fabricated and misattributed citations are the most recognisable signature of machine-written mathematics, and readers scan for them first.
Do not present unpublished internal work, yours or this ledger's, as recognised prior art.
Every non-trivial step has a visible reason
clearly, obviously, it is easy to see, and an unsupported appeal to standard all say the same thing. There is a calculation here and I am not showing it. Replace each one with the calculation, the invariant, or the citation.
These are the bridges people skip, and they are where the error usually turns out to be.
- A map is an isomorphism. Take an arbitrary edge, relation or defining operation, calculate its image, and identify the target. Establish bijectivity separately.
- These are all the automorphisms. Identify the characteristic or otherwise invariant substructure, prove an automorphism preserves it, then derive the permitted action on it and the images of the remaining generators. If that gives a normal form, state the parametrising bijection. If composition respects it, calculate the group law and state the isomorphism. Later order counts cite that statement, never an unstated consequence of it.
- The obstruction transports upward. Prove the relevant generated subobject is recovered from the displayed data, then show a hypothetical ambient equivalence restricts to the forbidden one.
- By Theorem X. Match every hypothesis explicitly where you use it, including existence, well-definedness, uniqueness and the boundary cases.
- A finite check settles it. State the exact predicate, the complete search space, the group action or equivalence that reduces it, the arithmetic or canonicalisation method, and what the returned counts imply.
Never write "the preceding lemma shows" when the conclusion you need is not the literal statement of that lemma. Cite it, then state the deduction in between, especially where you also need uniqueness, surjectivity or a count.
Introduce things in the order they depend on each other
Ambient structures come first. Then parameters, elements, sets, maps, operations, derived objects, statements, proofs. Define every term before it carries logical weight. Type every variable where it appears, type bound variables in their quantifiers, and give the domain and codomain of every map. Keep the symbol ledger privately if you like. Your reader should simply never meet an untyped letter.
Use standard mathematical vocabulary. A private architectural noun standing in for an ordinary object costs the reader a translation for nothing. If your upper bound is called a charge, your threshold a gate, your interval boundary a seam, or your coordinate a voltage, rename them. Write kernel only once you have named the map whose kernel it is. If a coined term appears once, delete it and name the object.
Name a section by the mathematics inside it. Imported results, the finite case and the obstruction describe your drafting process. Name the theorem, the group, the family instead.
Write in the present tense, and present the mathematics as it stands rather than as you found it. No discovery history, no revision narrative, no defensive paragraph about approaches you did not take. Prefer one logical move per sentence, and split any sentence carrying a hypothesis, a failed prior argument and a new conclusion at once.
A classification needs two different orders. Logical dependency runs one way, and the reader needs another. State the main theorem early, give the strongest prior reduction, say exactly which cases that reduction leaves open, and organise the body around those cases and the phenomenon that resolves them. Where exceptional objects are positive only in isolation, put each positive case next to the theorem showing its natural extensions fail. That makes the narrative structural instead of a list of curiosities.
Overturning a published expectation puts you under an obligation to get its formal status exactly right. A proved theorem, a numbered conjecture, an informal prediction and a heuristic are four different things, and an unnumbered sentence is none of them. Reconstruct why the expectation looked plausible given the examples and methods available then, and identify the mechanism your counterexample exposes. When a family passes every local or Sylow condition and fails globally, the story is local data failing to control a global invariant, not earlier authors being careless.
Displays and notation
Every display belongs to a grammatical sentence and takes that sentence's punctuation. Number a display only if you cite it later, and give labels stable descriptive names. Short notation that fits in a sentence goes in $...$. Keep a display for definitions, calculations, and assertions that carry emphasis or a later label. Put prose around a substantive chain of equalities, naming the reason for each transition that the adjacent definition does not make obvious.
If the task asks for the strict standalone style, start with the definitions and hypotheses. Omit title matter, abstract, introduction, motivation and survey. Write formal British English, and use no semicolon, em dash or colon in rendered text. Commas, full stops, parentheses and separate sentences do the work.
A computational proof has the same skeleton as any other
- State the analytic or combinatorial criterion.
- Define every function and normalisation.
- Prove the symbolic reductions.
- State the finite verification propositions, with exact domains and inequalities.
- Explain the enclosure or enumeration method.
- Give the certified result.
- Deduce the theorem.
Code evaluates steps 4 and 5. It must not be the only place they are stated. Any structural remark the computation leans on becomes a proposition with a proof, because a load-bearing inequality left as an informal observation is a hole.
Keep implementation out of the argument. Algorithms, data formats, dependency versions, commands, hashes and performance notes go in an implementation appendix or a companion artifact, in this order. Mathematical predicate, theorem-preserving algorithm or subdivision rule, arithmetic and rounding model, numerical results, implementation, reproduction.
Every proof-critical number has a definition
"Numerical computations show" is not provenance. For each constant, threshold, count or minimum the proof depends on, record its symbol and exact value where an exact one exists, its mathematical definition, why you chose that value, the source theorem or formula or prior computation, the arithmetic system and rounding mode, the working precision and error bound, the partition or checkpoint or certificate it comes from, any independent cross-check, the exact reproduction command, and the expected output or acceptance threshold. Derived counts and minima get the same treatment as input parameters.
A path to a JSON file is not the provenance of a value. Paths, manifests, hashes and replay commands support the claim. They never replace a definition or an enclosure argument.
The arithmetic itself has its own obligations. Prefer integer and rational arithmetic for combinatorial and algebraic steps. Use an established arbitrary-precision interval or ball library for transcendental ones. Say whether complex enclosures are rectangles or discs. Say how you guarantee outward rounding, and how you fix branches of logarithms, powers and special functions. Give an independent calculation for any scalar the bound is sensitive to. Treat a native floating-point kernel as heuristic unless a proved bound encloses its error.
Formalising a small structural lemma often costs less than writing bespoke proof code for it, and guides({name:'lean'}) covers that. Scouting in floating point and certifying the load-bearing step exactly is the standard shape, and guides({name:'fast-math'}) is the local kit.
One failure mode deserves naming, because it survives every hash check and every replay. A certificate chain that drops a phase, a carrier or a normalisation certifies a surrogate function, not the one in your theorem. When you simplify inside the verified region, prove the simplification preserves the theorem, or state the surrogate as your actual claim.
The root of trust, in order
- Published theorems, cited with hypotheses matched explicitly.
- Short exact lemmas proved in the paper or in a proof assistant.
- Exact rational or integer calculation, reproducible in a vetted CAS.
- Directed interval or ball arithmetic in a documented, vetted library.
- Minimal glue code whose semantics you describe and test independently.
- Certificates, hashes, manifests, replay tooling.
Never collapse levels 3 to 6 into "the verifier proves it". Say which level establishes each claim, and what stays in the trusted computing base. A hash proves identity, not truth. A replay proves repeatability, not that the encoded mathematics is right. Two implementations sharing formulas, generated data or certificates are one implementation, so do not call that independent verification.
Reproducibility appendix
Give the archive identifier, the immutable revision or content digest, a directory map, dependency versions and lockfiles, the commands from clean checkout to final receipt, expected runtime and memory and disk, checkpoint and resume behaviour, machine-readable and human-readable outputs, the meaning of every certificate field the proof uses, and any check still incomplete.
Name the actual distribution boundary rather than claiming the source archive contains something distributed elsewhere. Package ancillary code so it runs without your working repository. A private path never explains or verifies a mathematical claim.
Cut before you ship
Delete or rewrite, without exception:
- defensive statements denying readings no reasonable reader would attempt;
- "for completeness" paragraphs that quietly contain the central prior art;
- vague provenance such as "a computation verifies", "extensive testing", "it can be checked";
- implementation chronology standing in for mathematical argument;
- novelty claims with no named comparison;
- decorative named lemmas that nothing cites and that expose no reusable fact;
- long sentences mixing representation, obstruction and remedy;
- throat-clearing of every kind.
Talking about it in public
Website copy, blurbs, abstracts, announcements, correspondence and posts take the paper standards plus these.
They exist because the audience got burned. In October 2025 the headlines said GPT-5 had solved ten Erdős problems, and then the database maintainer explained that no discoveries had occurred and the "solutions" were literature finds. Every announcement since is read through that episode. Tao's public accounting makes the same point more gently, that most AI contributions to those lists are souped-up literature search, that genuine originals are rare, and that untouched problems did not "resist" anyone. Buzzard's bar is the one worth aiming at. Has this system ever told us something interesting that we did not already know? Write so that question can be answered with checkable specifics.
Say which of three things you have, and never blur them. The mathematics is original as far as a completed priority sweep shows. Or it assembles known results into a resolution nobody had assembled, which is honourable and common, so say so plainly. Or it existed in the literature and you found, reconstructed or repaired it. Only the first may use discovery language. Inside the ledger this is the origin field and its source, explained in guides({name:'how-this-works'}). Outside it, say the same thing in words. Do not announce before the priority sweep is finished, and give its date and scope, as in "checked MathSciNet, arXiv, and the problem database's citation tree, 2026-08-14".
Never write "solved" for anything but a swept, pinned original, and prefer "settled", "resolved", "refuted", or "closed the case a ≤ N" even then. Never write "breakthrough", "superhuman", "revolutionary", "first AI to", "PhD-level" or "gold-medal". Never write "resisted mathematicians for N years", because untouched is not resistant. No bare counts without denominators. No benchmark comparisons. No forward-looking claims, roadmaps or probabilities of future results. Not "no human in the loop" as a boast, nor "AI mathematician" as a noun. And no sentence whose subject is the system's intelligence rather than the mathematics.
Always give denominators, never a bare count. "8 of the 16 cells are settled, and the open slices are exactly these" rather than "we settled 8 cells". Always give a verification pointer, as in "verify this yourself with this exact command, about N minutes". Write in the past tense about finished things, because the strongest sentence available is a checkable one. State the open cases beside the closed ones, in the same visual register. Treat your errors as first-class content, as in "we claimed X on this date, our audit found the gap on that date, and the withdrawal is here". A self-refutation receipt buys more credibility than a success claim, and publishing one is how a ledger stays worth reading.
You owe the sources you used some etiquette. Contact the maintainer of a problem database or a published problem list, with a literature-checked, provenance-labelled write-up, before any public announcement that references their list. Follow a collaborative platform's contribution norms exactly, and never claim credit on its territory. When you settle a question posed in a specific paper, cite the exact section or problem number and tell the authors, before or alongside the public mention.
Registers differ. A result blurb runs two to four sentences, in standard vocabulary, with one provenance label and one verification pointer, written for a professional mathematician skimming. An announcement adds an explicit statement of what you are not claiming, wherever a stronger adjacent claim exists.
arXiv
Checked against official policy on 2026-07-28. Re-check before submitting, since these rules have been moving.
The submitter and authors carry responsibility for accuracy, originality, legality and scholarly character. arXiv may decline a submission for insufficient originality, novelty or significance, or for serious misrepresentation, and you must not misrepresent identity, authorship, affiliation, provenance, endorsement or verification status. Report significant use of generative-AI language tools. An AI system cannot be an author, because it can neither consent to submission nor take responsibility, so a human author inspects, verifies and accepts responsibility for all text, mathematics, citations and code. Enforcement runs from warnings through submission restrictions, suspension and removal, with permanent suspension in some identity cases. There is no blanket one-year ban for machine-written text, so do not repeat that claim.
- https://info.arxiv.org/help/moderation/index.html
- https://info.arxiv.org/help/policies/code_of_conduct.html
- https://info.arxiv.org/help/submit/submission_agreement.html
- https://info.arxiv.org/help/policies/identity_affiliation.html
Final audit
Read the source line by line. Every symbol is introduced before use. Every variable has a declared type. Every term is defined. Every imported theorem has its hypotheses checked where it is used. Every non-trivial implication has a reason. Every map is well-defined, and bijective where you need it to be. Every referenced display and citation resolves. Every display is grammatical and punctuated. No weak transition hides a calculation. The source compiles with no errors and no unresolved references.
Then replay every check you can, and report the ones you could not, plainly, in the manuscript.