α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = a * b
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
h : a = 0
⊢ False
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : Prime p
a b : α
hab : p = a * b
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
h : a = 0
⊢ False
simp [Prime] at *
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = 0
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
h : a = 0
⊢ False
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = a * b
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
h : a = 0
⊢ False
rw [h, zero_mul] at hab
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = 0
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
h : a = 0
this : ¬p = 0
⊢ False
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = 0
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
h : a = 0
⊢ False
have := hp.left
no goals
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = 0
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
h : a = 0
this : ¬p = 0
⊢ False
contradiction
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : Prime p
a b : α
hab : p = a * b
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
⊢ 1 * (a * b * x) = b * x * a
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : Prime p
a b : α
hab : p = a * b
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
⊢ 1 * a = b * x * a
conv =>
    lhs
    rw [hx]
no goals
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : Prime p
a b : α
hab : p = a * b
x✝ : a * b ∣ a
x : α
hx : a = a * b * x
⊢ 1 * (a * b * x) = b * x * a
simp [mul_comm, mul_assoc, mul_left_comm]
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = a * b
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
h : b = 0
⊢ False
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : Prime p
a b : α
hab : p = a * b
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
h : b = 0
⊢ False
simp [Prime] at *
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = 0
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
h : b = 0
⊢ False
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = a * b
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
h : b = 0
⊢ False
rw [h, mul_zero] at hab
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = 0
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
h : b = 0
this : ¬p = 0
⊢ False
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = 0
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
h : b = 0
⊢ False
have := hp.left
no goals
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : ¬p = 0 ∧ ¬IsUnit p ∧ ∀ (a b : α), p ∣ a * b → p ∣ a ∨ p ∣ b
a b : α
hab : p = 0
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
h : b = 0
this : ¬p = 0
⊢ False
contradiction
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : Prime p
a b : α
hab : p = a * b
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
⊢ 1 * (a * b * x) = a * x * b
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : Prime p
a b : α
hab : p = a * b
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
⊢ 1 * b = a * x * b
conv =>
    lhs
    rw [hx]
no goals
α : Type u_1
β : Type ?u.97319
γ : Type ?u.97322
δ : Type ?u.97325
inst✝ : CancelCommMonoidWithZero α
a✝ p : α
hp : Prime p
a b : α
hab : p = a * b
x✝ : a * b ∣ b
x : α
hx : b = a * b * x
⊢ 1 * (a * b * x) = a * x * b
simp [mul_comm, mul_assoc, mul_left_comm]