package lambdapi

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Handle.TacticSource

Handling of tactics.

Sourceval log : 'a Lplib.Base.outfmt -> 'a
Sourceval admitted_initial_value : int

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.

Sourceval admitted : int ref
Sourceval reset_admitted : unit -> unit

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.

tac_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.

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.

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.

tac_induction pos ps gt tries to apply the induction tactic on the typing goal gt.

Sourceval 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.

Sourceval get_prod_ids : Core.Env.env -> bool -> Core.Term.term -> string list

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.

Sourcetype tactic =
  1. | T_admit
  2. | T_and
  3. | T_apply
  4. | T_assume
  5. | T_change
  6. | T_fail
  7. | T_generalize
  8. | T_have
  9. | T_induction
  10. | T_orelse
  11. | T_refine
  12. | T_reflexivity
  13. | T_remove
  14. | T_repeat
  15. | T_rewrite
  16. | T_set
  17. | T_simplify
  18. | T_simplify_beta
  19. | T_solve
  20. | T_symmetry
  21. | T_try
  22. | T_why3

Builtin tactic names.

Sourcetype config = (string, tactic) Hashtbl.t

get_config ss pos build the configuration using ss.

p_term pos t converts the term t into a p_term at position pos.

Sourceval remove_quotes : string -> string
Sourceval p_rw_patt_of_string : Common.Pos.popt -> Core.Term.term -> Parsing.Syntax.p_rw_patt option
Sourceval is_right : Common.Pos.popt -> Core.Term.term -> bool

p_tactic t interprets the term t as a tactic.

Representation of a tactic output.

handle 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.

OCaml

Innovation. Community. Security.