
# 19 "plugins/micromega/g_micromega.mlg"
 

open Ltac_plugin
open Stdarg
open Tacarg


# 11 "plugins/micromega/g_micromega.ml"

let _ = Mltop.add_known_module "rocq-runtime.plugins.micromega"
let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Lra_Q" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xlra_Q", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                          Tacentries.TyNil)), 
           (fun t ist -> 
# 30 "plugins/micromega/g_micromega.mlg"
                               Coq_micromega.xlra_Q (Tacinterp.tactic_of_value ist t) 
# 21 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Lra_wit_Q" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("wlra_Q", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_ident), 
                                                          Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_constr), 
                                                          Tacentries.TyNil))), 
           (fun w t ist -> 
# 34 "plugins/micromega/g_micromega.mlg"
                                       Coq_micromega.wlra_Q w t 
# 33 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Lra_R" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xlra_R", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                          Tacentries.TyNil)), 
           (fun t ist -> 
# 38 "plugins/micromega/g_micromega.mlg"
                              Coq_micromega.xlra_R (Tacinterp.tactic_of_value ist t) 
# 43 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Lia" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xlia", Tacentries.TyArg (
                                                        Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                        Tacentries.TyNil)), 
           (fun t ist -> 
# 42 "plugins/micromega/g_micromega.mlg"
                            Coq_micromega.xlia (Tacinterp.tactic_of_value ist t) 
# 53 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Lia_wit" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("wlia", Tacentries.TyArg (
                                                        Extend.TUentry (Genarg.get_arg_tag wit_ident), 
                                                        Tacentries.TyArg (
                                                        Extend.TUentry (Genarg.get_arg_tag wit_constr), 
                                                        Tacentries.TyNil))), 
           (fun w t ist -> 
# 46 "plugins/micromega/g_micromega.mlg"
                                     Coq_micromega.wlia w t 
# 65 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Nra_Q" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xnra_Q", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                          Tacentries.TyNil)), 
           (fun t ist -> 
# 50 "plugins/micromega/g_micromega.mlg"
                              Coq_micromega.xnra_Q (Tacinterp.tactic_of_value ist t) 
# 75 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Nra_wit_Q" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("wnra_Q", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_ident), 
                                                          Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_constr), 
                                                          Tacentries.TyNil))), 
           (fun w t ist -> 
# 54 "plugins/micromega/g_micromega.mlg"
                                       Coq_micromega.wnra_Q w t 
# 87 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Nra_R" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xnra_R", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                          Tacentries.TyNil)), 
           (fun t ist -> 
# 58 "plugins/micromega/g_micromega.mlg"
                              Coq_micromega.xnra_R (Tacinterp.tactic_of_value ist t) 
# 97 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Nia" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xnia", Tacentries.TyArg (
                                                        Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                        Tacentries.TyNil)), 
           (fun t ist -> 
# 62 "plugins/micromega/g_micromega.mlg"
                            Coq_micromega.xnia (Tacinterp.tactic_of_value ist t) 
# 107 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Nia_wit" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("wnia", Tacentries.TyArg (
                                                        Extend.TUentry (Genarg.get_arg_tag wit_ident), 
                                                        Tacentries.TyArg (
                                                        Extend.TUentry (Genarg.get_arg_tag wit_constr), 
                                                        Tacentries.TyNil))), 
           (fun w t ist -> 
# 66 "plugins/micromega/g_micromega.mlg"
                                     Coq_micromega.wnia w t 
# 119 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Sos_Z" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xsos_Z", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                          Tacentries.TyNil)), 
           (fun t ist -> 
# 70 "plugins/micromega/g_micromega.mlg"
                              Coq_micromega.xsos_Z (Tacinterp.tactic_of_value ist t) 
# 129 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Sos_wit_Z" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("wsos_Z", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_ident), 
                                                          Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_constr), 
                                                          Tacentries.TyNil))), 
           (fun w t ist -> 
# 74 "plugins/micromega/g_micromega.mlg"
                                       Coq_micromega.wsos_Z w t 
# 141 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Sos_Q" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xsos_Q", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                          Tacentries.TyNil)), 
           (fun t ist -> 
# 78 "plugins/micromega/g_micromega.mlg"
                              Coq_micromega.xsos_Q (Tacinterp.tactic_of_value ist t) 
# 151 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Sos_wit_Q" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("wsos_Q", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_ident), 
                                                          Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_constr), 
                                                          Tacentries.TyNil))), 
           (fun w t ist -> 
# 82 "plugins/micromega/g_micromega.mlg"
                                       Coq_micromega.wsos_Q w t 
# 163 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Sos_R" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xsos_R", Tacentries.TyArg (
                                                          Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                          Tacentries.TyNil)), 
           (fun t ist -> 
# 86 "plugins/micromega/g_micromega.mlg"
                              Coq_micromega.xsos_R (Tacinterp.tactic_of_value ist t) 
# 173 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Psatz_Z" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xpsatz_Z", Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_nat_or_var), 
                                                            Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                            Tacentries.TyNil))), 
           (fun i t ist -> 
# 91 "plugins/micromega/g_micromega.mlg"
    Coq_micromega.xpsatz_Z i (Tacinterp.tactic_of_value ist t) 
# 185 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Psatz_wit_Z" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("wpsatz_Z", Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_nat_or_var), 
                                                            Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_ident), 
                                                            Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_constr), 
                                                            Tacentries.TyNil)))), 
           (fun i w t ist -> 
# 95 "plugins/micromega/g_micromega.mlg"
                                                       Coq_micromega.wpsatz_Z i w t 
# 199 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Psatz_Q" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xpsatz_Q", Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_nat_or_var), 
                                                            Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                            Tacentries.TyNil))), 
           (fun i t ist -> 
# 100 "plugins/micromega/g_micromega.mlg"
    Coq_micromega.xpsatz_Q i (Tacinterp.tactic_of_value ist t) 
# 211 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Psatz_wit_Q" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("wpsatz_Q", Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_nat_or_var), 
                                                            Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_ident), 
                                                            Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_constr), 
                                                            Tacentries.TyNil)))), 
           (fun i w t ist -> 
# 104 "plugins/micromega/g_micromega.mlg"
                                                       Coq_micromega.wpsatz_Q i w t 
# 225 "plugins/micromega/g_micromega.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.micromega" "Psatz_R" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("xpsatz_R", Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_nat_or_var), 
                                                            Tacentries.TyArg (
                                                            Extend.TUentry (Genarg.get_arg_tag wit_tactic), 
                                                            Tacentries.TyNil))), 
           (fun i t ist -> 
# 109 "plugins/micromega/g_micromega.mlg"
    Coq_micromega.xpsatz_R i (Tacinterp.tactic_of_value ist t) 
# 237 "plugins/micromega/g_micromega.ml"
)))]

let () = Vernacextend.static_vernac_extend ~plugin:(Some "rocq-runtime.plugins.micromega") ~command:"ShowLiaProfile" ~classifier:(fun ~atts:_ _ -> Vernacextend.classify_as_query) ?entry:None 
         [(Vernacextend.TyML
         (false,
          Vernacextend.TyTerminal
          ("Show",
           Vernacextend.TyTerminal
           ("Lia", Vernacextend.TyTerminal ("Profile", Vernacextend.TyNil))),
          (let coqpp_body () = Vernactypes.vtdefault (fun () -> 
# 113 "plugins/micromega/g_micromega.mlg"
                                  Coq_micromega.print_lia_profile () 
# 250 "plugins/micromega/g_micromega.ml"
) in
            fun ?loc ~atts () ->
            coqpp_body (Attributes.unsupported_attributes atts)),
          None))]

