unicode_fol_kit.isabelle_decide_modal¶
- unicode_fol_kit.isabelle_decide_modal(formula, *, frame='K', mode='constant', temporal_closure=True, methods=('blast', 'force', 'fastforce', 'auto', 'meson', 'metis'), refute=True, card='1-4', prove_timeout=60, refute_timeout=60, install=None)[source]¶
Decide a modal formula’s validity by running a local Isabelle.
Emits the Benzmüller shallow embedding of
formula(isabelle_modal_theory(), faithful tosatisfies_modal()) and:tries a proof battery — exit 0 ⇒
VALID;otherwise (
refute) runsnitpick[expect = genuine]— exit 0 ⇒INVALID(certified by the exit code; for the propositional alethic fragmentcountermodelcarries a concrete Kripke model from the toolkit’s evaluator, elseNone);otherwise
UNKNOWN.
- Parameters:
formula (Node) – the modal AST node.
frame (str) – alethic frame system (K/T/S4/S5/KD/KD45) — fixes the axioms on
r.mode (str) – object-quantifier domain regime (constant/possibilist/varying/…).
temporal_closure (bool) – constrain the temporal relation to refl+trans (henceforth).
methods (Sequence[str]) – proof methods tried, in order, as a
by (… | …)battery.refute (bool) – also run nitpick to certify INVALID when the proof battery fails.
card (str) – nitpick cardinality range for the world type
i(e.g."1-4").refute_timeout (int) – per-session Isabelle timeouts (seconds).
install (IsabelleInstall | None) – an
IsabelleInstall; located viafind_isabelle()whenNone.prove_timeout (int)
refute_timeout
- Returns:
A
ModalVerdict.- Raises:
IsabelleNotAvailable – if no Isabelle installation can be located.
ValueError / NotImplementedError – propagated from the emitter for an unsupported frame/mode/operator (e.g.
Until).
- Return type: