Theorem: Lean4Axiomatic.Integer.NonzeroWithSign.subst_nonzero (Lean4Axiomatic/Integer/Sign.lean)

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a₁ a₂ s : ℤ
x✝ : Sqrt1 s
⊢ a₁ ≃ a₂ → NonzeroWithSign a₁ s → NonzeroWithSign a₂ s
Tactic:
intro (_ : a₁ ≃ a₂)
State after:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a₁ a₂ s : ℤ
x✝¹ : Sqrt1 s
x✝ : a₁ ≃ a₂
⊢ NonzeroWithSign a₁ s → NonzeroWithSign a₂ s

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a₁ a₂ s : ℤ
x✝¹ : Sqrt1 s
x✝ : a₁ ≃ a₂
⊢ NonzeroWithSign a₁ s → NonzeroWithSign a₂ s
Tactic:
intro (NonzeroWithSign.intro (m : ℕ) (_ : Positive m) (_ : a₁ ≃ s * coe m))
State after:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a₁ a₂ s : ℤ
x✝¹ : Sqrt1 s
x✝ : a₁ ≃ a₂
m : ℕ
pos✝ : Positive m
eqv✝ : a₁ ≃ s * coe m
⊢ NonzeroWithSign a₂ s

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a₁ a₂ s : ℤ
x✝¹ : Sqrt1 s
x✝ : a₁ ≃ a₂
m : ℕ
pos✝ : Positive m
eqv✝ : a₁ ≃ s * coe m
⊢ NonzeroWithSign a₂ s
Tactic:
have : a₂ ≃ s * coe m := Rel.trans (Rel.symm ‹a₁ ≃ a₂›) ‹a₁ ≃ s * coe m›
State after:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a₁ a₂ s : ℤ
x✝¹ : Sqrt1 s
x✝ : a₁ ≃ a₂
m : ℕ
pos✝ : Positive m
eqv✝ : a₁ ≃ s * coe m
this : a₂ ≃ s * coe m
⊢ NonzeroWithSign a₂ s

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a₁ a₂ s : ℤ
x✝¹ : Sqrt1 s
x✝ : a₁ ≃ a₂
m : ℕ
pos✝ : Positive m
eqv✝ : a₁ ≃ s * coe m
this : a₂ ≃ s * coe m
⊢ NonzeroWithSign a₂ s
Tactic:
exact NonzeroWithSign.intro m ‹Positive m› ‹a₂ ≃ s * coe m›
State after:
no goals