module Ltl:sig
..end
Linear temporal logic
exception No_next_frame
No next frame in path.
type
expr =
| |
True |
|||
| |
False |
|||
| |
Var of |
|||
| |
And of |
|||
| |
Or of |
|||
| |
Impl of |
|||
| |
Iff of |
|||
| |
U of |
(* | until | *) |
| |
R of |
(* | release | *) |
| |
W of |
(* | weak | *) |
| |
M of |
(* | strong release | *) |
| |
Not of |
|||
| |
X of |
(* | ◯f | *) |
| |
G of |
(* | □f | *) |
| |
F of |
(* | ◊f | *) |
val fmla_as_string : expr -> string
Represent formula as string.
val to_atomics : expr -> expr
Rewrite formula to use only atomic connectives/modal operators.
val eval_fmla : expr -> (string * bool) list list -> bool
Evaluate formula over path.
val modal_depth : expr -> int
Calculate maximum depth of nested modalities in a formula.