formal-verification

Verify Pact modules against model-based properties and invariants.

1|1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/Pact-Community-Organization/github-marketplace --skill formal-verification-pact-community-organization
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: formal-verification
Source: https://github.com/Pact-Community-Organization/github-marketplace/tree/main/skills/formal-verification
Command: npx skills add https://github.com/Pact-Community-Organization/github-marketplace --skill formal-verification-pact-community-organization

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Pact formal verification provides a framework to reason about function arguments, results, and database interactions using @model annotations, enabling invariant checks and counterexample analysis early in development.

Core Features & Use Cases

  • Property-based reasoning with @model on defun and defschema to encode correctness contracts.
  • Conservation proofs and reusable module properties to ensure data integrity.
  • Suitable for development, testing, and audit scenarios where formal guarantees are desired.

Quick Start

Annotate a sample defun with a simple @model property and then run typecheck to validate basic behavior.

Frequently Asked Questions about formal-verification

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify Pact module invariants to catch security issues early?

Pact formal verification lets you reason about function arguments and database interactions using @model annotations to encode correctness contracts. It checks invariants and analyzes counterexamples early in development.

Can I perform property-based testing on Pact smart contracts using type-checking?

Pact formal verification lets you reason about function arguments and database interactions using @model annotations to encode correctness contracts. It checks invariants and analyzes counterexamples early in development.

How do I add conservation proofs to a Pact module schema?

Pact formal verification lets you reason about function arguments and database interactions using @model annotations to encode correctness contracts. It checks invariants and analyzes counterexamples early in development.

Does Pact 5 support native formal verification for smart contracts?

Pact formal verification lets you reason about function arguments and database interactions using @model annotations to encode correctness contracts. It checks invariants and analyzes counterexamples early in development.

What is the best way to find counterexamples in Pact function logic?

Pact formal verification lets you reason about function arguments and database interactions using @model annotations to encode correctness contracts. It checks invariants and analyzes counterexamples early in development.

When should I use formal verification instead of standard testing for Pact modules?

Pact formal verification lets you reason about function arguments and database interactions using @model annotations to encode correctness contracts. It checks invariants and analyzes counterexamples early in development.