Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Toplevel commands.
val log_tact : 'a Lplib.Base.outfmt -> 'a
Number of admitted axioms in the current signature. Used to name the generated axioms. This reference is reset in Compile
for each new compiled module.
val add_axiom : Core.Sig_state.t -> Core.Term.meta -> Core.Sig_state.t
add_axiom ss m
adds in signature state ss
a new axiom symbol of type !(m.meta_type)
and instantiate m
with it. WARNING: It does not check whether the type of m
contains metavariables.
val admit_meta : Core.Sig_state.t -> Core.Term.meta -> Core.Sig_state.t
admit_meta ss m
adds as many axioms as needed in the signature state ss
to instantiate the metavariable m
by a fresh axiom added to the signature ss
.
val tac_admit :
Core.Sig_state.t ->
Proof.proof_state ->
Proof.goal_typ ->
Core.Sig_state.t * Proof.proof_state
tac_admit pos ps gt
admits typing goal gt
.
val tac_solve : Common.Pos.popt -> Proof.proof_state -> Proof.proof_state
tac_solve pos ps
tries to simplify the unification goals of the proof state ps
and fails if constraints are unsolvable.
val tac_refine :
Common.Pos.popt ->
Proof.proof_state ->
Proof.goal_typ ->
Proof.goal list ->
Core.Term.problem ->
Core.Term.term ->
Proof.proof_state
tac_refine pos ps gt gs p t
refines the typing goal gt
with t
. p
is the set of metavariables created by the scoping of t
.
val ind_data :
Common.Pos.popt ->
Core.Env.t ->
Core.Term.term ->
Core.Sign.ind_data
ind_data t
returns the ind_data
structure of s
if t
is of the form s t1 .. tn
with s
an inductive type. Fails otherwise.
val tac_induction :
Common.Pos.popt ->
Proof.proof_state ->
Proof.goal_typ ->
Proof.goal list ->
Proof.proof_state
tac_induction pos ps gt
tries to apply the induction tactic on the typing goal gt
.
val count_products : Core.Term.ctxt -> Core.Term.term -> int
count_products a
returns the number of consecutive products at the top of the term a
.
type tac_output = Core.Sig_state.t * Proof.proof_state * Query.result
Representation of a tactic output.
val handle : bool -> tac_output -> Parsing.Syntax.p_tactic -> int -> tac_output
handle prv r tac n
applies the tactic tac
from the previous tactic output r
and checks that the number of goals of the new proof state is compatible with the number n
of subproofs.