Mercurial > cpdt > repo
annotate src/Tactics.v @ 35:6d05ee182b65
Nested Inductive Types
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Wed, 10 Sep 2008 15:47:22 -0400 |
parents | bcf375310f5f |
children | 95e24b629ad9 |
rev | line source |
---|---|
adamc@2 | 1 (* Copyright (c) 2008, Adam Chlipala |
adamc@2 | 2 * |
adamc@2 | 3 * This work is licensed under a |
adamc@2 | 4 * Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 |
adamc@2 | 5 * Unported License. |
adamc@2 | 6 * The license text is available at: |
adamc@2 | 7 * http://creativecommons.org/licenses/by-nc-nd/3.0/ |
adamc@2 | 8 *) |
adamc@2 | 9 |
adamc@2 | 10 Require Import List. |
adamc@2 | 11 |
adamc@2 | 12 |
adamc@2 | 13 Ltac rewriteHyp := |
adamc@2 | 14 match goal with |
adamc@2 | 15 | [ H : _ |- _ ] => rewrite H |
adamc@2 | 16 end. |
adamc@2 | 17 |
adamc@2 | 18 Ltac rewriterP := repeat (rewriteHyp; autorewrite with cpdt in *). |
adamc@2 | 19 |
adamc@2 | 20 Ltac rewriter := autorewrite with cpdt in *; rewriterP. |
adamc@2 | 21 |
adamc@2 | 22 Hint Rewrite app_ass : cpdt. |
adamc@2 | 23 |
adamc@35 | 24 Ltac sintuition := simpl in *; intuition. |
adamc@2 | 25 |
adamc@2 | 26 Ltac crush := sintuition; rewriter; sintuition. |