Theorem: Lean4Axiomatic.Rational.between_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 s t : ℚ
⊢ p⊣ q ⊢t → p⊣ s ⊢t → q⊣ r ⊢s → p⊣ r ⊢t
Tactic:
intro (_ : p⊣ q ⊢t) (_ : p⊣ s ⊢t) (_ : q⊣ r ⊢s)
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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
⊢ p⊣ r ⊢t
Tactic:
have (And.intro (_ : min p t ≤ q) (_ : q ≤ max p t)) :=
  between_min_max.mp ‹p⊣ q ⊢t›
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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝ : Ordered.min p t ≤ q
right✝ : q ≤ Ordered.max p t
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝ : Ordered.min p t ≤ q
right✝ : q ≤ Ordered.max p t
⊢ p⊣ r ⊢t
Tactic:
have (And.intro (_ : min p t ≤ s) (_ : s ≤ max p t)) :=
  between_min_max.mp ‹p⊣ s ⊢t›
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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝¹ : Ordered.min p t ≤ q
right✝¹ : q ≤ Ordered.max p t
left✝ : Ordered.min p t ≤ s
right✝ : s ≤ Ordered.max p t
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝¹ : Ordered.min p t ≤ q
right✝¹ : q ≤ Ordered.max p t
left✝ : Ordered.min p t ≤ s
right✝ : s ≤ Ordered.max p t
⊢ p⊣ r ⊢t
Tactic:
have (And.intro (_ : min q s ≤ r) (_ : r ≤ max q s)) :=
  between_min_max.mp ‹q⊣ r ⊢s›
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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
⊢ p⊣ r ⊢t
Tactic:
have : min p t ≤ min q s := min_le_both ‹min p t ≤ q› ‹min p t ≤ s›
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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this : Ordered.min p t ≤ Ordered.min q s
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this : Ordered.min p t ≤ Ordered.min q s
⊢ p⊣ r ⊢t
Tactic:
have : max q s ≤ max p t := max_le_both ‹q ≤ max p t› ‹s ≤ max p t›
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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝ : Ordered.min p t ≤ Ordered.min q s
this : Ordered.max q s ≤ Ordered.max p t
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝ : Ordered.min p t ≤ Ordered.min q s
this : Ordered.max q s ≤ Ordered.max p t
⊢ p⊣ r ⊢t
Tactic:
have : min p t ≤ r := le_trans ‹min p t ≤ min q s› ‹min q s ≤ 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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝¹ : Ordered.min p t ≤ Ordered.min q s
this✝ : Ordered.max q s ≤ Ordered.max p t
this : Ordered.min p t ≤ r
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝¹ : Ordered.min p t ≤ Ordered.min q s
this✝ : Ordered.max q s ≤ Ordered.max p t
this : Ordered.min p t ≤ r
⊢ p⊣ r ⊢t
Tactic:
have : r ≤ max p t := le_trans ‹r ≤ max q s› ‹max q s ≤ max p t›
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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝² : Ordered.min p t ≤ Ordered.min q s
this✝¹ : Ordered.max q s ≤ Ordered.max p t
this✝ : Ordered.min p t ≤ r
this : r ≤ Ordered.max p t
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝² : Ordered.min p t ≤ Ordered.min q s
this✝¹ : Ordered.max q s ≤ Ordered.max p t
this✝ : Ordered.min p t ≤ r
this : r ≤ Ordered.max p t
⊢ p⊣ r ⊢t
Tactic:
have : min p t ≤ r ∧ r ≤ max p t := And.intro ‹min p t ≤ r› ‹r ≤ max p t›
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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝³ : Ordered.min p t ≤ Ordered.min q s
this✝² : Ordered.max q s ≤ Ordered.max p t
this✝¹ : Ordered.min p t ≤ r
this✝ : r ≤ Ordered.max p t
this : Ordered.min p t ≤ r ∧ r ≤ Ordered.max p t
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝³ : Ordered.min p t ≤ Ordered.min q s
this✝² : Ordered.max q s ≤ Ordered.max p t
this✝¹ : Ordered.min p t ≤ r
this✝ : r ≤ Ordered.max p t
this : Ordered.min p t ≤ r ∧ r ≤ Ordered.max p t
⊢ p⊣ r ⊢t
Tactic:
have : p⊣ r ⊢t := between_min_max.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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝⁴ : Ordered.min p t ≤ Ordered.min q s
this✝³ : Ordered.max q s ≤ Ordered.max p t
this✝² : Ordered.min p t ≤ r
this✝¹ : r ≤ Ordered.max p t
this✝ : Ordered.min p t ≤ r ∧ r ≤ Ordered.max p t
this : p⊣ r ⊢t
⊢ p⊣ r ⊢t

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 s t : ℚ
x✝² : p⊣ q ⊢t
x✝¹ : p⊣ s ⊢t
x✝ : q⊣ r ⊢s
left✝² : Ordered.min p t ≤ q
right✝² : q ≤ Ordered.max p t
left✝¹ : Ordered.min p t ≤ s
right✝¹ : s ≤ Ordered.max p t
left✝ : Ordered.min q s ≤ r
right✝ : r ≤ Ordered.max q s
this✝⁴ : Ordered.min p t ≤ Ordered.min q s
this✝³ : Ordered.max q s ≤ Ordered.max p t
this✝² : Ordered.min p t ≤ r
this✝¹ : r ≤ Ordered.max p t
this✝ : Ordered.min p t ≤ r ∧ r ≤ Ordered.max p t
this : p⊣ r ⊢t
⊢ p⊣ r ⊢t
Tactic:
exact this
State after:
no goals