Theorem: Lean4Axiomatic.Integer.neg_preserves_nonzero (Lean4Axiomatic/Integer/Sign.lean)

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a : ℤ
⊢ Nonzero a → Nonzero (-a)
Tactic:
intro (_ : Nonzero a)
State after:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a : ℤ
x✝ : Nonzero a
⊢ Nonzero (-a)

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a : ℤ
x✝ : Nonzero a
⊢ Nonzero (-a)
Tactic:
have : Nonzero (-1 : ℤ) := nonzero_sqrt1
State after:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a : ℤ
x✝ : Nonzero a
this : Nonzero (-1)
⊢ Nonzero (-a)

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a : ℤ
x✝ : Nonzero a
this : Nonzero (-1)
⊢ Nonzero (-a)
Tactic:
have : Nonzero (-1 * a) := mul_preserves_nonzero ‹Nonzero (-1 : ℤ)› ‹Nonzero a›
State after:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a : ℤ
x✝ : Nonzero a
this✝ : Nonzero (-1)
this : Nonzero (-1 * a)
⊢ Nonzero (-a)

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a : ℤ
x✝ : Nonzero a
this✝ : Nonzero (-1)
this : Nonzero (-1 * a)
⊢ Nonzero (-a)
Tactic:
have : Nonzero (-a) := nonzero_subst mul_neg_one ‹Nonzero (-1 * a)›
State after:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a : ℤ
x✝ : Nonzero a
this✝¹ : Nonzero (-1)
this✝ : Nonzero (-1 * a)
this : Nonzero (-a)
⊢ Nonzero (-a)

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a : ℤ
x✝ : Nonzero a
this✝¹ : Nonzero (-1)
this✝ : Nonzero (-1 * a)
this : Nonzero (-a)
⊢ Nonzero (-a)
Tactic:
exact this
State after:
no goals