CLogic.CLCmd
type t =
| If of CExpr.t * t list * t list
Conditional execution of logic command
*)| Unfold of {
pred : string;
params : CExpr.t list;
bindings : (string * string) list option;
recursive : bool;
}
Unfolding of a specific predicate
*)| Unfold_all of string
Recursively unfold all predicates with the given name (with a fuel).
*)| Fold of string * CExpr.t list
Fold a predicate
*)| Apply of string * CExpr.t list
Apply a lemma
*)| Assert of CAssert.t * string list
Assert for verification, takes an assertion and binders
*)| Branch of CFormula.t
The symbolic engine should branch on the given formula
*)| Invariant of {
assertion : CAssert.t;
bindings : string list;
}
Loop invariant
*)| SymbExec
Ignore the next function specification and symbolically execute instead
*)val pp : t Fmt.t