rocq-simulate-author
Generuj pliki Rocq simulate z definicjami i lematami _eq zgodnie z konwencjami projektu
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do tworzenia i aktualizacji plików simulate w repozytorium Rocq. Automatyzuje dodawanie definicji simulate, które odzwierciedlają zachowanie kodu Rust na odpowiednim poziomie abstrakcji, oraz generowanie odpowiadających im lematów eq łączących funkcje run* z definicjami simulate. Obsługuje eksplicytne importy, makra projektu (gas_macro, push_macro) i konwencje proof/admission. Kompiluje się z flagami projektu i utrzymuje spójność z istniejącymi plikami w folderze.
Jak używać
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.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ą.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.
Napisz lemat
_eq, który łączyrun_*z definicją simulate. Dopasuj kolejność argumentów do funkcjirun_*. Preferuj założeniaRunna poziomie klasy w plikach Eq-style. Jeśli dowód nie jest gotowy, pozostawAdmitted, chyba że użytkownik wyraźnie tego nie chciał.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.
Podobne skille
feishu-docs
autor: openclaw
1password
autor: openclaw
academic-researcher
autor: Shubhamsaboo
reviewing-code
autor: CaptainCrouton89
backend-security-coder
autor: sickn33
solidity-security
autor: wshobson