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

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

State before:
ℕ : Type
inst✝⁵ : Natural ℕ
ℤ : Type
inst✝⁴ : Core ℤ
inst✝³ : Addition ℤ
inst✝² : Multiplication ℤ
inst✝¹ : Negation ℤ
inst✝ : Sign ℤ
a₁ a₂ : ℤ
x✝¹ : a₁ ≃ a₂
x✝ : Positive a₁
⊢ Positive a₂
Tactic:
have (NonzeroWithSign.intro (m : ℕ) (_ : Positive m) (_ : a₁ ≃ 1 * ↑m)) :=
  positive_iff_sign_pos1.mp ‹Positive a₁›
State after:
ℕ : Type
inst✝⁵ : Natural ℕ
ℤ : Type
inst✝⁴ : Core ℤ
inst✝³ : Addition ℤ
inst✝² : Multiplication ℤ
inst✝¹ : Negation ℤ
inst✝ : Sign ℤ
a₁ a₂ : ℤ
x✝¹ : a₁ ≃ a₂
x✝ : Positive a₁
m : ℕ
pos✝ : Positive m
eqv✝ : a₁ ≃ 1 * coe m
⊢ Positive a₂

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

State before:
ℕ : Type
inst✝⁵ : Natural ℕ
ℤ : Type
inst✝⁴ : Core ℤ
inst✝³ : Addition ℤ
inst✝² : Multiplication ℤ
inst✝¹ : Negation ℤ
inst✝ : Sign ℤ
a₁ a₂ : ℤ
x✝¹ : a₁ ≃ a₂
x✝ : Positive a₁
m : ℕ
pos✝ : Positive m
eqv✝ : a₁ ≃ 1 * coe m
this : a₂ ≃ 1 * coe m
⊢ Positive a₂
Tactic:
have : NonzeroWithSign a₂ 1 :=
  NonzeroWithSign.intro m ‹Positive m› ‹a₂ ≃ 1 * ↑m›
State after:
ℕ : Type
inst✝⁵ : Natural ℕ
ℤ : Type
inst✝⁴ : Core ℤ
inst✝³ : Addition ℤ
inst✝² : Multiplication ℤ
inst✝¹ : Negation ℤ
inst✝ : Sign ℤ
a₁ a₂ : ℤ
x✝¹ : a₁ ≃ a₂
x✝ : Positive a₁
m : ℕ
pos✝ : Positive m
eqv✝ : a₁ ≃ 1 * coe m
this✝ : a₂ ≃ 1 * coe m
this : NonzeroWithSign a₂ 1
⊢ Positive a₂

State before:
ℕ : Type
inst✝⁵ : Natural ℕ
ℤ : Type
inst✝⁴ : Core ℤ
inst✝³ : Addition ℤ
inst✝² : Multiplication ℤ
inst✝¹ : Negation ℤ
inst✝ : Sign ℤ
a₁ a₂ : ℤ
x✝¹ : a₁ ≃ a₂
x✝ : Positive a₁
m : ℕ
pos✝ : Positive m
eqv✝ : a₁ ≃ 1 * coe m
this✝ : a₂ ≃ 1 * coe m
this : NonzeroWithSign a₂ 1
⊢ Positive a₂
Tactic:
have : Positive a₂ := positive_iff_sign_pos1.mpr ‹NonzeroWithSign a₂ 1›
State after:
ℕ : Type
inst✝⁵ : Natural ℕ
ℤ : Type
inst✝⁴ : Core ℤ
inst✝³ : Addition ℤ
inst✝² : Multiplication ℤ
inst✝¹ : Negation ℤ
inst✝ : Sign ℤ
a₁ a₂ : ℤ
x✝¹ : a₁ ≃ a₂
x✝ : Positive a₁
m : ℕ
pos✝ : Positive m
eqv✝ : a₁ ≃ 1 * coe m
this✝¹ : a₂ ≃ 1 * coe m
this✝ : NonzeroWithSign a₂ 1
this : Positive a₂
⊢ Positive a₂

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