lean-abstract
Create or revise a human-readable Lean formal abstract with minimal definitions and main theorems in Abstract.lean, proved through AbstractBridge.lean.
Skill by edemaine
Chalk Labs
Need help deploying lean-abstract?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/edemaine-lean-abstract
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
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/lean-abstract
What's inside
- Skill name
lean-abstract- Description
- Create or revise a human-readable Lean formal abstract with minimal definitions and main theorems in Abstract.lean, proved through AbstractBridge.lean. Use for independently understandable summaries of an existing formalization, not ordinary proof development or prose-only abstracts.
- License
- MIT
- Instructions
- 57 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# Lean abstract Write the formal equivalent of a paper abstract: a short file whose mathematical statements a human can understand without reading the implementation, with proofs checked against the existing development. Optimize for intuitive definitions and few concepts, rather than matching the proof's representations or minimizing character count. ## Choose the public definitions Inspect the main theorem statements, their hypotheses, and the repository's build and axiom-checking conventions. Identify only the concepts needed to state the requested results. The abstract may use simpler representations, provided the bridge proves the correspondence without weakening or strengthening the intended claims. Outside references are allowed only in proofs. Every reference in a public definition, type, or theorem statement must resolve to a declaration within the abstract suite or an accepted background library, such as Mathlib. This requirement applies transitively: an alias or wrapper around an implementation declaration does not make it internal. - Avoid `open` in the public abstract; use explicit namespace prefixes so readers can distinguish abstract definitions from accepted background libraries, such as Mathlib. Namespace openings may be used locally inside proofs or in the bridge. - Give each concept one canonical public definition. Avoid alternative equivalent predicates, duplicate theorem formulations, and separate encoded and unencoded versions unless the requested results need them. - Prefer ordinary functions, quantifiers, membership, and equalities over custom interfaces, dependent records, or implementation-specific machinery. State constraints on a function explicitly when this is clearer than packaging values and proofs into subtypes. - For more than two homogeneous components, prefer `Fin n → α` over nested cross products. Give the index type a short descriptive alias and name meaningful indices. Group the index alias, index names, and object alias in one block. For example, `Direction := Fin 4`, indices `n/s/e/w`, and `Tile := Direction → ℕ` let a reader write `t n` instead of tuple projections. - Choose representations that inherit the needed Mathlib encoding and computability instances when they are also intuitive. Keep explicit bijections, encoding instances, and coding lemmas in the bridge. Avoid an ugly public representation merely to simplify encoding. - Use lists for finite input collections when this makes algorithms and encodings straightforward. Explain that lists are used instead of sets for algorithmic processing and that duplicates are harmless, when true. - Define named mathematical properties needed by the results, rather than leaving them only as expanded theorem statements. Reuse standard Mathlib notions where they are already readable. - Prefer direct answer-preservation statements over introducing another reduction interface just for the abstract. These are readability preferences, not reasons to discard useful existing structures or essential hypotheses. ## Split statements from proof machinery `Abstract.lean` contains the minimal definitions, concise explanatory comments, and actual `theorem` declarations whose short proofs invoke imported bridge theorems. It should be independently understandable in content; its imports may bring in the full proof. Do not replace checked theorems with axioms or leave placeholder proofs. `AbstractBridge.lean` imports the established theorem endpoint and supplies the translations, correspondence proofs, and transferred results. For algorithmic claims, prove the translations computable under the relevant encodings; a set-theoretic equivalence alone does not transfer decidability or completeness. Prove inverse maps when useful, without assuming a bijection is necessary for every transfer. Keep the import graph acyclic: when `Abstract.lean` imports the bridge, the bridge cannot import it. Use bridge statements parameterized over the public notions, or small internal predicates and expanded statements that the abstract's definitions match by definitional equality. Keep unavoidable internal duplication confined to the bridge; do not expose several equivalent presentations in the abstract or add a third definitions file by default. ## Write comments Start each conceptual code block's comment with a human mathematical definition or statement. Then explain how the Lean expression represents it, only where needed. Group trivial aliases under one comment rather than documenting every line separately. - Explain notation by connecting Lean expressions to the mathematical objects or relationships they represent. - Use consistent, domain-specific names in prose. State relevant conventions near the object definition. - Explain unfamiliar Mathlib predicates by their meaning, then name the predicate. When describing an algorithmic property, state its termination and correctness guarantees precisely. - Explain reduction totality and answer preservation in words. If source inputs are natural numbers, explain their role as encodings without exposing coding details. - Label main results as theorems and corollaries and give their intuitive consequences. Say the file “proves” the results, since their proofs are checked. - Keep prose concise, grammatical, and free of repeated explanations. Prefer “introduces the needed definitions” to “defines the needed definitions.” Omit implementation history and proof-specific terminology from the abstract. The module introduction should briefly identify the abstract's purpose, definitions, main results, and bridge. Explain that, to check whether the formalization proves the intended main results, the reader only needs to check this file's definitions and theorem statements; Lean verifies the proofs through the bridge and the rest of the project. Follow the repository's comment and header conventions. If updating the README is in scope, describe the same role and division between reader and Lean, link both files, and identify the import and build command without repeating the mathematical exposition. ## Verify and integrate Audit the dependencies of public definitions, types, and theorem statements transitively, following aliases and wrappers. Check inferred types and instances as well as written names for hidden implementation references. Compile the abstract and bridge, checking that the short public proofs establish exactly the displayed statements. Include the abstract in the default build, following existing target and import conventions. If the repository has an axiom audit, add the new main theorems so unfinished proofs and unexpected assumptions are caught there too. Report the checks actually completed and any remaining limitations; do not claim that a full build passed based only on a targeted build. ## Examples Consult these for concrete examples of definitions, comments, and theorems proved through a bridge. Adapt the presentation to the current problem. - [edemaine/lean-wang](https://github.com/edemaine/lean-wang/blob/main/LeanWang/Abstract.lean): Wang tiling is co-RE-complete and undecidable. - [edemaine/translation-tiling-paper](https://github.com/edemaine/translation-tiling-paper/blob/main/lean/TranslationTiling/Abstract.lean): Tiling three-dimensional space by translates of a single connected polycube is co-RE-complete and undecidable. - [slef/TilingPolyomino](https://github.com/slef/TilingPolyomino/blob/master/TilingPolyomino/Abstract.lean): Characterizations of L-tromino tileability for rectangles and rectangles with corner defects.
From edemaine/agents-config, MIT.
More from edemaine/agents-config
- 0.587score
annotated-diff
edemaine
Create or maintain a standalone Markdown document that explains a Git diff, groups related changes by purpose, presents readable diff excerpts, and accounts…
SkillAFreshness: A★ 1Claude Code +9 - 0.552score
civetify
edemaine
Port JavaScript/TypeScript to idiomatic Civet or clean up existing Civet, including removing esCompat when requested, while checking compiled output for…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
coffeescript-to-civet
edemaine
Convert CoffeeScript source files or Civet using coffeeCompat/coffee-compat or individual CoffeeScript compatibility modes to native Civet.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
greptile-review
edemaine
Run and inspect Greptile CLI code reviews in the current Git repository.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
proofread
edemaine
Proofread papers, recommendation letters, and other scholarly writing
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 16, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/edemaine/agents-config
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from edemaine
- 0.587score
annotated-diff
edemaine
Create or maintain a standalone Markdown document that explains a Git diff, groups related changes by purpose, presents readable diff excerpts, and accounts…
SkillAFreshness: A★ 1Claude Code +9 - 0.552score
civetify
edemaine
Port JavaScript/TypeScript to idiomatic Civet or clean up existing Civet, including removing esCompat when requested, while checking compiled output for…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
coffeescript-to-civet
edemaine
Convert CoffeeScript source files or Civet using coffeeCompat/coffee-compat or individual CoffeeScript compatibility modes to native Civet.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
greptile-review
edemaine
Run and inspect Greptile CLI code reviews in the current Git repository.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
proofread
edemaine
Proofread papers, recommendation letters, and other scholarly writing
SkillBFreshness: B★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get lean-abstract running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
lean-abstract skill. Agent Mart. https://agentmart.dev/skills/edemaine-lean-abstract (last updated 2026-10-24)