Module BiabductionSummary.Jprop
Module for joined props: the result of joining together propositions repeatedly
type 'a t
=
|
Prop of int * 'a Prop.t
|
Joined of int * 'a Prop.t * 'a t * 'a t
Remember when a prop is obtained as the join of two other props; the first parameter is an id
val d_shallow : Prop.normal t -> unit
Dump the toplevel prop
val d_list : shallow:bool -> Prop.normal t list -> unit
dump a joined prop list, the boolean indicates whether to print toplevel props only
val free_vars : Prop.normal t -> IR.Ident.t IStdlib.IStd.Sequence.t
val filter : ('a t -> 'b option) -> 'a t list -> 'b list
jprop_filter filter joinedprops
appliesfilter
to the elements ofjoindeprops
and applies it to the subparts if the result isNone
. Returns the most absract results which passfilter
.
val jprop_sub : Predicates.subst -> Prop.normal t -> Prop.exposed t
apply a substitution to a jprop