(************************************************************************)
(*         *      The Rocq Prover / The Rocq Development Team           *)
(*  v      *         Copyright INRIA, CNRS and contributors             *)
(* <O___,, * (see version control and CREDITS file for authors & dates) *)
(*   \VV/  **************************************************************)
(*    //   *    This file is distributed under the terms of the         *)
(*         *     GNU Lesser General Public License Version 2.1          *)
(*         *     (see LICENSE file for the text of the license)         *)
(************************************************************************)

{

open Ltac_plugin
open Cctac
open Stdarg

}

DECLARE PLUGIN "coq-core.plugins.cc"

(* Tactic registration *)

TACTIC EXTEND cc
| [ "congruence" natural_opt(n) ] ->
   { congruence_tac n [] }
| [ "congruence" natural_opt(n) "with" ne_constr_list(l) ] ->
   { congruence_tac n l }
| [ "simple" "congruence" natural_opt(n) ] ->
   { simple_congruence_tac n [] }
| [ "simple" "congruence" natural_opt(n) "with" ne_constr_list(l) ] ->
   { simple_congruence_tac n l }
END

TACTIC EXTEND f_equal
| [ "f_equal" ] -> { f_equal }
END
