(* Coq function name mangling, headers.
   Copyright (C) 2003, 2008 Jean Goubault-Larrecq and LSV, CNRS UMR 8643 & ENS Cachan.

   This file is part of h1.

   h1 is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   h1 is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with h1; see the file COPYING.  If not, write to
   the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
*)

(* Special functions: *)
extern val false_fun_matches : string -> bool;
extern val tuple_matches : string -> bool;
extern val false_fun_or_tuple_matches : string -> bool;
(* Special predicates: *)
extern val matches_false : string -> bool;

extern val coq_fun_name : string -> string -> string;
(* coq_fun_name fun_prefix f
 returns the actual Coq name of f. *)
extern val coq_pred_name : string * string * string -> string -> string;
(* coq_pred_name (coq_version, state_prefix, term_type) P
 returns the actual Coq name of P. *)
