rocq-simulate-author
Creates or updates Rocq simulate files while adhering to specific repository proof and compilation conventions.
Install
mkdir -p .claude/skills/rocq-simulate-author && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7130" && unzip -o skill.zip -d .claude/skills/rocq-simulate-author && rm skill.zipInstalls to .claude/skills/rocq-simulate-author
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create or update Rocq simulate files in this repository, including imports, executable definitions, and corresponding _eq lemmas with the project’s proof/admission conventions.Key capabilities
- →Add a simulate `Definition` that mirrors `links/run` behavior.
- →Add a matching `_eq` lemma connecting `run_*` and the simulate definition.
- →Ensure the file compiles with project flags.
- →Build explicit imports, starting with `simulate.RocqOfRust`.
- →Write the simulate definition using existing macros consistently.
How it works
The skill generates or updates Rocq simulate files by extracting `run_*` signatures from corresponding links files, building explicit imports, and writing definitions and `_eq` lemmas according to repository conventions.
Inputs & outputs
When to use rocq-simulate-author
- →Generate new Rocq simulation definitions
- →Create matching _eq lemmas for simulation files
- →Synchronize simulate file imports with Rust code
About this skill
Rocq Simulate Author
Use this skill when asked to create or complete files under **/simulate/**/*.v.
Goals
- Add a simulate
Definitionthat mirrors the links/run behavior at the right abstraction level. - Add the matching
_eqlemma connectingrun_*and the simulate definition. - Keep the file compiling with project flags.
Repository Conventions
- Compile with:
coqc -R . RocqOfRust -impredicative-set path/to/file.v
- Prefer explicit imports; do not assume aggregator modules exist.
- In this repo, many
_eqlemmas are intentionallyAdmittedduring iteration. - Use
idinstead of(fun interpreter => interpreter). - Prefer record notation when clearer (for example
Rangerecords).
Procedure
- Locate links source and nearby simulate examples.
- Read corresponding links file (
.../links/...) to extractrun_*signature and parameter order. - Read one neighboring simulate file in same folder for style.
- Build imports explicitly.
Require Import simulate.RocqOfRust.first.- Add links/simulate imports used by the definition.
- Add missing imports only when compile errors require them.
- Write the simulate definition.
- Keep shape close to Rust intent and existing sibling files.
- Use existing macros (
gas_macro,push_macro, etc.) consistently. - Avoid overfitting proofs in the definition.
- Write
_eqlemma.
- Match argument order of
run_*exactly. - Prefer class-level
Runassumptions in Eq-style files. - If proof is not ready, keep
Admittedunless user asked no admitted.
- Compile and iterate.
- Compile touched file first.
- Fix minimal issues (imports, type annotations, argument order).
Starter Skeleton
Require Import simulate.RocqOfRust.
(* other explicit imports *)
Definition <name>
{A ... : Set} `{Link ...}
...
(x : ...) : ... :=
... .
Lemma <name>_eq
{A ... : Set} `{Link ...}
...
(x : ...) :
...
.
Proof.
Admitted.
Common Failure Fixes
module-not-found: add explicitRequire Import ...for split per-function links/simulate files.- Type mismatch in
run_*: compare with links instance signature and reorder args. - Numeric inference to
Z: use typed literals like(0 : usize). - Missing class projections in Eq files: add appropriate class-level
*.Runassumption.
When not to use it
- →When the user explicitly requests no admitted proofs for `_eq` lemmas.
Limitations
- →The skill operates only within the `**/simulate/**/*.v` file path.
- →`_eq` lemmas may be `Admitted` during iteration if not ready.
How it compares
This skill automates the creation and synchronization of Rocq simulate definitions and `_eq` lemmas, ensuring adherence to project conventions, unlike manual Coq file authoring.
Compared to similar skills
rocq-simulate-author side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| rocq-simulate-author (this skill) | 1 | 6mo | Review | Intermediate |
| implementing-cards | 7 | 2mo | Review | Advanced |
| write-rust-tests | 9 | 5mo | No flags | Intermediate |
| gen-rust | 1 | 6mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by formal-land
View all by formal-land →You might also like
implementing-cards
bcollazo
Fill out the implementation of effects of different attacks, abilities, and trainer cards in this Pokemon TCG Pocket engine codebase.
write-rust-tests
RediSearch
Write Rust tests to verify correctness of Rust code.
gen-rust
MoonshotAI
Sync Rust implementation with Python changes (exclude UI/login) by reviewing recent changes, mapping modules, porting logic, and updating tests.
testing-hashql
hashintel
HashQL testing strategies including compiletest (UI tests), unit tests, and snapshot tests. Use when writing tests for HashQL code, using //~ annotations, running --bless, debugging test failures, or choosing the right testing approach.
rust-testing
aaione
Rust 测试模式,包括单元测试、集成测试、异步测试、属性测试、mocking 和覆盖率。遵循 TDD 方法论。
evolve
yologdev
Safely modify your own source code, test changes, and manage your evolution