have : (((n * n) * (m * m) : ℕ) : ℤ) ≃ ((1 : ℕ) : ℤ) := calc
  (((n * n) * (m * m) : ℕ) : ℤ)
    ≃ _ := AA.compat₂
  ((n * n : ℕ) : ℤ) * ((m * m : ℕ) : ℤ)
    ≃ _ := AA.substL (Rel.symm ‹a * a ≃ (n * n : ℕ)›)
  (a * a) * ((m * m : ℕ) : ℤ)
    ≃ _ := AA.substR (Rel.symm ‹b * b ≃ (m * m : ℕ)›)
  (a * a) * (b * b)
    ≃ _ := AA.expr_xxfxxff_lr_swap_rl
  (a * b) * (a * b)
    ≃ _ := ‹Sqrt1 (a * b)›.elim
  1
    ≃ _ := Rel.refl
ℕ : Type
inst✝⁵ : Natural ℕ
ℤ : Type
inst✝⁴ : Core ℤ
inst✝³ : Addition ℤ
inst✝² : Multiplication ℤ
inst✝¹ : Negation ℤ
inst✝ : Sign ℤ
a b : ℤ
x✝ : Sqrt1 (a * b)
this✝¹ : Nonzero (a * b)
left✝² : Nonzero a
right✝ : Nonzero b
n : ℕ
left✝¹ : Positive n
a_eqv this✝ : a * a ≃ coe (n * n)
m : ℕ
left✝ : Positive m
b_eqv this : b * b ≃ coe (m * m)
⊢ Sqrt1 a ∧ Sqrt1 b
ℕ : Type
inst✝⁵ : Natural ℕ
ℤ : Type
inst✝⁴ : Core ℤ
inst✝³ : Addition ℤ
inst✝² : Multiplication ℤ
inst✝¹ : Negation ℤ
inst✝ : Sign ℤ
a b : ℤ
x✝ : Sqrt1 (a * b)
this✝² : Nonzero (a * b)
left✝² : Nonzero a
right✝ : Nonzero b
n : ℕ
left✝¹ : Positive n
a_eqv this✝¹ : a * a ≃ coe (n * n)
m : ℕ
left✝ : Positive m
b_eqv this✝ : b * b ≃ coe (m * m)
this : coe (n * n * (m * m)) ≃ coe 1
⊢ Sqrt1 a ∧ Sqrt1 b