internlm/Lean-Github huggingface dataset:
Theorem: Lean4Axiomatic.Rational.lt_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q < p₁
⊢ q < p₂
Tactic:
have : sgn (q - p₁) ≃ -1 := lt_sgn.mp ‹q < p₁›
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q < p₁
this : sgn (q - p₁) ≃ -1
⊢ q < p₂
Theorem: Lean4Axiomatic.Rational.lt_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q < p₁
this : sgn (q - p₁) ≃ -1
⊢ q < p₂
Tactic:
have : sgn (q - p₂) ≃ -1 := calc
  sgn (q - p₂) ≃ _ := sgn_subst (sub_substR (eqv_symm ‹p₁ ≃ p₂›))
  sgn (q - p₁) ≃ _ := ‹sgn (q - p₁) ≃ -1›
  (-1)         ≃ _ := Rel.refl
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q < p₁
this✝ : sgn (q - p₁) ≃ -1
this : sgn (q - p₂) ≃ -1
⊢ q < p₂
Theorem: Lean4Axiomatic.Rational.lt_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q < p₁
this✝ : sgn (q - p₁) ≃ -1
this : sgn (q - p₂) ≃ -1
⊢ q < p₂
Tactic:
have : q < p₂ := lt_sgn.mpr this
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q < p₁
this✝¹ : sgn (q - p₁) ≃ -1
this✝ : sgn (q - p₂) ≃ -1
this : q < p₂
⊢ q < p₂
Theorem: Lean4Axiomatic.Rational.lt_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q < p₁
this✝¹ : sgn (q - p₁) ≃ -1
this✝ : sgn (q - p₂) ≃ -1
this : q < p₂
⊢ q < p₂
Tactic:
exact this
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.trans_lt_eqv_lt
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
⊢ q < p₁ → p₁ ≃ p₂ → q < p₂
Tactic:
intro (_ : q < p₁) (_ : p₁ ≃ p₂)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : q < p₁
x✝ : p₁ ≃ p₂
⊢ q < p₂
Theorem: Lean4Axiomatic.Rational.trans_lt_eqv_lt
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : q < p₁
x✝ : p₁ ≃ p₂
⊢ q < p₂
Tactic:
exact lt_substR_eqv ‹p₁ ≃ p₂› ‹q < p₁›
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.trans_eqv_gt_gt
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
⊢ p₂ ≃ p₁ → p₁ > q → p₂ > q
Tactic:
intro (_ : p₂ ≃ p₁) (_ : q < p₁)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : q < p₁
⊢ p₂ > q
Theorem: Lean4Axiomatic.Rational.trans_eqv_gt_gt
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : q < p₁
⊢ p₂ > q
Tactic:
show q < p₂
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : q < p₁
⊢ q < p₂
Theorem: Lean4Axiomatic.Rational.trans_eqv_gt_gt
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : q < p₁
⊢ q < p₂
Tactic:
exact trans_lt_eqv_lt ‹q < p₁› (eqv_symm ‹p₂ ≃ p₁›)
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.trans_gt_eqv_gt
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
⊢ q > p₁ → p₁ ≃ p₂ → q > p₂
Tactic:
intro (_ : p₁ < q) (_ : p₁ ≃ p₂)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ < q
x✝ : p₁ ≃ p₂
⊢ q > p₂
Theorem: Lean4Axiomatic.Rational.trans_gt_eqv_gt
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ < q
x✝ : p₁ ≃ p₂
⊢ q > p₂
Tactic:
show p₂ < q
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ < q
x✝ : p₁ ≃ p₂
⊢ p₂ < q
Theorem: Lean4Axiomatic.Rational.trans_gt_eqv_gt
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ < q
x✝ : p₁ ≃ p₂
⊢ p₂ < q
Tactic:
exact trans_eqv_lt_lt (eqv_symm ‹p₁ ≃ p₂›) ‹p₁ < q›
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.le_substL_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
⊢ p₁ ≃ p₂ → p₁ ≤ q → p₂ ≤ q
Tactic:
intro (_ : p₁ ≃ p₂) (_ : p₁ ≤ q)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
⊢ p₂ ≤ q
Theorem: Lean4Axiomatic.Rational.le_substL_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
⊢ p₂ ≤ q
Tactic:
have : sgn (p₁ - q) ≄ 1 := le_sgn.mp ‹p₁ ≤ q›
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
this : sgn (p₁ - q) ≄ 1
⊢ p₂ ≤ q
Theorem: Lean4Axiomatic.Rational.le_substL_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
this : sgn (p₁ - q) ≄ 1
⊢ p₂ ≤ q
Tactic:
have : sgn (p₁ - q) ≃ sgn (p₂ - q) := sgn_subst (sub_substL ‹p₁ ≃ p₂›)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
this✝ : sgn (p₁ - q) ≄ 1
this : sgn (p₁ - q) ≃ sgn (p₂ - q)
⊢ p₂ ≤ q
Theorem: Lean4Axiomatic.Rational.le_substL_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
this✝ : sgn (p₁ - q) ≄ 1
this : sgn (p₁ - q) ≃ sgn (p₂ - q)
⊢ p₂ ≤ q
Tactic:
have : sgn (p₂ - q) ≄ 1 := AA.neqv_substL this ‹sgn (p₁ - q) ≄ 1›
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
this✝¹ : sgn (p₁ - q) ≄ 1
this✝ : sgn (p₁ - q) ≃ sgn (p₂ - q)
this : sgn (p₂ - q) ≄ 1
⊢ p₂ ≤ q
Theorem: Lean4Axiomatic.Rational.le_substL_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
this✝¹ : sgn (p₁ - q) ≄ 1
this✝ : sgn (p₁ - q) ≃ sgn (p₂ - q)
this : sgn (p₂ - q) ≄ 1
⊢ p₂ ≤ q
Tactic:
have : p₂ ≤ q := le_sgn.mpr this
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
this✝² : sgn (p₁ - q) ≄ 1
this✝¹ : sgn (p₁ - q) ≃ sgn (p₂ - q)
this✝ : sgn (p₂ - q) ≄ 1
this : p₂ ≤ q
⊢ p₂ ≤ q
Theorem: Lean4Axiomatic.Rational.le_substL_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : p₁ ≤ q
this✝² : sgn (p₁ - q) ≄ 1
this✝¹ : sgn (p₁ - q) ≃ sgn (p₂ - q)
this✝ : sgn (p₂ - q) ≄ 1
this : p₂ ≤ q
⊢ p₂ ≤ q
Tactic:
exact this
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.trans_eqv_le_le
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
⊢ p₂ ≃ p₁ → p₁ ≤ q → p₂ ≤ q
Tactic:
intro (_ : p₂ ≃ p₁) (_ : p₁ ≤ q)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : p₁ ≤ q
⊢ p₂ ≤ q
Theorem: Lean4Axiomatic.Rational.trans_eqv_le_le
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : p₁ ≤ q
⊢ p₂ ≤ q
Tactic:
exact le_substL_eqv (eqv_symm ‹p₂ ≃ p₁›) ‹p₁ ≤ q›
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.le_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
⊢ p₁ ≃ p₂ → q ≤ p₁ → q ≤ p₂
Tactic:
intro (_ : p₁ ≃ p₂) (_ : q ≤ p₁)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
⊢ q ≤ p₂
Theorem: Lean4Axiomatic.Rational.le_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
⊢ q ≤ p₂
Tactic:
have : sgn (q - p₁) ≄ 1 := le_sgn.mp ‹q ≤ p₁›
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
this : sgn (q - p₁) ≄ 1
⊢ q ≤ p₂
Theorem: Lean4Axiomatic.Rational.le_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
this : sgn (q - p₁) ≄ 1
⊢ q ≤ p₂
Tactic:
have : sgn (q - p₁) ≃ sgn (q - p₂) := sgn_subst (sub_substR ‹p₁ ≃ p₂›)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
this✝ : sgn (q - p₁) ≄ 1
this : sgn (q - p₁) ≃ sgn (q - p₂)
⊢ q ≤ p₂
Theorem: Lean4Axiomatic.Rational.le_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
this✝ : sgn (q - p₁) ≄ 1
this : sgn (q - p₁) ≃ sgn (q - p₂)
⊢ q ≤ p₂
Tactic:
have : sgn (q - p₂) ≄ 1 := AA.neqv_substL this ‹sgn (q - p₁) ≄ 1›
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
this✝¹ : sgn (q - p₁) ≄ 1
this✝ : sgn (q - p₁) ≃ sgn (q - p₂)
this : sgn (q - p₂) ≄ 1
⊢ q ≤ p₂
Theorem: Lean4Axiomatic.Rational.le_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
this✝¹ : sgn (q - p₁) ≄ 1
this✝ : sgn (q - p₁) ≃ sgn (q - p₂)
this : sgn (q - p₂) ≄ 1
⊢ q ≤ p₂
Tactic:
have : q ≤ p₂ := le_sgn.mpr this
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
this✝² : sgn (q - p₁) ≄ 1
this✝¹ : sgn (q - p₁) ≃ sgn (q - p₂)
this✝ : sgn (q - p₂) ≄ 1
this : q ≤ p₂
⊢ q ≤ p₂
Theorem: Lean4Axiomatic.Rational.le_substR_eqv
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≃ p₂
x✝ : q ≤ p₁
this✝² : sgn (q - p₁) ≄ 1
this✝¹ : sgn (q - p₁) ≃ sgn (q - p₂)
this✝ : sgn (q - p₂) ≄ 1
this : q ≤ p₂
⊢ q ≤ p₂
Tactic:
exact this
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.trans_le_eqv_le
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
⊢ q ≤ p₁ → p₁ ≃ p₂ → q ≤ p₂
Tactic:
intro (_ : q ≤ p₁) (_ : p₁ ≃ p₂)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : q ≤ p₁
x✝ : p₁ ≃ p₂
⊢ q ≤ p₂
Theorem: Lean4Axiomatic.Rational.trans_le_eqv_le
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : q ≤ p₁
x✝ : p₁ ≃ p₂
⊢ q ≤ p₂
Tactic:
exact le_substR_eqv ‹p₁ ≃ p₂› ‹q ≤ p₁›
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.trans_eqv_ge_ge
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
⊢ p₂ ≃ p₁ → p₁ ≥ q → p₂ ≥ q
Tactic:
intro (_ : p₂ ≃ p₁) (_ : q ≤ p₁)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : q ≤ p₁
⊢ p₂ ≥ q
Theorem: Lean4Axiomatic.Rational.trans_eqv_ge_ge
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : q ≤ p₁
⊢ p₂ ≥ q
Tactic:
show q ≤ p₂
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : q ≤ p₁
⊢ q ≤ p₂
Theorem: Lean4Axiomatic.Rational.trans_eqv_ge_ge
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₂ ≃ p₁
x✝ : q ≤ p₁
⊢ q ≤ p₂
Tactic:
exact trans_le_eqv_le ‹q ≤ p₁› (eqv_symm ‹p₂ ≃ p₁›)
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.trans_ge_eqv_ge
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
⊢ q ≥ p₁ → p₁ ≃ p₂ → q ≥ p₂
Tactic:
intro (_ : p₁ ≤ q) (_ : p₁ ≃ p₂)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≤ q
x✝ : p₁ ≃ p₂
⊢ q ≥ p₂
Theorem: Lean4Axiomatic.Rational.trans_ge_eqv_ge
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≤ q
x✝ : p₁ ≃ p₂
⊢ q ≥ p₂
Tactic:
show p₂ ≤ q
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≤ q
x✝ : p₁ ≃ p₂
⊢ p₂ ≤ q
Theorem: Lean4Axiomatic.Rational.trans_ge_eqv_ge
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p₁ p₂ q : ℚ
x✝¹ : p₁ ≤ q
x✝ : p₁ ≃ p₂
⊢ p₂ ≤ q
Tactic:
exact trans_eqv_le_le (eqv_symm ‹p₁ ≃ p₂›) ‹p₁ ≤ q›
Proof state after:
no goals
Theorem: Lean4Axiomatic.Rational.le_trans
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p q r : ℚ
⊢ p ≤ q → q ≤ r → p ≤ r
Tactic:
intro (_ : p ≤ q) (_ : q ≤ r)
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p q r : ℚ
x✝¹ : p ≤ q
x✝ : q ≤ r
⊢ p ≤ r
Theorem: Lean4Axiomatic.Rational.le_trans
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p q r : ℚ
x✝¹ : p ≤ q
x✝ : q ≤ r
⊢ p ≤ r
Tactic:
have : p < q ∨ p ≃ q := le_cases.mp ‹p ≤ q›
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p q r : ℚ
x✝¹ : p ≤ q
x✝ : q ≤ r
this : p < q ∨ p ≃ q
⊢ p ≤ r
Theorem: Lean4Axiomatic.Rational.le_trans
Proof state before:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p q r : ℚ
x✝¹ : p ≤ q
x✝ : q ≤ r
this : p < q ∨ p ≃ q
⊢ p ≤ r
Tactic:
have : q < r ∨ q ≃ r := le_cases.mp ‹q ≤ r›
Proof state after:
ℕ ℤ ℚ : Type
inst✝¹⁰ : Natural ℕ
inst✝⁹ : Integer ℤ
inst✝⁸ : Core ℚ
inst✝⁷ : Addition ℚ
inst✝⁶ : Multiplication ℚ
inst✝⁵ : Negation ℚ
inst✝⁴ : Sign ℚ
inst✝³ : Subtraction ℚ
inst✝² : Reciprocation ℚ
inst✝¹ : Division ℚ
inst✝ : Order ℚ
p q r : ℚ
x✝¹ : p ≤ q
x✝ : q ≤ r
this✝ : p < q ∨ p ≃ q
this : q < r ∨ q ≃ r
⊢ p ≤ r