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.