File: bug_3989.v

package info (click to toggle)
coq 8.20.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 44,116 kB
  • sloc: ml: 234,160; sh: 4,301; python: 3,270; ansic: 2,644; makefile: 882; lisp: 172; javascript: 63; xml: 24; sed: 2
file content (17 lines) | stat: -rw-r--r-- 744 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(* 9e6b28c04ad98369a012faf3bd4d630cf123a473 *)
Record foo := { bar : Type }.
Arguments bar _ / .
Definition baz (x : Type) := x.
Arguments baz / : simpl nomatch.
Goal forall x, baz (bar x) = baz (bar x).
Proof.
  assert_succeeds
    (repeat simpl; match goal with
                   | [ |- forall x : foo, (let (bar) := x in bar) = (let (bar) := x in bar) ] => idtac
                   | [ |- ?G ] => fail 1 G
                   end). (* success *)
  repeat cbn; match goal with
                | [ |- forall x : foo, (let (bar) := x in bar) = (let (bar) := x in bar) ] => idtac
                | [ |- ?G ] => fail 1 G
              end. (* Tactic failure: (forall x : foo, baz (let (bar) := x in bar) = baz (let (bar) := x in bar)). *)
Abort.