have : n ≄ m := by
  intro (_ : n ≃ m)
  show False
  have : n + step d ≃ n + 0 := calc
    n + step d ≃ _ := ‹n + step d ≃ m›
    m          ≃ _ := Rel.symm ‹n ≃ m›
    n          ≃ _ := Rel.symm add_zero
    n + 0      ≃ _ := Rel.refl
  have : step d ≃ 0 := AA.cancelL ‹n + step d ≃ n + 0›
  exact absurd ‹step d ≃ 0› step_neqv_zero
case mpr
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step n ≤ m
d : ℕ
h✝ : step n + d ≃ m
this✝¹ : n + step d ≃ m
this✝ : ∃ d, n + d ≃ m
this : n ≤ m
⊢ n < m
case mpr
ℕ : Type
inst✝³ : Core ℕ
inst✝² : Induction ℕ
inst✝¹ : Addition ℕ
inst✝ : Sign ℕ
order_inst : Order ℕ
n m : ℕ
x✝ : step n ≤ m
d : ℕ
h✝ : step n + d ≃ m
this✝² : n + step d ≃ m
this✝¹ : ∃ d, n + d ≃ m
this✝ : n ≤ m
this : n ≄ m
⊢ n < m