How tla_coalesce_to_ptl treats binders while collecting PTL atoms.
- block : CoalesceBinderMode
Abstract quantifiers and big operators as single coalescing atoms.
- ignore : CoalesceBinderMode
Keep binders in the PTL skeleton and collect atoms inside their bodies.
Instances For
Equations
- TLA.ProofMode.instBEqCoalesceBinderMode.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
How much temporal structure tla_coalesce_to_ptl preserves.
- leaves : CoalesceAbstractLevel
Abstract only first-order leaves such as state, action, pure, and enabled predicates.
- modal : CoalesceAbstractLevel
Abstract the immediate arguments of modal operators.
- formula : CoalesceAbstractLevel
Abstract each whole formula position as one atom.
Instances For
Equations
- TLA.ProofMode.instBEqCoalesceAbstractLevel.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Configuration controlling where tla_coalesce_to_ptl abstracts blocks.
- binders : CoalesceBinderMode
Whether quantifiers and big operators are abstracted as atoms or traversed.
- level : CoalesceAbstractLevel
How much temporal structure to keep before abstracting subformulas.
- abstractOpaque : Bool
Also abstract opaque
pred σterms that are not recognized first-order leaves.
Instances For
Elaborator for CoalesceConfig options.
Equations
- One or more equations did not get rendered due to their size.
Instances For
tla_coalesce_to_ptl abstracts formula blocks from a TLA goal and keeps the
requested amount of propositional temporal skeleton.
It supports raw validity goals, raw TLA sequents, and proof-mode Entails
goals. The resulting fresh atoms are arbitrary pred σ values, so subsequent
steps can reason propositionally about the remaining temporal structure.
Granularity options:
level := .leavesabstracts concrete first-order leaves. This is the default.level := .modalabstracts immediate arguments of temporal operators.level := .formulaabstracts each whole hypothesis/goal formula.binders := .blockabstracts quantifiers and big operators as blocks. This is the default.binders := .ignorekeeps quantifiers and big operators while coalescing blocks inside their bodies.abstractOpaque := truealso abstracts opaquepred σleaves.unfoldDerived := falseleaves derived temporal definitions opaque.
Equations
- One or more equations did not get rendered due to their size.