Formal Verification Skill

SkillDev tools

Comprehensive formal verification skill covering property writing (SVA/assertions), proof engine tuning, complexity management, TCL scripting, and end-to-end FPV workflows. Validated for JasperGold; VC Formal support is planned (extensible). Use this skill whenever the user works on formal property verification (FPV), writes SVA assertions or properties, configures proof engines, debugs complexity issues, writes JasperGold/VC Formal TCL scripts, runs formal verification batch jobs, or asks about any formal verification methodology. Also trigger for CDC, RDC, lint, and coverage tasks if those modules are available. Even if the user just mentions "formal", "property", "assertion", "prove", "CEX", "counterexample", "JasperGold", "Jasper", "VC Formal", or "FPV", consult this skill.

Use Formal Verification Skill in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Formal Verification Skill and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Formal Verification Skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Formal Verification SkillStart free

What this skill tells your AI

The instructions your AI receives, as published by gokeshenzhen/awesome-formal-verification-skill in adapters/claude-code/SKILL.md and read by Ahel’s review.

Architecture

This skill uses a modular knowledge base. Load only the modules relevant to the current task.

Available Modules

FPV (Formal Property Verification)
ModulePathUse When
Property Writingknowledge/fpv/property-writing.mdWriting or reviewing SVA properties/assertions
Engine Tuningknowledge/fpv/engine-tuning.mdSelecting/configuring proof engines; deep bug hunting (DBH), hunt, swarm, and beyond-bound search route through this index
Complexity Managementknowledge/fpv/complexity-management.mdDealing with proof complexity, capacity issues, many undetermined properties, global invariants, helper lemmas, AG/CAG, or proof_structure
TCL Commandsknowledge/fpv/tcl-commands.mdWriting TCL scripts for JasperGold/formal tools
Workflowknowledge/fpv/workflow.mdEnd-to-end FPV setup, execution, debug cycle
Shared Knowledge
ModulePathUse When
SVA Referenceknowledge/shared/sva-reference.mdSVA syntax, operators, sequences
Common TCLknowledge/shared/tcl-common.mdTCL patterns shared across apps
Tool-Specific
ResourcePathUse When
JasperGold Specificstool-specific/jaspergold/JasperGold-specific commands, quirks, versions
VC Formal Specificstool-specific/vc-formal/Planned, not yet populated — treat VC Formal syntax as unverified

How to Use This Skill

  1. Identify the task category from the user's request
  2. Read the relevant module(s) from the table above — typically 1-2 modules per task
  3. Check tool-specific notes if the user is working with a specific EDA tool
  4. Apply the knowledge following the module's decision trees and patterns

Mandatory Escalation Routing

After a baseline or helper result, including when preparing a final script, read knowledge/fpv/complexity-management.md → Post-Baseline Triage first. It owns task scope, outcome identity, and branch priority. Use the following discovery routes for additional reading; they do not override that triage.

Task / latest feedbackRead after triage
Explicit bug-search/reachability or a concrete witness lead for the original design objectiveknowledge/fpv/engine-tuning.md, then its engine-tuning/bug-hunting.md leaf for activation and DBH_DECISION
Proposed helper has a CEX; repair the candidateknowledge/fpv/complexity-management/decomposition.md → Candidate-CEX Repair
One invariant-like assertion is undetermined, no reset-reachable CEX, missing state relation plausible (such as registers updated on different paths), even without an initial helperknowledge/fpv/complexity-management/decomposition.md → Helper vs. Proof Structure Decision
Data helper stalls, support may be missing, or structural strengthening has already been triedknowledge/fpv/complexity-management/decomposition.md; follow its diagnostic route to sst-refinement.md when selected
Global/peer/generated invariants: no-duplicate, uniqueness, conservation, mutual exclusion, placement, token ownership, queues/FIFOs/banks/tiles/arbitersknowledge/fpv/complexity-management/decomposition.md for compact-helper versus AG/CAG/partition selection
Other stalled proofs, including many undetermined results after direct prove or ProofMasterknowledge/fpv/complexity-management.md symptom routes; knowledge/fpv/engine-tuning.md for the selected engine experiment
Completed proof or helper result to reportknowledge/fpv/workflow.md → Post-Prove Escalation Gate

Routing Examples

  • "Help me write an assertion for FIFO overflow" → Read property-writing.md + sva-reference.md
  • "My proof is running forever" → Read complexity-management.md + engine-tuning.md
  • "One state invariant is undetermined, no CEX; find the strongest sound conclusion" → Read complexity-management.md + complexity-management/decomposition.md first when a missing state relation is plausible
  • "A proposed helper has a CEX; repair the helper" → Read complexity-management.md + complexity-management/decomposition.md, not bug hunting solely because a trace exists
  • "Set up a JasperGold FPV run" → Read workflow.md + tcl-commands.md + jaspergold/
  • "414 assertions, 412 undetermined, no CEX" → Read workflow.md + complexity-management.md + complexity-management/decomposition.md
  • "Prove no duplicates across many FIFOs" → Read complexity-management.md + complexity-management/decomposition.md
  • "Convert this JasperGold script to VC Formal" → Read tcl-commands.md + tool-specific/jaspergold/; the VC Formal layer is not yet populated, so flag every VC Formal command as unverified
  • "Run deep bug hunting / DBH beyond this stalled bound" → Read engine-tuning.md, then engine-tuning/bug-hunting.md

Signals

GitHub stars
34
Forks
8
Last commit
Sep 2026

Others that do the same job

Advanced
Item type
skill
Key
formal-verification-gokeshenzhen
Source
github.com/gokeshenzhen/awesome-formal-verification-skill