Theorem: NumberField.abs_discr_gt_two
File: Mathlib/NumberTheory/NumberField/Discriminant.lean

tactic: have h₁ : 1 ≤ 3 * π / 4 := by
  rw [_root_.le_div_iff (by positivity), ← _root_.div_le_iff' (by positivity), one_mul]
  linarith [Real.pi_gt_three]
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
⊢ 2 < |discr K|
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
⊢ 2 < |discr K|

tactic: have h₂ : (9 : ℝ) < π ^ 2 := by
  rw [ ← Real.sqrt_lt (by positivity) (by positivity), show Real.sqrt (9 : ℝ) = 3 from
  (Real.sqrt_eq_iff_sq_eq (by positivity) (by positivity)).mpr (by norm_num)]
  exact Real.pi_gt_three
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
⊢ 2 < |discr K|
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 2 < |discr K|

tactic: refine Int.cast_lt.mp <| lt_of_lt_of_le ?_ (abs_discr_ge h)
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 2 < |discr K|
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ ↑2 < 4 / 9 * (3 * π / 4) ^ finrank ℚ K

tactic: rw [← _root_.div_lt_iff' (by positivity), Int.cast_ofNat]
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ ↑2 < 4 / 9 * (3 * π / 4) ^ finrank ℚ K
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 2 / (4 / 9) < (3 * π / 4) ^ finrank ℚ K

tactic: refine lt_of_lt_of_le ?_ (pow_le_pow_right (n := 2) h₁ h)
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 2 / (4 / 9) < (3 * π / 4) ^ finrank ℚ K
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 2 / (4 / 9) < (3 * π / 4) ^ 2

tactic: rw [div_pow, _root_.lt_div_iff (by norm_num), mul_pow,
  show (2 : ℝ) / (4 / 9) * 4 ^ 2 = 72 by norm_num,
  show (3 : ℝ) ^ 2 = 9 by norm_num,
  ← _root_.div_lt_iff' (by positivity),
  show (72 : ℝ) / 9 = 8 by norm_num]
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 2 / (4 / 9) < (3 * π / 4) ^ 2
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 8 < π ^ 2

tactic: linarith [h₂]
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 8 < π ^ 2
state_after: no goals

tactic: rw [_root_.le_div_iff (by positivity), ← _root_.div_le_iff' (by positivity), one_mul]
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
⊢ 1 ≤ 3 * π / 4
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
⊢ 4 / 3 ≤ π

tactic: linarith [Real.pi_gt_three]
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
⊢ 4 / 3 ≤ π
state_after: no goals

tactic: positivity
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
⊢ 0 < 4
state_after: no goals

tactic: positivity
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
⊢ 0 < 3
state_after: no goals

tactic: rw [ ← Real.sqrt_lt (by positivity) (by positivity), show Real.sqrt (9 : ℝ) = 3 from
(Real.sqrt_eq_iff_sq_eq (by positivity) (by positivity)).mpr (by norm_num)]
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
⊢ 9 < π ^ 2
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
⊢ 3 < π

tactic: exact Real.pi_gt_three
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
⊢ 3 < π
state_after: no goals

tactic: positivity
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
⊢ 0 ≤ 9
state_after: no goals

tactic: positivity
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
⊢ 0 ≤ π
state_after: no goals

tactic: positivity
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
⊢ 0 ≤ 3
state_after: no goals

tactic: norm_num
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
⊢ 3 ^ 2 = 9
state_after: no goals

tactic: positivity
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 0 < 4 / 9
state_after: no goals

tactic: norm_num
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 0 < 4 ^ 2
state_after: no goals

tactic: norm_num
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 2 / (4 / 9) * 4 ^ 2 = 72
state_after: no goals

tactic: norm_num
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 3 ^ 2 = 9
state_after: no goals

tactic: positivity
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 0 < 9
state_after: no goals

tactic: norm_num
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
h : 1 < finrank ℚ K
h₁ : 1 ≤ 3 * π / 4
h₂ : 9 < π ^ 2
⊢ 72 / 9 = 8
state_after: no goals