FO_logic.FOSolver
val check_satisfiability_with_model :
Gil_syntax.Formula.t list ->
Type_env.t ->
Symbolic.Subst.t option
check_satisfiability_with_model pfs gamma
checks whether or not the pure formulae pfs
are satisfiable under the typing environment gamma
. If this is the case, the function returns the appropriate logical environment.
val check_satisfiability :
?matching:bool ->
?time:string ->
?relevant_info:
(Utils.Containers.SS.t * Utils.Containers.SS.t * Utils.Containers.SS.t) ->
Gil_syntax.Formula.t list ->
Type_env.t ->
bool
check_satisfiability ?matching pfs gamma
checks whether or not the pure formulae pfs
are satisfiable under the typing environment gamma
. The matching
flag should not be used by Gillian instantiation developers.
val sat :
matching:bool ->
pfs:Pure_context.t ->
gamma:Type_env.t ->
Gil_syntax.Formula.t ->
bool
A different API for check_satisfiability
better adapted for usage in memory models
val check_entailment :
?matching:bool ->
Utils.Containers.SS.t ->
Pure_context.t ->
Gil_syntax.Formula.t list ->
Type_env.t ->
bool
check_entailment existentials lpfs rpfs gamma
checks whether or not the entailment << ∃ existentials
. lpfs
=> rpfs
>> holds under the typing environment gamma
.
val is_equal :
pfs:Pure_context.t ->
gamma:Type_env.t ->
Gil_syntax.Expr.t ->
Gil_syntax.Expr.t ->
bool
is_equal e1 e2 pfs gamma
checks whether or not << pfs, gamma |- e1 = e2 >>.
val is_different :
pfs:Pure_context.t ->
gamma:Type_env.t ->
Gil_syntax.Expr.t ->
Gil_syntax.Expr.t ->
bool
is_different e1 e2 pfs gamma
checks whether or not << pfs, gamma |- e1 <> e2 >>.
val num_is_less_or_equal :
pfs:Pure_context.t ->
gamma:Type_env.t ->
Gil_syntax.Expr.t ->
Gil_syntax.Expr.t ->
bool
val resolve_loc_name :
pfs:Pure_context.t ->
gamma:Type_env.t ->
Gil_syntax.Expr.t ->
string option