comparison src/CpdtTactics.v @ 574:1dc1d41620b6

Builds with Coq 8.15.2
author Adam Chlipala <adam@chlipala.net>
date Sun, 31 Jul 2022 14:48:22 -0400
parents ed829eaa91b2
children
comparison
equal deleted inserted replaced
573:c3d77f2bb92c 574:1dc1d41620b6
5 * Unported License. 5 * Unported License.
6 * The license text is available at: 6 * The license text is available at:
7 * http://creativecommons.org/licenses/by-nc-nd/3.0/ 7 * http://creativecommons.org/licenses/by-nc-nd/3.0/
8 *) 8 *)
9 9
10 Require Import Eqdep List Omega. 10 Require Import Eqdep List Lia.
11 11
12 Set Implicit Arguments. 12 Set Implicit Arguments.
13 13
14 14
15 (** A version of [injection] that does some standard simplifications afterward: clear the hypothesis in question, bring the new facts above the double line, and attempt substitution for known variables. *) 15 (** A version of [injection] that does some standard simplifications afterward: clear the hypothesis in question, bring the new facts above the double line, and attempt substitution for known variables. *)
194 || appHyps ltac:(fun L => inster L L)); 194 || appHyps ltac:(fun L => inster L L));
195 (** ...and then simplifying hypotheses. *) 195 (** ...and then simplifying hypotheses. *)
196 repeat (simplHyp invOne; intuition)); un_done 196 repeat (simplHyp invOne; intuition)); un_done
197 end; 197 end;
198 sintuition; rewriter; sintuition; 198 sintuition; rewriter; sintuition;
199 (** End with a last attempt to prove an arithmetic fact with [omega], or prove any sort of fact in a context that is contradictory by reasoning that [omega] can do. *) 199 (** End with a last attempt to prove an arithmetic fact with [lia], or prove any sort of fact in a context that is contradictory by reasoning that [lia] can do. *)
200 try omega; try (elimtype False; omega)). 200 try lia; try (elimtype False; lia)).
201 201
202 (** [crush] instantiates [crush'] with the simplest possible parameters. *) 202 (** [crush] instantiates [crush'] with the simplest possible parameters. *)
203 Ltac crush := crush' false fail. 203 Ltac crush := crush' false fail.
204 204
205 (** * Wrap Program's [dependent destruction] in a slightly more pleasant form *) 205 (** * Wrap Program's [dependent destruction] in a slightly more pleasant form *)