Ltac_plugin.PptacticThis module implements pretty-printers for ltac_expr syntactic objects and their subcomponents.
type 'a grammar_tactic_prod_item_expr = | | TacTerm of string | 
| | TacNonTerm of ('a * Names.Id.t option) Loc.located | 
type 'a raw_extra_genarg_printer =
  Environ.env ->
  Evd.evar_map ->
  ( Environ.env -> Evd.evar_map -> Constrexpr.constr_expr -> Pp.t ) ->
  ( Environ.env -> Evd.evar_map -> Constrexpr.constr_expr -> Pp.t ) ->
  ( Environ.env ->
    Evd.evar_map ->
    Constrexpr.entry_relative_level ->
    Tacexpr.raw_tactic_expr ->
    Pp.t ) ->
  'a ->
  Pp.ttype 'a glob_extra_genarg_printer =
  Environ.env ->
  Evd.evar_map ->
  ( Environ.env -> Evd.evar_map -> Genintern.glob_constr_and_expr -> Pp.t ) ->
  ( Environ.env -> Evd.evar_map -> Genintern.glob_constr_and_expr -> Pp.t ) ->
  ( Environ.env ->
    Evd.evar_map ->
    Constrexpr.entry_relative_level ->
    Tacexpr.glob_tactic_expr ->
    Pp.t ) ->
  'a ->
  Pp.ttype 'a extra_genarg_printer =
  Environ.env ->
  Evd.evar_map ->
  ( Environ.env -> Evd.evar_map -> EConstr.constr -> Pp.t ) ->
  ( Environ.env -> Evd.evar_map -> EConstr.constr -> Pp.t ) ->
  ( Environ.env ->
    Evd.evar_map ->
    Constrexpr.entry_relative_level ->
    Geninterp.Val.t ->
    Pp.t ) ->
  'a ->
  Pp.ttype 'a raw_extra_genarg_printer_with_level =
  Environ.env ->
  Evd.evar_map ->
  ( Environ.env -> Evd.evar_map -> Constrexpr.constr_expr -> Pp.t ) ->
  ( Environ.env -> Evd.evar_map -> Constrexpr.constr_expr -> Pp.t ) ->
  ( Environ.env ->
    Evd.evar_map ->
    Constrexpr.entry_relative_level ->
    Tacexpr.raw_tactic_expr ->
    Pp.t ) ->
  Constrexpr.entry_relative_level ->
  'a ->
  Pp.ttype 'a glob_extra_genarg_printer_with_level =
  Environ.env ->
  Evd.evar_map ->
  ( Environ.env -> Evd.evar_map -> Genintern.glob_constr_and_expr -> Pp.t ) ->
  ( Environ.env -> Evd.evar_map -> Genintern.glob_constr_and_expr -> Pp.t ) ->
  ( Environ.env ->
    Evd.evar_map ->
    Constrexpr.entry_relative_level ->
    Tacexpr.glob_tactic_expr ->
    Pp.t ) ->
  Constrexpr.entry_relative_level ->
  'a ->
  Pp.ttype 'a extra_genarg_printer_with_level =
  Environ.env ->
  Evd.evar_map ->
  ( Environ.env -> Evd.evar_map -> EConstr.constr -> Pp.t ) ->
  ( Environ.env -> Evd.evar_map -> EConstr.constr -> Pp.t ) ->
  ( Environ.env ->
    Evd.evar_map ->
    Constrexpr.entry_relative_level ->
    Geninterp.Val.t ->
    Pp.t ) ->
  Constrexpr.entry_relative_level ->
  'a ->
  Pp.tval declare_extra_genarg_pprule : 
  ( 'a, 'b, 'c ) Genarg.genarg_type ->
  'a raw_extra_genarg_printer ->
  'b glob_extra_genarg_printer ->
  'c extra_genarg_printer ->
  unitval declare_extra_genarg_pprule_with_level : 
  ( 'a, 'b, 'c ) Genarg.genarg_type ->
  'a raw_extra_genarg_printer_with_level ->
  'b glob_extra_genarg_printer_with_level ->
  'c extra_genarg_printer_with_level ->
  Constrexpr.entry_relative_level ->
  Constrexpr.entry_relative_level ->
  unitval declare_extra_vernac_genarg_pprule : 
  ( 'a, 'b, 'c ) Genarg.genarg_type ->
  'a raw_extra_genarg_printer ->
  unittype grammar_terminals =
  Genarg.ArgT.any Extend.user_symbol grammar_tactic_prod_item_expr listval pr_goal_selector : toplevel:bool -> Goal_select.t -> Pp.tval declare_notation_tactic_pprule : Names.KerName.t -> pp_tactic -> unitval pr_with_occurrences : ( 'a -> Pp.t ) -> 'a Locus.with_occurrences -> Pp.tval pr_red_expr : 
  Environ.env ->
  Evd.evar_map ->
  (( Environ.env ->
   Evd.evar_map ->
   'a ->
   Pp.t )
   * ( Environ.env ->
   Evd.evar_map ->
   'a ->
   Pp.t )
   * ( 'b ->
   Pp.t )
   * ( Environ.env ->
   Evd.evar_map ->
   'c ->
   Pp.t )) ->
  ( 'a, 'b, 'c ) Genredexpr.red_expr_gen ->
  Pp.tval pr_may_eval : 
  Environ.env ->
  Evd.evar_map ->
  ( Environ.env -> Evd.evar_map -> 'a -> Pp.t ) ->
  ( Environ.env -> Evd.evar_map -> 'a -> Pp.t ) ->
  ( 'b -> Pp.t ) ->
  ( Environ.env -> Evd.evar_map -> 'c -> Pp.t ) ->
  ( 'a, 'b, 'c ) Genredexpr.may_eval ->
  Pp.tval pr_and_short_name : ( 'a -> Pp.t ) -> 'a Genredexpr.and_short_name -> Pp.tval pr_evaluable_reference_env : 
  Environ.env ->
  Tacred.evaluable_global_reference ->
  Pp.tval pr_quantified_hypothesis : Tactypes.quantified_hypothesis -> Pp.tval pr_in_clause : ( 'a -> Pp.t ) -> 'a Locus.clause_expr -> Pp.tval pr_clauses : bool option -> ( 'a -> Pp.t ) -> 'a Locus.clause_expr -> Pp.tval pr_raw_generic : 
  Environ.env ->
  Evd.evar_map ->
  Genarg.rlevel Genarg.generic_argument ->
  Pp.tval pr_glb_generic : 
  Environ.env ->
  Evd.evar_map ->
  Genarg.glevel Genarg.generic_argument ->
  Pp.tval pr_raw_extend : 
  Environ.env ->
  Evd.evar_map ->
  int ->
  Tacexpr.ml_tactic_entry ->
  Tacexpr.raw_tactic_arg list ->
  Pp.tval pr_glob_extend : 
  Environ.env ->
  int ->
  Tacexpr.ml_tactic_entry ->
  Tacexpr.glob_tactic_arg list ->
  Pp.tval pr_extend : 
  ( Geninterp.Val.t -> Pp.t ) ->
  int ->
  Tacexpr.ml_tactic_entry ->
  Geninterp.Val.t list ->
  Pp.tval pr_alias_key : Names.KerName.t -> Pp.tval pr_alias : 
  ( Geninterp.Val.t -> Pp.t ) ->
  int ->
  Names.KerName.t ->
  Geninterp.Val.t list ->
  Pp.tval pr_ltac_constant : Tacexpr.ltac_constant -> Pp.tval pr_raw_tactic : 
  Environ.env ->
  Evd.evar_map ->
  Tacexpr.raw_tactic_expr ->
  Pp.tval pr_raw_tactic_level : 
  Environ.env ->
  Evd.evar_map ->
  Constrexpr.entry_relative_level ->
  Tacexpr.raw_tactic_expr ->
  Pp.tval pr_glob_tactic : Environ.env -> Tacexpr.glob_tactic_expr -> Pp.tval pr_atomic_tactic : 
  Environ.env ->
  Evd.evar_map ->
  Tacexpr.atomic_tactic_expr ->
  Pp.tval pr_hintbases : string list option -> Pp.tval pr_match_pattern : ( 'a -> Pp.t ) -> 'a Tacexpr.match_pattern -> Pp.tval pr_match_rule : 
  bool ->
  ( 'a -> Pp.t ) ->
  ( 'b -> Pp.t ) ->
  ( 'b, 'a ) Tacexpr.match_rule ->
  Pp.tval pr_value : Constrexpr.entry_relative_level -> Geninterp.Val.t -> Pp.tval ltop : Constrexpr.entry_relative_levelval make_constr_printer : 
  ( Environ.env ->
    Evd.evar_map ->
    Constrexpr.entry_relative_level ->
    'a ->
    Pp.t ) ->
  'a Genprint.top_printer