module Sl_abduce: sig
.. end
This module contains functions to answer various abduction questions for
use in program verification.
val max_depth : int
Returns the maximum depth for the underlying proof search
val set_depth : int -> unit
Set the maximum depth for the underlying proof search
val set_defs : Sl_defs.t -> unit
Specify the set of inductive definitions available for the proof search
val abd_substs : ?used_tags:Tags.t ->
?init_state:Sl_unify.Unidirectional.state ->
?update_check:Sl_unify.Unidirectional.update_check ->
?verify:Sl_unify.Unidirectional.state_check ->
?allow_frame:bool ->
Sl_form.t ->
Sl_form.t ->
((Sl_form.t * Sl_form.t) * Sl_unify.Unidirectional.state list) option
abd_substs f f'
returns an option result that consists of a pair of
formulas (g, g') and a list of substitutions
substs
such that:
f
entails g
g'
entails f'
- for all substitutions
theta
in substs
, theta
applied to g'
is a
subformula of g
, and if the optional argument allow_frame=true
is
set to false, then also the spatial parts are equal.
val abd_bi_substs : ?init_state:Sl_unify.Bidirectional.state ->
?update_check:Sl_unify.Bidirectional.update_check ->
?verify:Sl_unify.Bidirectional.state_check ->
?allow_frame:bool ->
Sl_form.t ->
Sl_form.t ->
((Sl_form.t * Sl_form.t) * Sl_unify.Bidirectional.state list) option