Module Concrete.Subst
type vt = Concrete.Values.tType of GIL values
val init : (Gil_syntax.Var.t * vt) list -> tSubstitution constructor, with a list of bindings of the form (variable, value)
val is_empty : t -> boolIs the substitution empty?
val clear : t -> unitReset substitution
val domain : t -> (Gil_syntax.Var.t -> bool) option -> Gil_syntax.Var.Set.tDomain of the substitution
val get : t -> Gil_syntax.Var.t -> vt optionSubstitution lookup
val add : t -> Gil_syntax.Var.t -> vt -> unitSubstitution incremental update
val put : t -> Gil_syntax.Var.t -> vt -> unitSubstitution update
val mem : t -> Gil_syntax.Var.t -> boolSubstitution membership
val extend : t -> (Gil_syntax.Var.t * vt) list -> unitSubstitution extension with a list of bindings
val filter : t -> (Gil_syntax.Var.t -> vt -> bool) -> tSubstitution filter
val projection : t -> Gil_syntax.Var.Set.t -> tSubstitution variable filter
val iter : t -> (Gil_syntax.Var.t -> vt -> unit) -> unitSubstitution iterator
val fold : t -> (Gil_syntax.Var.t -> vt -> 'a -> 'a) -> 'a -> 'aSubstitution fold
val pp : Stdlib.Format.formatter -> t -> unitPretty Printer
val full_pp : Stdlib.Format.formatter -> t -> unitFull pretty Printer
val filter_in_place : t -> (Gil_syntax.Var.t -> vt -> vt option) -> unitval to_list : t -> (Gil_syntax.Var.t * vt) listConvert substitution to list
val subst_in_expr : t -> partial:bool -> Gil_syntax.Expr.t -> Gil_syntax.Expr.tSubstitution inside a logical expression
val subst_in_expr_opt : t -> Gil_syntax.Expr.t -> Gil_syntax.Expr.t optionOptional substitution inside a logical expression
val substitute_asrt :
t ->
partial:bool ->
Gil_syntax.Asrt.t ->
Gil_syntax.Asrt.tval substitute_slcmd :
t ->
partial:bool ->
Gil_syntax.SLCmd.t ->
Gil_syntax.SLCmd.tval substitute_lcmd :
t ->
partial:bool ->
Gil_syntax.LCmd.t ->
Gil_syntax.LCmd.t