tla-debug-violations

Debug TLA+ invariant and property violations reported by the TLC model checker.

Updated Jan 27, 2026
One-click install
npx skills add https://github.com/photoszzt/tlaplus-ai-tools --skill tla-debug-violations
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tla-debug-violations
Source: https://github.com/photoszzt/tlaplus-ai-tools/tree/main/skills/tla-debug-violations
Command: npx skills add https://github.com/photoszzt/tlaplus-ai-tools --skill tla-debug-violations

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a structured approach to diagnosing and resolving invariant and property violations reported by the TLA+ model checker (TLC).

Core Features & Use Cases

  • Systematic Diagnosis: Guides users through minimizing configurations, isolating invariant vs. liveness issues, and analyzing counterexamples.
  • Common Bug Identification: Highlights frequent causes of violations like missing guards, incorrect temporal logic, and initialization errors.
  • Use Case: When TLC reports that a critical liveness property is violated, this skill helps you methodically investigate the trace, identify the problematic action, and pinpoint the cause, such as a missing fairness condition.

Quick Start

Use the tla-debug-violations skill to systematically debug a TLC counterexample by following the provided workflow.

Frequently Asked Questions about tla-debug-violations

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

FAQPage Schema
How do I debug a TLA+ invariant violation reported by the TLC model checker?

Debug a TLA+ invariant violation by following a systematic workflow: minimize the TLC configuration, isolate the specific invariant breached, and analyze the counterexample trace to pinpoint the problematic action.

What is the best way to diagnose a liveness property failure in TLA+?

Diagnose a liveness property failure by methodically investigating the TLC counterexample trace to identify the problematic action, often pinpointing causes such as missing fairness conditions or incorrect temporal logic in the specification.

Why does TLC report a counterexample and how do I isolate the cause?

TLC reports a counterexample when an invariant or property is violated. To isolate the cause, analyze the trace step-by-step to identify the specific action and check for missing guards or initialization errors.

What are common causes of invariant breaches in formal verification?

Common causes of invariant breaches in formal verification include missing guards in actions, incorrect temporal logic definitions, and initialization errors that create invalid initial states for the model.

Can I use a systematic workflow to minimize TLA+ model checking configurations?

Yes, you can minimize TLA+ model checking configurations to isolate violations. By reducing the configuration scope, you can more easily isolate invariant versus liveness issues and analyze the resulting counterexample.