diff options
| author | Gaëtan Gilbert | 2019-02-26 23:41:38 +0100 |
|---|---|---|
| committer | Gaëtan Gilbert | 2019-03-25 10:53:19 +0100 |
| commit | bf840bafc19deba67e5270dfd31b8b6662b73132 (patch) | |
| tree | 0b35aa63d6faa37356b4b87d763e47577809f6d2 /test-suite/bugs | |
| parent | e8fd832d9e487fa57e2efe627223d04ff2977fa9 (diff) | |
Fix #9652: rewrite fails to detect lack of progress
Diffstat (limited to 'test-suite/bugs')
| -rw-r--r-- | test-suite/bugs/closed/bug_9652.v | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/bug_9652.v b/test-suite/bugs/closed/bug_9652.v new file mode 100644 index 0000000000..21ce1bea61 --- /dev/null +++ b/test-suite/bugs/closed/bug_9652.v @@ -0,0 +1,19 @@ +Set Universe Polymorphism. +Require Import Coq.ZArith.BinInt. +Class word_interface (width : Z) : Type := Build_word + { rep : Type; + unsigned : rep -> Z; + of_Z : Z -> rep; + sub : rep -> rep -> rep }. +Coercion rep : word_interface >-> Sortclass. +Axiom word : word_interface 64. Local Existing Instance word. +Goal + forall (x : list word) (x1 x2 : word), + (unsigned (sub x2 x1) / 2 ^ 4 * 2 ^ 3 < + unsigned (of_Z 8) * Z.of_nat (Datatypes.length x))%Z. +Proof. + intros. + assert (unsigned (sub x2 x1) = unsigned (sub x2 x1)) by exact eq_refl. + Fail progress rewrite H. + Fail rewrite H. +Abort. |
