aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib/cc/ccproof.mli
diff options
context:
space:
mode:
authorGravatar corbinea <corbinea@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-10-01 15:59:03 +0000
committerGravatar corbinea <corbinea@85f007b7-540e-0410-9357-904b9bb8a0f7>2002-10-01 15:59:03 +0000
commit0e341ccec174154a1e3cd51b8928a2e85c1ce1c1 (patch)
treedc65593b33143cdd0e9e078143197f3879a77f9a /contrib/cc/ccproof.mli
parent5ec22b65a16f82a3816635c3a4857a5ae544d6db (diff)
Adding the congruence closure tactics (CC and CCsolve).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3061 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'contrib/cc/ccproof.mli')
-rw-r--r--contrib/cc/ccproof.mli48
1 files changed, 48 insertions, 0 deletions
diff --git a/contrib/cc/ccproof.mli b/contrib/cc/ccproof.mli
new file mode 100644
index 000000000..a699af694
--- /dev/null
+++ b/contrib/cc/ccproof.mli
@@ -0,0 +1,48 @@
+(***********************************************************************)
+(* v * The Coq Proof Assistant / The Coq Development Team *)
+(* <O___,, * INRIA-Rocquencourt & LRI-CNRS-Orsay *)
+(* \VV/ *************************************************************)
+(* // * This file is distributed under the terms of the *)
+(* * GNU Lesser General Public License Version 2.1 *)
+(***********************************************************************)
+
+(* $Id$ *)
+
+open Ccalgo
+
+type proof =
+ Ax of Names.identifier
+ | Refl of term
+ | Trans of proof * proof
+ | Sym of proof
+ | Congr of proof * proof
+
+val up_path :
+ (int, UF.cl * 'a * 'b) Hashtbl.t ->
+ int ->
+ ((int * int) * (int * int * UF.tag)) list ->
+ ((int * int) * (int * int * UF.tag)) list
+
+val min_path :
+ ('a * 'b) list * ('a * 'c) list ->
+ ('a * 'b) list * ('a * 'c) list
+
+val pcongr : proof * proof -> proof
+val ptrans : proof * proof -> proof
+val psym : proof -> proof
+val pcongr : proof * proof -> proof
+
+val build_proof : UF.t -> int -> int -> proof
+
+val type_proof :
+ 'a ->
+ (Names.identifier * (term * term)) list ->
+ proof -> term * term
+
+val cc_proof :
+ (Names.identifier * (term * term)) list *
+ (term * term) ->
+ (proof * UF.t *
+ (Names.identifier * (term * term)) list)
+ option
+