iacr-math-prose
Write or revise mathematical and protocol prose for IACR submissions (Crypto, Eurocrypt, Asiacrypt, TCC, PKC, CHES, FSE).
Skill by charles-hoskinson
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/charleshoskinson-iacr-math-prose
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: presentations, security, writing, marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/iacr-math-prose
What's inside
- Skill name
iacr-math-prose- Description
- Write or revise mathematical and protocol prose for IACR submissions (Crypto, Eurocrypt, Asiacrypt, TCC, PKC, CHES, FSE). Enforces notation discipline, iacrtrans/amsthm environment usage, and the three accepted IACR proof styles (game-based, UC-simulation, concrete-security/asymptotic). Use when user says "draft this theorem", "write the security proof", "format this protocol as a Construction", "rewrite for IACR", "fix the proof prose for Crypto submission", or asks to format definitions/lemmas/reductions. Do NOT use for marketing copy, blog posts, slide decks, or non-cryptography mathematical work.
- License
- MIT
- Metadata
- author: charles-hoskinson · version: 0.1.0 · category: writing
- Instructions
- 127 lines in SKILL.md · view on GitHub
Files (17)
- README.md
- SKILL.md
- pyproject.toml
- ciphersuite-naming.md · references/
- common-rejection-reasons.md · references/
- iacrtrans-environments.md · references/
- notation-discipline.md · references/
- proof-style-concrete.md · references/
- proof-style-game-based.md · references/
- proof-style-uc.md · references/
- protocol-pseudocode.md · references/
- theorem-statement-style.md · references/
- definition.tex · templates/
- proof-block.tex · templates/
- protocol-construction.tex · templates/
- theorem-game-based.tex · templates/
- theorem-uc.tex · templates/
SKILL.md (first lines)
# iacr-math-prose
Mathematical and protocol prose conventions for IACR-tier cryptography papers. Sibling to `russellian-style`: where `russellian-style` governs connective English prose, `iacr-math-prose` governs notation, environments, and proof bookkeeping.
For authors targeting Crypto, Eurocrypt, Asiacrypt, TCC, PKC, CHES, FSE, or the IACR ePrint archive. Output is expected to pass a program-committee read without rejection on prose grounds.
## When to use
- Drafting a `\begin{definition}`, `\begin{theorem}`, `\begin{lemma}`, or `\begin{construction}` block.
- Writing a security proof in any of the three IACR-accepted styles.
- Formalising a protocol description (party state, messages, side conditions).
- Fixing notation drift across a paper (DSTs, security parameter, query bounds).
- Reviewing a draft for the common IACR rejection reasons.
- Especially: EpochPoET-style protocol papers combining VRF, KES, and ledger reasoning.
Do NOT use for marketing, blog posts, non-cryptography mathematics (e.g., pure number theory unrelated to a primitive), Lean/Coq formalisation (a separate skill), or casual exposition.
## Operating doctrine — three pillars
### Pillar 1 — Notation discipline
- Pick ONE security-parameter letter (`λ` or `n`) and use it across the whole paper.
- Hash domain separation tags (DSTs) are explicit and ciphersuite-prefixed, RFC 9380 style.
- Probability bounds are concrete: `Pr[A wins] ≤ Adv^{ASSUMPTION}_B(λ) + ε(λ)` with `ε` defined as negligible.
- Quantifiers are tight and ordered: `∀ PPT A, ∃ negligible ε, ∀ λ ∈ ℕ: Pr[...] ≤ ε(λ)`.
- Multi-party schemes label parties `P_1, …, P_n` (or `P_i`). `Alice/Bob` only in informal warmup paragraphs.
- All sets, groups, fields are typed at first use: `G is a cyclic group of prime order p, with generator g ∈ G`.
- No symbol reuse across distinct contexts in one paper (no overloading `H` to mean both a hash and a hypothesis).
See `references/notation-discipline.md`.
### Pillar 2 — Environment usage (iacrtrans / amsthm)
- `\begin{definition}` for definitions. Statement italicised by the class, body plain.
- `\begin{theorem}` / `lemma` / `corollary` / `proposition` for claims.
- `\begin{proof}` ends with `\qed` (auto-inserted by amsthm).
- `\begin{construction}` is the custom env for protocol pseudocode (declared with `\newtheorem*{construction}{Construction}`).
- `\begin{remark}` for asides.
- Never `\\` `\\` (forbidden as block separator). Use `\medskip`.
- Never bare equation arrays for derivations — use `align`, `aligned`, or `gather`.
See `references/iacrtrans-environments.md`.
### Pillar 3 — Proof prose structure
Three accepted styles. Pick one per theorem; do not mix.
(a) **Game-based reductions.** Sequence `G_0, G_1, …, G_k`. Each step bounds `|Pr[G_i = 1] − Pr[G_{i+1} = 1]| ≤ ε_i`. Final bound `|Pr[G_0 = 1] − Pr[G_k = 1]| ≤ Σ ε_i`. Template: `templates/theorem-game-based.tex`. See `references/proof-style-game-based.md`.
(b) **UC simulation-based.** Define ideal functionality `F`, real protocol `π`, environment `Z`, simulator `S`. Show `IDEAL_{F,S,Z} ≈^c REAL_{π,A,Z}`. Cite Canetti's UC framework (2001/2020 revision). Template: `templates/theorem-uc.tex`. See `references/proof-style-uc.md`.
(c) **Concrete-security / asymptotic hybrid.** State `Adv^{notion}_A(λ) ≤ q · Adv^{assumption}_B(λ) + ε(λ)` with both a concrete query bound `q` and an asymptotic claim. See `references/proof-style-concrete.md`.
## Workflow
1. **Identify the prose target.** Definition? Theorem statement? Proof? Construction? Remark? Pick one.
2. **Select the template** from `templates/` that matches.
3. **Fill it.** Replace `\TODO{...}` blocks with content. Do not delete the comment frontmatter — it reminds the writer of the invariants.
4. **Verify against the matching reference.** For a game-based theorem, read `references/proof-style-game-based.md` and check every game transition is bounded.
5. **Run the rejection-reasons checklist** in `references/common-rejection-reasons.md` before declaring the block done.
6. **Layer with `russellian-style`** for the connective English between math blocks (transitions, motivation, intuition paragraphs).
## Russellian compatibility
`russellian-style` and `iacr-math-prose` are siblings. They do not conflict on most material.
- **`russellian-style` governs** prose-level discipline: one claim per sentence, no hedging, active voice, no footnotes-for-substance, no rule-of-three filler, no AI staccato.
- **`iacr-math-prose` governs** notation, theorem/proof environment usage, ciphersuite naming, and the three proof-style templates.
- **When they conflict**, `iacr-math-prose` wins inside math blocks (definitions, theorems, proofs, constructions). `russellian-style` wins in connective prose between blocks.
- Concretely: a `\begin{proof}` body MAY contain a long bookkeeping sentence ("By the union bound over `q` queries, `Pr[E_1 ∪ E_2] ≤ q · ε + ε'`"). `russellian-style` would normally split it; `iacr-math-prose` allows it because bookkeeping integrity outranks atomicity.
- Inverse: the paragraph introducing a theorem in plain English is `russellian-style` territory. One claim per sentence. No "we shall see that".
## Common rejection reasons (surface read)
The full list lives in `references/common-rejection-reasons.md`. The top failure modes:
1. **Informal ideal functionality.** A UC theorem with `F` written in prose, not as a labelled box with `Send`, `Receive`, `Output` interfaces.
2. **Vague probability.** `Pr[A wins] ≈ ε` instead of `≤ ε(λ) + negl(λ)` with `ε` and `negl` defined.
3. **Missing query bound.** A concrete-security claim with no explicit `q` (queries to the hash, signing oracle, decryption oracle, etc.).
4. **Symbol reuse.** `H` used for both a hash function and a hypothesis space. Reviewers reject on first pass.
5. **Unspecified security model.** "The scheme is secure" without saying CPA, CCA1, CCA2, EUF-CMA, sUF-CMA, IND-sID-CCA, etc.
6. **Random oracle without domain/range.** `H` modelled as RO but no statement of `H: {0,1}^* → G`.
7. **Informal-then-formal duplication.** Two versions of the same theorem with no marker of which is the official claim.
8. **`\textbf` vs `\mathbf` drift.** Same role styled differently across the paper.
9. **Constructions in inline prose.** A protocol described in a paragraph instead of a numbered `\begin{construction}` block.
10. **Cite-by-prose.** "See [12]" instead of "Boneh and Franklin [12] proved …".
11. **Semantic line breaks in equations.** Breaking `a + b = c + d` between `+` and `b` instead of at `=`.
12. **`\\ \\` as block separator.** Forbidden. Use `\medskip` or `\paragraph{Name.}`.
## Templates
Each template under `templates/` is real LaTeX. Open it, paste it, fill the `\TODO{...}` blocks, and the result will type-check against the iacrtrans class with `\usepackage{amsmath, amsthm, amssymb, cleveref}`.
- `templates/definition.tex` — definition skeleton.
- `templates/theorem-game-based.tex` — theorem + game-based proof skeleton.
- `templates/theorem-uc.tex` — theorem + UC ideal functionality + simulator skeleton.
- `templates/proof-block.tex` — standalone proof skeleton (use when claim is stated elsewhere).
- `templates/protocol-construction.tex` — `\begin{construction}` block with party state and messages.
## References
- `references/notation-discipline.md` — Pillar 1 in detail with GOOD/BAD pairs.
- `references/iacrtrans-environments.md` — Pillar 2: full env list, when to use each.
- `references/proof-style-game-based.md` — Pillar 3a with a worked PRF-from-DDH example.
- `references/proof-style-uc.md` — Pillar 3b with a worked commitment-from-CRS example.
- `references/proof-style-concrete.md` — Pillar 3c with a worked signature concrete-bound example.
- `references/protocol-pseudocode.md` — pseudocode formatting (algorithm2e vs lstlisting vs custom).
- `references/ciphersuite-naming.md` — RFC 9380 / 9381 / 9180 naming.
- `references/theorem-statement-style.md` — how to phrase a theorem so PC reviewers do not reject it.
- `references/common-rejection-reasons.md` — full failure-mode list.
## Composes with
- `russellian-style` — prose discipline between math blocks. See "Russellian compatibility" above.
- `book-knowledge` — supplies the verified claim ledger that this skill's proofs reference.
- `book-compose` — calls this skill when the chapter target is a cryptography paper.
- `book-review` — runs persona reviews; a "Domain Expert" persona checks the artefacts produced by this skill.
- `iacr-review` — sibling reviewer skill that audits drafts written under this skill against IACR PC criteria.From CharlesHoskinson/russellian-book-suite, MIT.
More from CharlesHoskinson/russellian-book-suite
- 0.512score
book-compose
charles-hoskinson
Compile chapter drafts from a validated book workspace.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
triadic-voice-v2
charles-hoskinson
HFR v2 generator.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
book-knowledge
charles-hoskinson
Ingest technical sources (PDFs, markdown, papers) into a book workspace and maintain its persistent epistemic state — wiki synthesis, claim ledger with…
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
book-qa
charles-hoskinson
Post-build mechanical and editorial quality gate for non-fiction book artifacts.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
book-review
charles-hoskinson
Run multi-persona editorial reviews on a drafted chapter.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
book-thesis
CharlesHoskinson
Metabook reasoning layer for the book-* skill suite.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
feynman-style
charles-hoskinson
Rewrite already-Russellized technical prose in Richard Feynman's voice — concrete analogy and physical intuition, conversational directness, honest curiosity…
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
halmos
charles-hoskinson
Sequential cross-chapter linkage review.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
iacr-review
charles-hoskinson
Deterministic harsh review of cryptography papers under the EUROCRYPT 2022 review rubric.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
review-conductor
charles-hoskinson
Orchestrate configurable multi-persona editorial review panels over book-review.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
review-revise-validate
charles-hoskinson
Run a single-pass review→revise→re-validate cycle on one chapter.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
russellian-style
charles-hoskinson
Rewrite technical prose in Bertrand Russell's analytic style — lexical economy, logical atomism, declarative active-voice sentences, no hedging, axiomatic…
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 4
- Last commit (this folder)
- Jun 5, 2026 (4 months ago)
- Last release
- May 17, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.1.0
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from charles-hoskinson
- 0.512score
triadic-voice-v2
charles-hoskinson
HFR v2 generator.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
book-knowledge
charles-hoskinson
Ingest technical sources (PDFs, markdown, papers) into a book workspace and maintain its persistent epistemic state — wiki synthesis, claim ledger with…
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
book-qa
charles-hoskinson
Post-build mechanical and editorial quality gate for non-fiction book artifacts.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
book-review
charles-hoskinson
Run multi-persona editorial reviews on a drafted chapter.
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
feynman-style
charles-hoskinson
Rewrite already-Russellized technical prose in Richard Feynman's voice — concrete analogy and physical intuition, conversational directness, honest curiosity…
SkillCFreshness: C★ 2Claude Code +9 - 0.512score
book-compose
charles-hoskinson
Compile chapter drafts from a validated book workspace.
SkillCFreshness: C★ 2Claude Code +9
Cite this page
iacr-math-prose skill. Agent Mart. https://agentmart.dev/skills/charleshoskinson-iacr-math-prose (last updated 2026-10-24)