match ‹qn ≃ 0 ∨ (pd ≃ 0 ∧ rd ≃ 0)› with
| Or.inl (_ : qn ≃ 0) =>
  have : qn ≃ 0 ∧ qd ≃ 0 := And.intro ‹qn ≃ 0› ‹qd ≃ 0›
  have : (qn, qd) ≃ (0, 0) :=
    Relation.Equivalence.Impl.Prod.eqv_defn.mpr ‹qn ≃ 0 ∧ qd ≃ 0›
  exact Or.inr ‹(qn, qd) ≃ (0, 0)›
| Or.inr (And.intro (_ : pd ≃ 0) (_ : rd ≃ 0)) =>
  have : pn * rd ≃ rn * pd := calc
    pn * rd ≃ _ := AA.substR ‹rd ≃ 0›
    pn * 0  ≃ _ := AA.absorbR
    0       ≃ _ := Rel.symm AA.absorbR
    rn * 0  ≃ _ := AA.substR (Rel.symm ‹pd ≃ 0›)
    rn * pd ≃ _ := Rel.refl
  exact Or.inl ‹pn * rd ≃ rn * pd›
ℕ : Type
inst✝¹ : Natural ℕ
ℤ : Type
inst✝ : Integer ℤ
pn pd qn qd rn rd : ℤ
x✝¹ : pn//pd ≃ qn//qd
x✝ : qn//qd ≃ rn//rd
this✝⁷ : Decidable (qd ≃ 0)
h✝ : qd ≃ 0
this✝⁶ : pn * qd ≃ qn * pd
this✝⁵ : qn * rd ≃ rn * qd
this✝⁴ : qn * pd ≃ 0
this✝³ : qn * rd ≃ 0
this✝² : qn ≃ 0 ∨ pd ≃ 0
this✝¹ : qn ≃ 0 ∨ rd ≃ 0
this✝ : (qn ≃ 0 ∨ pd ≃ 0) ∧ (qn ≃ 0 ∨ rd ≃ 0)
this : qn ≃ 0 ∨ pd ≃ 0 ∧ rd ≃ 0
⊢ pn * rd ≃ rn * pd ∨ (qn, qd) ≃ (0, 0)
no goals