Example Disambiguation
Input: "When a user logs in, they must accept the Terms or they cannot proceed."
Ambiguities Detected:
- Temporal scope: Always vs Sometimes
- Logical structure: Implication vs Disjunction
- Timing: Immediate requirement vs Eventually
Clarifying Question: "Should this rule apply every time a user logs in?"
Final Spec: always (Login → (TermsAccepted ∨ ¬Proceed))
🔷 Distributive Lattice
Mathematical structure capturing all possible interpretations ordered by specificity
🔍 Intent Facets
Independent semantic dimensions like temporal scope, quantifiers, and guards
💬 Smart Clarification
Information-theoretic questions that maximally reduce ambiguity
✅ Formal Output
Unambiguous controlled English and logic-ready specifications