no goals
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : IsAtom p
⊢ ¬IsUnit p
simpa only [Associates.isUnit_iff_eq_one] using hp.1
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : IsAtom p
a b : Associates M
h : p = p * b
ha : a = p
⊢ IsUnit b
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : IsAtom p
a b : Associates M
h : p = a * b
ha : a = p
⊢ IsUnit b
rw [ha] at h
no goals
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : IsAtom p
a b : Associates M
h : p = p * b
ha : a = p
⊢ IsUnit b
apply isUnit_of_associated_mul (show Associated (p * b) p by conv_rhs => rw [h]) h₁
no goals
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : IsAtom p
a b : Associates M
h : p = p * b
ha : a = p
⊢ Associated (p * b) p
conv_rhs => rw [h]
no goals
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : Irreducible p
⊢ p ≠ ⊥
simpa only [Associates.isUnit_iff_eq_one, Associates.bot_eq_one] using hp.1
no goals
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : Irreducible p
b : Associates M
x✝ : b < p
a : Associates M
hab : p = b * a
hb✝ : ¬p ∣ b
hb : IsUnit b
⊢ b = ⊥
rwa [Associates.isUnit_iff_eq_one, ← Associates.bot_eq_one] at hb
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : Irreducible p
b : Associates M
x✝ : b < p
a : Associates M
hab : p = b * a
hb : ¬p ∣ b
ha : IsUnit a
⊢ b = b * a * ↑(IsUnit.unit ha)⁻¹
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : Irreducible p
b : Associates M
x✝ : b < p
a : Associates M
hab : p = b * a
hb : ¬p ∣ b
ha : IsUnit a
⊢ b = p * ↑(IsUnit.unit ha)⁻¹
simp [hab]
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : Irreducible p
b : Associates M
x✝ : b < p
a : Associates M
hab : p = b * a
hb : ¬p ∣ b
ha : IsUnit a
⊢ b = b * (a * ↑(IsUnit.unit ha)⁻¹)
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : Irreducible p
b : Associates M
x✝ : b < p
a : Associates M
hab : p = b * a
hb : ¬p ∣ b
ha : IsUnit a
⊢ b = b * a * ↑(IsUnit.unit ha)⁻¹
rw [mul_assoc]
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : Irreducible p
b : Associates M
x✝ : b < p
a : Associates M
hab : p = b * a
hb : ¬p ∣ b
ha : IsUnit a
⊢ b = b * 1
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : Irreducible p
b : Associates M
x✝ : b < p
a : Associates M
hab : p = b * a
hb : ¬p ∣ b
ha : IsUnit a
⊢ b = b * (a * ↑(IsUnit.unit ha)⁻¹)
rw [IsUnit.mul_val_inv ha]
no goals
M : Type u_1
inst✝ : CancelCommMonoidWithZero M
p : Associates M
h₁ : p ≠ 0
hp : Irreducible p
b : Associates M
x✝ : b < p
a : Associates M
hab : p = b * a
hb : ¬p ∣ b
ha : IsUnit a
⊢ b = b * 1
rw [mul_one]