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

State before:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a s₁ s₂ : ℤ
x✝² : Sqrt1 s₁
x✝¹ : Sqrt1 s₂
x✝ : s₁ ≃ s₂
⊢ 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 s₁ s₂ : ℤ
x✝² : Sqrt1 s₁
x✝¹ : Sqrt1 s₂
x✝ : s₁ ≃ s₂
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 s₁ s₂ : ℤ
x✝² : Sqrt1 s₁
x✝¹ : Sqrt1 s₂
x✝ : s₁ ≃ s₂
m : ℕ
pos✝ : Positive m
eqv✝ : a ≃ s₁ * coe m
⊢ NonzeroWithSign a s₂
Tactic:
have : a ≃ s₂ * coe m := Rel.trans ‹a ≃ s₁ * coe m› (AA.substL ‹s₁ ≃ s₂›)
State after:
ℕ : Type
inst✝⁴ : Natural ℕ
ℤ : Type
inst✝³ : Core ℤ
inst✝² : Addition ℤ
inst✝¹ : Multiplication ℤ
inst✝ : Negation ℤ
a s₁ s₂ : ℤ
x✝² : Sqrt1 s₁
x✝¹ : Sqrt1 s₂
x✝ : s₁ ≃ s₂
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 s₁ s₂ : ℤ
x✝² : Sqrt1 s₁
x✝¹ : Sqrt1 s₂
x✝ : s₁ ≃ s₂
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