Toolverse
All skills

rocq-simulate-author

by formal-land

Create or update Rocq simulate files in this repository, including imports, executable definitions, and corresponding _eq lemmas with the project’s proof/admission conventions.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Category
Security

About this skill

Create or update Rocq simulate files in this repository, including imports, executable definitions, and corresponding _eq lemmas with the project’s proof/admission conventions.

How to use

  1. Zlokalizuj plik źródłowy links i przykładowe pliki simulate w sąsiedztwie. Przeczytaj odpowiadający plik links (w ścieżce .../links/...), aby wyodrębnić sygnaturę run_* i kolejność parametrów. Sprawdź jeden sąsiedni plik simulate w tym samym folderze, aby zapoznać się ze stylem projektu.

  2. Zbuduj importy jawnie na początku pliku. Dodaj Require Import simulate.RocqOfRust. jako pierwszy import, następnie dodaj importy linków i simulate używane przez definicję. Dodawaj dodatkowe importy tylko wtedy, gdy błędy kompilacji tego wymagają.

  3. Napisz definicję simulate, która odzwierciedla intencję kodu Rust i jest spójna z plikami w tym folderze. Używaj istniejących makr projektu (gas_macro, push_macro) konsekwentnie. Unikaj nadmiernego dopasowywania dowodów w samej definicji.

  4. Napisz lemat _eq, który łączy run_* z definicją simulate. Dopasuj kolejność argumentów do funkcji run_*. Preferuj założenia Run na poziomie klasy w plikach Eq-style. Jeśli dowód nie jest gotowy, pozostaw Admitted, chyba że użytkownik wyraźnie tego nie chciał.

  5. Skompiluj plik za pomocą: coqc -R . RocqOfRust -impredicative-set ścieżka/do/pliku.v. Napraw minimalne problemy (importy, adnotacje typów, kolejność argumentów) i iteruj aż do kompilacji bez błędów.

Related skills