Inductive myand (P Q : Prop) := myconj : P -> Q -> myand P Q.

Lemma foo P Q R : R = myand P Q -> P -> Q -> R.
Proof. intros ->; constructor; auto. Qed.

Hint Extern 0 (myand _ _) => eapply foo; [reflexivity| |] : test1.

Goal forall P Q R : Prop, P -> Q -> R -> myand P (myand Q R).
Proof.
  intros.
  eauto with test1.
Qed.

Hint Extern 0 =>
  match goal with
  | |- myand _ _ => eapply foo; [reflexivity| |]
  end : test2.

Goal forall P Q R : Prop, P -> Q -> R -> myand P (myand Q R).
Proof.
  intros.
  eauto with test2. (* works *)
Qed.
