comparison src/Large.v @ 534:ed829eaa91b2

Builds with Coq 8.5beta2
author Adam Chlipala <adam@chlipala.net>
date Wed, 05 Aug 2015 14:46:55 -0400
parents 21079e42b773
children dac7a2705b00
comparison
equal deleted inserted replaced
533:8921cfa2f503 534:ed829eaa91b2
1 (* Copyright (c) 2009-2012, Adam Chlipala 1 (* Copyright (c) 2009-2012, 2015, Adam Chlipala
2 * 2 *
3 * This work is licensed under a 3 * This work is licensed under a
4 * Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 4 * Creative Commons Attribution-Noncommercial-No Derivative Works 3.0
5 * Unported License. 5 * Unported License.
6 * The license text is available at: 6 * The license text is available at:
8 *) 8 *)
9 9
10 (* begin hide *) 10 (* begin hide *)
11 Require Import Arith. 11 Require Import Arith.
12 12
13 Require Import CpdtTactics. 13 Require Import Cpdt.CpdtTactics.
14 14
15 Set Implicit Arguments. 15 Set Implicit Arguments.
16 Set Asymmetric Patterns.
16 (* end hide *) 17 (* end hide *)
17 18
18 19
19 (** %\part{The Big Picture} 20 (** %\part{The Big Picture}
20 21
388 t''. 389 t''.
389 Qed. 390 Qed.
390 391
391 (** We can take the final tactic and move it into the initial part of the proof script, arriving at a nicely automated proof. *) 392 (** We can take the final tactic and move it into the initial part of the proof script, arriving at a nicely automated proof. *)
392 393
393 Reset t. 394 Reset cfold_correct.
394 395
395 Theorem cfold_correct : forall t (e : exp t), expDenote e = expDenote (cfold e). 396 Theorem cfold_correct : forall t (e : exp t), expDenote e = expDenote (cfold e).
396 induction e; crush; 397 induction e; crush;
397 repeat (match goal with 398 repeat (match goal with
398 | [ |- context[match ?E with NConst _ => _ | _ => _ end] ] => 399 | [ |- context[match ?E with NConst _ => _ | _ => _ end] ] =>