diff options
| -rw-r--r-- | contrib7/cc/.cvsignore | 1 | ||||
| -rw-r--r-- | contrib7/cc/CCSolve.v | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/contrib7/cc/.cvsignore b/contrib7/cc/.cvsignore new file mode 100644 index 0000000000..c446fcb878 --- /dev/null +++ b/contrib7/cc/.cvsignore @@ -0,0 +1 @@ +*.v8 diff --git a/contrib7/cc/CCSolve.v b/contrib7/cc/CCSolve.v new file mode 100644 index 0000000000..30622aeaa8 --- /dev/null +++ b/contrib7/cc/CCSolve.v @@ -0,0 +1,20 @@ +(***********************************************************************) +(* 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$ *) + +Tactic Definition CCsolve := + Repeat (Match Context With + [ H: ?1 |- ?2] -> + Let Heq = FreshId "Heq" In + (Assert Heq:(?2==?1);[Congruence|(Rewrite Heq;Exact H)]) + |[ H: ?1; G: ?2 -> ?3 |- ?] -> + Let Heq = FreshId "Heq" In + (Assert Heq:(?2==?1) ;[Congruence| + (Rewrite Heq in G;Generalize (G H);Clear G;Intro G)])). + |
