Theorem: Lean4Axiomatic.Rational.close_trans (Lean4Axiomatic/Rational/Metric.lean)

State before:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
⊢ p ⊢ε⊣ q → q ⊢δ⊣ r → p ⊢ε + δ⊣ r
Tactic:
intro (_ : p ⊢ε⊣ q) (_ : q ⊢δ⊣ r)
State after:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
⊢ p ⊢ε + δ⊣ r

State before:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
⊢ p ⊢ε + δ⊣ r
Tactic:
have : dist p q ≤ ε := close_dist.mp ‹p ⊢ε⊣ q›
State after:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
this : dist p q ≤ ε
⊢ p ⊢ε + δ⊣ r

State before:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
this : dist p q ≤ ε
⊢ p ⊢ε + δ⊣ r
Tactic:
have : dist q r ≤ δ := close_dist.mp ‹q ⊢δ⊣ r›
State after:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
this✝ : dist p q ≤ ε
this : dist q r ≤ δ
⊢ p ⊢ε + δ⊣ r

State before:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
this✝ : dist p q ≤ ε
this : dist q r ≤ δ
⊢ p ⊢ε + δ⊣ r
Tactic:
have : dist p r ≤ ε + δ := calc
  _ ≃ dist p r            := eqv_refl
  _ ≤ dist p q + dist q r := dist_triangle
  _ ≤ ε + dist q r        := le_substL_add ‹dist p q ≤ ε›
  _ ≤ ε + δ               := le_substR_add ‹dist q r ≤ δ›
State after:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
this✝¹ : dist p q ≤ ε
this✝ : dist q r ≤ δ
this : dist p r ≤ ε + δ
⊢ p ⊢ε + δ⊣ r

State before:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
this✝¹ : dist p q ≤ ε
this✝ : dist q r ≤ δ
this : dist p r ≤ ε + δ
⊢ p ⊢ε + δ⊣ r
Tactic:
have : p ⊢ε+δ⊣ r := close_dist.mpr this
State after:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
this✝² : dist p q ≤ ε
this✝¹ : dist q r ≤ δ
this✝ : dist p r ≤ ε + δ
this : p ⊢ε + δ⊣ r
⊢ p ⊢ε + δ⊣ r

State before:
ℕ ℤ ℚ : Type
inst✝¹² : Natural ℕ
inst✝¹¹ : Integer ℤ
inst✝¹⁰ : Core ℚ
inst✝⁹ : Addition ℚ
inst✝⁸ : Negation ℚ
inst✝⁷ : Subtraction ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Reciprocation ℚ
inst✝⁴ : Division ℚ
inst✝³ : Sign ℚ
inst✝² : Order ℚ
inst✝¹ : MinMax ℚ
inst✝ : Metric ℚ
ε δ p q r : ℚ
x✝¹ : p ⊢ε⊣ q
x✝ : q ⊢δ⊣ r
this✝² : dist p q ≤ ε
this✝¹ : dist q r ≤ δ
this✝ : dist p r ≤ ε + δ
this : p ⊢ε + δ⊣ r
⊢ p ⊢ε + δ⊣ r
Tactic:
exact this
State after:
no goals