Module Gil_syntax.SLCmd

GIL Separation-Logic Commands

type t =
  1. | Fold of string * Gillian.Gil_syntax.Expr.t list * (string * (string * Gillian.Gil_syntax.Expr.t) list) option
    (*

    Fold predicate

    *)
  2. | Unfold of string * Gillian.Gil_syntax.Expr.t list * (string * string) list option * bool
    (*

    Unfold predicate

    *)
  3. | Package of {
    1. lhs : string * Gillian.Gil_syntax.Expr.t list;
    2. rhs : string * Gillian.Gil_syntax.Expr.t list;
    }
    (*

    Magic wand packaging

    *)
  4. | GUnfold of string
    (*

    Global Unfold

    *)
  5. | ApplyLem of string * Gillian.Gil_syntax.Expr.t list * string list
    (*

    Apply lemma

    *)
  6. | SepAssert of Gillian.Gil_syntax.Asrt.t * string list
    (*

    Assert

    *)
  7. | Invariant of Gillian.Gil_syntax.Asrt.t * string list
    (*

    Invariant

    *)
  8. | Consume of Gillian.Gil_syntax.Asrt.t * string list
  9. | Produce of Gillian.Gil_syntax.Asrt.t
  10. | SymbExec
val pp_folding_info : (string * (string * Gillian.Gil_syntax.Expr.t) list) option Fmt.t

Pretty-printer of folding info

val pp_unfold_info : (string * string) list option Fmt.t
val pp : Stdlib.Format.formatter -> t -> unit

Pretty-printer