Unable to correctly use the 'apply' tactic

I am trying to solve the 1 star exercise in the ‘Logic’ chapter from ‘Logical Foundations’.

Theorem eqb_neq : ∀ x y : nat,
x =? y = false ↔ x ≠ y.

My attempt is to try to do this:
Proof.
intros x y. split.

  • apply not_true_iff_false with (b := (x=?y)).

But I am not able to use the ‘apply’ tactic.

PS.
Lemma not_true_iff_false : forall b,
b <> true ↔ b = false.

Can someone help me out? Thanks!

Try

Theorem eqb_neq : ∀ x y : nat, x =? y = false ↔ x ≠ y.
Proof.
  intros x y.
  split.
  - intros H.
    apply not_true_iff_false in H.

Hi!

Thank you so much for your suggestion! I was able to complete the proof but it is not an elegant and short one. I introduce H1 and use eqb_refl. Is there an easier way that I’m overlooking?

I’m not sure how much you are allowed to assume. I mean the simplest proof is just

Theorem eqb_neq : ∀ x y : nat, x =? y = false ↔ x ≠ y.
Proof.
  apply Nat.eqb_neq.
Qed.