aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib7/cc/CCSolve.v
blob: 30622aeaa83b2d22128f75e26fb37420e12e288e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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)])).