cases @eq_zero_or_pos _ _ (evr.valtn x) with
| inl h =>
  have hm : evr.valtn (-x) = 0 := by simp [h]
  rw [evr.zero_valtn_decr h, evr.zero_valtn_decr hm]
| inr h =>
  have hm : evr.valtn (-x) > 0 := by simp [h]
  apply nzero_mul_left_cancel p _ _ (p_non_zero evr.valtn)
  rw [←neg_mul_eq_mul_neg, ←evr.pos_valtn_decr h, ←evr.pos_valtn_decr hm]
R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : R
evr : ENatValRing p
x : R
⊢ decr_val evr (-x) = -decr_val evr x
no goals