RO

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.zip

Installs 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.
176 charsno explicit “when” trigger
Intermediate

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

You give it
A request to create or complete files under `**/simulate/**/*.v`.
You get back
A Coq file with a simulate `Definition`, a matching `_eq` lemma, and necessary imports.

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 Definition that mirrors the links/run behavior at the right abstraction level.
  • Add the matching _eq lemma connecting run_* 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 _eq lemmas are intentionally Admitted during iteration.
  • Use id instead of (fun interpreter => interpreter).
  • Prefer record notation when clearer (for example Range records).

Procedure

  1. Locate links source and nearby simulate examples.
  • Read corresponding links file (.../links/...) to extract run_* signature and parameter order.
  • Read one neighboring simulate file in same folder for style.
  1. 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.
  1. 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.
  1. Write _eq lemma.
  • Match argument order of run_* exactly.
  • Prefer class-level Run assumptions in Eq-style files.
  • If proof is not ready, keep Admitted unless user asked no admitted.
  1. 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 explicit Require 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 *.Run assumption.

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.

SkillInstallsUpdatedSafetyDifficulty
rocq-simulate-author (this skill)16moReviewIntermediate
implementing-cards72moReviewAdvanced
write-rust-tests95moNo flagsIntermediate
gen-rust16moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry