
# 11 "plugins/cc/g_congruence.mlg"
 

open Ltac_plugin
open Cctac
open Stdarg


# 11 "plugins/cc/g_congruence.ml"

let _ = Mltop.add_known_module "rocq-runtime.plugins.cc"
let () = Tacentries.tactic_extend "rocq-runtime.plugins.cc" "cc" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("congruence", Tacentries.TyArg (
                                                              Extend.TUopt (
                                                              Extend.TUentry (Genarg.get_arg_tag wit_natural)), 
                                                              Tacentries.TyNil)), 
           (fun n ist -> 
# 25 "plugins/cc/g_congruence.mlg"
     congruence_tac n [] 
# 22 "plugins/cc/g_congruence.ml"
)));
         (Tacentries.TyML (Tacentries.TyIdent ("congruence", Tacentries.TyArg (
                                                             Extend.TUopt (
                                                             Extend.TUentry (Genarg.get_arg_tag wit_natural)), 
                                                             Tacentries.TyIdent ("with", 
                                                             Tacentries.TyArg (
                                                             Extend.TUlist1 (
                                                             Extend.TUentry (Genarg.get_arg_tag wit_constr)), 
                                                             Tacentries.TyNil)))), 
          (fun n l ist -> 
# 27 "plugins/cc/g_congruence.mlg"
     congruence_tac n l 
# 35 "plugins/cc/g_congruence.ml"
)));
         (Tacentries.TyML (Tacentries.TyIdent ("simple", Tacentries.TyIdent ("congruence", 
                                                         Tacentries.TyArg (
                                                         Extend.TUopt (
                                                         Extend.TUentry (Genarg.get_arg_tag wit_natural)), 
                                                         Tacentries.TyNil))), 
          (fun n ist -> 
# 29 "plugins/cc/g_congruence.mlg"
     simple_congruence_tac n [] 
# 45 "plugins/cc/g_congruence.ml"
)));
         (Tacentries.TyML (Tacentries.TyIdent ("simple", Tacentries.TyIdent ("congruence", 
                                                         Tacentries.TyArg (
                                                         Extend.TUopt (
                                                         Extend.TUentry (Genarg.get_arg_tag wit_natural)), 
                                                         Tacentries.TyIdent ("with", 
                                                         Tacentries.TyArg (
                                                         Extend.TUlist1 (
                                                         Extend.TUentry (Genarg.get_arg_tag wit_constr)), 
                                                         Tacentries.TyNil))))), 
          (fun n l ist -> 
# 31 "plugins/cc/g_congruence.mlg"
     simple_congruence_tac n l 
# 59 "plugins/cc/g_congruence.ml"
)))]

let () = Tacentries.tactic_extend "rocq-runtime.plugins.cc" "f_equal" ~level:0 
         [(Tacentries.TyML (Tacentries.TyIdent ("f_equal", Tacentries.TyNil), 
           (fun ist -> 
# 35 "plugins/cc/g_congruence.mlg"
                     f_equal 
# 67 "plugins/cc/g_congruence.ml"
)))]

