package lambdapi
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=d01e5f13db2eaba6e4fe330667149e0059d4886c651ff9d6b672db2dfc9765ed
sha512=33b68c972aca37985ed73c527076198e7d4961c7e27c89cdabfe4d1cff97cd41ccfb85ae9499eb98ad9a0aefd920bc55555df6393fc441ac2429e4d99cddafa8
doc/lambdapi.handle/Handle/Tactic/index.html
Module Handle.TacticSource
Handling of tactics.
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.
add_axiom ss sym_pos 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. Return updated signature state ss and the new axiom symbol.
admit_meta ss sym_pos 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 ->
Common.Pos.popt ->
Proof.proof_state ->
Proof.goal_typ ->
Proof.proof_statetac_admit ss pos ps gt admits typing goal gt.
tac_solve pos ps tries to simplify the unification goals of the proof state ps and fails if constraints are unsolvable.
val tac_refine :
?check:bool ->
Common.Pos.popt ->
Proof.proof_state ->
Proof.goal_typ ->
Proof.goal list ->
Core.Term.problem ->
Core.Term.term ->
Proof.proof_statetac_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.
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_statetac_induction pos ps gt tries to apply the induction tactic on the typing goal gt.
count_products a returns the number of consecutive products at the top of the term a.
get_prod_ids env do_whnf t returns the list v1;..;vn if do_whnf is true and whnf t is of the form Π v1:A1, .., Π vn:An, u with u not a product, or if do_whnf is false and t is of the form Π v1:A1, .., Π vn:An, u with u not a product.
val gen_valid_idopts :
(Lplib.Extra.StrSet.elt * 'a) list ->
string list ->
string Common.Pos.loc option listgen_valid_idopts env ids generates a list of pairwise distinct identifiers distinct from those of env to replace ids.
Representation of a tactic output.
val handle :
Core.Sig_state.t ->
Common.Pos.popt ->
bool ->
tac_output ->
Parsing.Syntax.p_tactic ->
int ->
tac_outputhandle sym_pos 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.