Gil_syntax.Lemma
GIL Lemmas
type spec = {
lemma_hyp : Gillian.Gil_syntax.Asrt.t;
Hypothesis
*)lemma_concs : Gillian.Gil_syntax.Asrt.t list;
Conclusion
*)lemma_spec_variant : Gillian.Gil_syntax.Expr.t option;
Variant
*)}
type t = {
lemma_name : string;
Name
*)lemma_source_path : string option;
lemma_internal : bool;
lemma_params : string list;
Parameters
*)lemma_specs : spec list;
Specs of the Lemma
*)lemma_proof : Gillian.Gil_syntax.LCmd.t list option;
(Optional) Proof
*)lemma_variant : Gillian.Gil_syntax.Expr.t option;
Variant
*)lemma_existentials : string list;
}
val pp : Stdlib.Format.formatter -> t -> unit
Pretty-printer
val parameter_types :
(string, Gillian.Gil_syntax.Pred.t) Utils.Prelude.Hashtbl.t ->
t ->
t
Infers types of parameters and adds them to the contained assertions