aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoq2005-03-16 09:58:12 +0000
committercoq2005-03-16 09:58:12 +0000
commit8579b8f77f7196f6a3bfb79c24352f923c0b38c1 (patch)
tree0d5c82fdf3de05471c9267607439b2173be70920
parent3c2e2990791b6ba0bccc5c0efb1209d09881002b (diff)
nouvelles tactiques pour appeler des procedures de decision du premier ordre
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@6841 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--contrib/dp/dp.ml13
-rw-r--r--contrib/dp/dp.mli4
-rw-r--r--contrib/dp/fol.mli37
-rw-r--r--contrib/dp/g_dp.ml418
4 files changed, 72 insertions, 0 deletions
diff --git a/contrib/dp/dp.ml b/contrib/dp/dp.ml
new file mode 100644
index 0000000000..b60a27e631
--- /dev/null
+++ b/contrib/dp/dp.ml
@@ -0,0 +1,13 @@
+
+open Util
+open Pp
+open Term
+open Tacmach
+open Fol
+
+let simplify gl =
+ let concl = pf_concl gl in
+ if not (is_Prop (pf_type_of gl concl)) then error "not a proposition";
+ msgnl (str "nb of hyps = " ++ int (List.length (pf_hyps gl)));
+ pp_flush ();
+ error "not yet implemented"
diff --git a/contrib/dp/dp.mli b/contrib/dp/dp.mli
new file mode 100644
index 0000000000..da32e50662
--- /dev/null
+++ b/contrib/dp/dp.mli
@@ -0,0 +1,4 @@
+
+open Proof_type
+
+val simplify : tactic
diff --git a/contrib/dp/fol.mli b/contrib/dp/fol.mli
new file mode 100644
index 0000000000..e42d1f2245
--- /dev/null
+++ b/contrib/dp/fol.mli
@@ -0,0 +1,37 @@
+
+type typ = Base of string
+ | Arrow of typ * typ
+ | Tuple of typ list
+
+type term = Cst of int
+ | Db of int
+ | Tvar of string
+ | Plus of term * term
+ | Moins of term * term
+ | Mult of term * term
+ | Div of term * term
+ | App of string * (term list)
+and
+ atom = Eq of term * term
+ | Le of term * term
+ | Lt of term * term
+ | Ge of term * term
+ | Gt of term * term
+ | Pred of string * (term list)
+and
+ form = Fatom of atom
+ | Fvar of string
+ | Imp of form * form
+ | And of form * form
+ | Or of form * form
+ | Not of form
+ | Forall of form
+ | Exists of form
+
+type decl =
+ | Assert of form
+(* | ...*)
+
+type query = decl list * form
+
+
diff --git a/contrib/dp/g_dp.ml4 b/contrib/dp/g_dp.ml4
new file mode 100644
index 0000000000..607b4d9cc0
--- /dev/null
+++ b/contrib/dp/g_dp.ml4
@@ -0,0 +1,18 @@
+(************************************************************************)
+(* v * The Coq Proof Assistant / The Coq Development Team *)
+(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
+(* \VV/ **************************************************************)
+(* // * This file is distributed under the terms of the *)
+(* * GNU Lesser General Public License Version 2.1 *)
+(************************************************************************)
+
+(*i camlp4deps: "parsing/grammar.cma" i*)
+
+(* $Id$ *)
+
+open Dp
+
+TACTIC EXTEND Simplify
+ [ "simplify" ] -> [ simplify ]
+END
+