diff options
author | Yann Herklotz <git@yannherklotz.com> | 2020-03-20 11:40:11 +0000 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2020-03-20 11:40:11 +0000 |
commit | 5ac32e4ad483241fdb267118b8c627cd31c97726 (patch) | |
tree | 12e0132bd6535d075d14c774c8be715c24d8b7f5 /src/common/Coquplib.v | |
parent | 9f0640ab94741d1d369d089fec763c9156d6be4f (diff) | |
download | vericert-5ac32e4ad483241fdb267118b8c627cd31c97726.tar.gz vericert-5ac32e4ad483241fdb267118b8c627cd31c97726.zip |
Convert Tactics to Coquplib: export common modules
Diffstat (limited to 'src/common/Coquplib.v')
-rw-r--r-- | src/common/Coquplib.v | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/common/Coquplib.v b/src/common/Coquplib.v new file mode 100644 index 0000000..b801756 --- /dev/null +++ b/src/common/Coquplib.v @@ -0,0 +1,36 @@ +(* + * CoqUp: Verified high-level synthesis. + * Copyright (C) 2019-2020 Yann Herklotz <yann@yannherklotz.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + *) + +From Coq Require Export + String + ZArith + Znumtheory + List + Bool. + +Ltac unfold_rec c := unfold c; fold c. + +Ltac solve_by_inverts n := + match goal with | H : ?T |- _ => + match type of T with Prop => + inversion H; + match n with S (S (?n')) => subst; try constructor; solve_by_inverts (S n') end + end + end. + +Ltac solve_by_invert := solve_by_inverts 1. |