requirement-to-tlaplus-property-generator

Generate TLA+ invariants, safety, and liveness properties from system requirements.

142|14|Updated Feb 14, 2026
One-click install
npx skills add https://github.com/ArabelaTso/Skills-4-SE --skill requirement-to-tlaplus-property-generator
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: requirement-to-tlaplus-property-generator
Source: https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/requirement-to-tlaplus-property-generator
Command: npx skills add https://github.com/ArabelaTso/Skills-4-SE --skill requirement-to-tlaplus-property-generator

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill bridges the gap between informal natural-language requirements and formal TLA+ specifications, enabling rigorous verification of system behavior.

Core Features & Use Cases

  • Automated Property Derivation: Generates TLA+ invariants, safety, and liveness properties from textual requirements.
  • Ambiguity Resolution: Identifies and resolves underspecified requirements through clarification questions or reasonable interpretations.
  • Use Case: When designing a critical system, use this Skill to convert high-level requirements like "the system must never deadlock" into precise TLA+ properties that can be verified using the TLC model checker.

Quick Start

Use the requirement-to-tlaplus-property-generator skill to translate the requirement "The system must ensure the buffer size never exceeds capacity" into a TLA+ safety property.

Frequently Asked Questions about requirement-to-tlaplus-property-generator

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

FAQPage Schema
How do I translate natural language requirements into TLA+ properties for model checking?

You can generate TLA+ invariants, safety, and liveness properties by deriving formal specifications directly from natural-language or structured system requirements. The process resolves ambiguities by applying standard interpretations to output verifiable TLA+ definitions.

How does formal verification handle ambiguous requirements when generating TLA+ safety properties?

When generating TLA+ safety properties, ambiguous requirements are resolved by asking clarifying questions or applying reasonable standard interpretations. This ensures the derived formal specifications accurately reflect the intended system behavior for verification.

What is the best way to convert high-level system constraints into TLA+ invariants?

The best way to convert high-level system constraints into TLA+ invariants is to parse textual requirements and map them to formal definitions. This generates TLA+-compatible invariants accompanied by semantic explanations to ensure correct verification.

Can I use this approach to generate liveness properties for the TLC model checker?

Yes, you can generate liveness properties for the TLC model checker by deriving formal TLA+ specifications from textual requirements. The process outputs TLA+-compatible liveness definitions with semantic explanations to verify eventual state transitions.

Do I need structured system requirements to generate TLA+ specifications, or is natural language sufficient?

Natural language is sufficient to generate TLA+ specifications; structured system requirements are not strictly needed. The derivation process translates informal textual requirements into formal TLA+ properties by resolving ambiguities through standard interpretations.