Ltac2_plugin.Tac2entriesval register_ltac : 
  ?deprecation:Deprecation.t ->
  ?local:bool ->
  ?mut:bool ->
  Tac2expr.rec_flag ->
  (Names.lname * Tac2expr.raw_tacexpr) list ->
  unitval register_type : 
  ?local:bool ->
  Tac2expr.rec_flag ->
  (Libnames.qualid * Tac2expr.redef_flag * Tac2expr.raw_quant_typedef) list ->
  unitval register_primitive : 
  ?deprecation:Deprecation.t ->
  ?local:bool ->
  Names.lident ->
  Tac2expr.raw_typexpr ->
  Tac2expr.ml_tactic_name ->
  unitval register_struct : Attributes.vernac_flags -> Tac2expr.strexpr -> unitval register_notation : 
  Attributes.vernac_flags ->
  Tac2expr.sexpr list ->
  int option ->
  Tac2expr.raw_tacexpr ->
  notation_interpretation_dataval register_notation_interpretation : notation_interpretation_data -> unitval perform_eval : 
  pstate:Declare.Proof.t option ->
  Tac2expr.raw_tacexpr ->
  unittype scope_rule = | | ScopeRule : ( Tac2expr.raw_tacexpr, _, 'a ) Pcoq.Symbol.t
  * ( 'a ->
  Tac2expr.raw_tacexpr ) -> scope_rule | 
type scope_interpretation = Tac2expr.sexpr list -> scope_ruleval register_scope : Names.Id.t -> scope_interpretation -> unitCreate a new scope with the provided name
val parse_scope : Tac2expr.sexpr -> scope_ruleUse this to interpret the subscopes for interpretation functions
val print_located_tactic : Libnames.qualid -> unitDisplay the absolute name of a tactic.
val print_ltac2 : Libnames.qualid -> unitDisplay the definition of a tactic.
val call : 
  pstate:Declare.Proof.t ->
  Goal_select.t option ->
  with_end_tac:bool ->
  Tac2expr.raw_tacexpr ->
  Declare.Proof.tEvaluate a tactic expression in the current environment
val call_par : 
  pstate:Declare.Proof.t ->
  with_end_tac:bool ->
  Tac2expr.raw_tacexpr ->
  Declare.Proof.tmodule Pltac : sig ... end