F* Practical Development & Debugging

Debug F* verification failures and optimize proofs with SMT flags and SMTPat patterns.

Updated Nov 19, 2025
One-click install
npx skills add https://github.com/manutej/fstar-labs --skill f-practical-development-debugging
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: F* Practical Development & Debugging
Source: https://github.com/manutej/fstar-labs/tree/main/.claude/skills/fstar-practical
Command: npx skills add https://github.com/manutej/fstar-labs --skill f-practical-development-debugging

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides practical F* development and debugging expertise to accelerate production-ready verification, helping teams diagnose failures and optimize proofs.

Core Features & Use Cases

  • Systematic debugging workflows for F* proofs, including handling TIMEOUT, UNKNOWN, and UNSAT scenarios.
  • Performance optimization through targeted fuel management, SMTPat patterns, and profiling with --query_stats and --log_queries.
  • Production development support: IDE integration, CI/CD pipelines, testing strategies, and upgrade guidance for F* tooling.
  • Real-world verification patterns such as stateful verification, ghost code, and refinement subtyping to build robust verified systems.

Quick Start

To start using this skill, enable F* tooling in your environment, profile verification with --query_stats, inspect SMT interactions with --log_queries, and apply SMTPat patterns for automatic lemma application.

Frequently Asked Questions about F* Practical Development & Debugging

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

FAQPage Schema
How do I debug F* verification failures when the SMT solver returns UNKNOWN or TIMEOUT?

Debug F* verification failures by profiling SMT queries using the --query_stats and --log_queries flags to isolate solver bottlenecks, and apply targeted fuel management or SMTPat patterns to resolve UNKNOWN and TIMEOUT scenarios.

What is the best way to optimize F* proof performance bottlenecks during production development?

Optimize F* proof performance bottlenecks by profiling verification with --query_stats, inspecting SMT interactions via --log_queries, and applying targeted fuel management alongside SMTPat patterns to guide automatic lemma application.

How do I integrate F* verification into CI/CD pipelines without blocking builds on proof failures?

Integrate F* verification into CI/CD pipelines by enforcing practical workflows that profile query performance with --query_stats and systematically debug SMT interactions to prevent proof bottlenecks from blocking production builds.

When do I need to use SMTPat patterns for automatic lemma application in F*?

Use SMTPat patterns in F* when you need to guide the SMT solver for automatic lemma application during stateful verification, ghost code handling, and refinement subtyping to build robust verified systems.

Does this F* debugging approach work with existing IDE integration and testing strategies?

Yes, this F* debugging approach supports production development by integrating with IDE tooling, CI/CD pipelines, and testing strategies to diagnose verification failures and optimize proofs within existing development environments.