aboutsummaryrefslogtreecommitdiff
path: root/test-suite/bugs/opened/3248.v
blob: 714df5ccaecb1a6156c70a3b06391140c050bd5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Ltac ret_and_left f :=
  let tac := ret_and_left in
  let T := type of f in
  lazymatch eval hnf in T with
    | ?T' -> _ =>
      let ret := constr:(fun x' : T' => $(tac (f x'))$) in
      exact ret
    | ?T' => exact f
  end.

Goal forall A B : Prop, forall x y : A, True.
Proof.
  intros A B x y.
  pose (f := fun (x y : A) => conj x y).
  pose (a := $(ret_and_left f)$).
  unify (a x y) (conj x y).
Abort.