theorem
proved
prove_upper_bound_le
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Numerics.Interval.Tactic on GitHub at line 42.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
formal source
39 (h_contains : I.contains x) (h_lo : b ≤ I.lo) : (b : ℝ) ≤ x :=
40 I.lo_ge_implies_contains_ge h_lo h_contains
41
42theorem prove_upper_bound_le {I : Interval} {x : ℝ} {b : ℚ}
43 (h_contains : I.contains x) (h_hi : I.hi ≤ b) : x ≤ (b : ℝ) :=
44 I.hi_le_implies_contains_le h_hi h_contains
45
46/-- Prove that φ is in its interval -/
47theorem phi_interval_contains :
48 phiInterval.contains ((1 + Real.sqrt 5) / 2) := phi_in_phiInterval
49
50/-- Prove that log(φ) is in its interval -/
51theorem log_phi_interval_contains :
52 logPhiInterval.contains (Real.log ((1 + Real.sqrt 5) / 2)) := log_phi_in_interval
53
54/-- Example: Prove log(φ) > 0.48 (using interval lo = 481/1000 = 0.481) -/
55theorem log_phi_gt_048 : (0.48 : ℝ) < Real.log ((1 + Real.sqrt 5) / 2) := by
56 have h := log_phi_in_interval
57 -- logPhiInterval.lo = 481/1000 > 0.48
58 have h1 : (0.48 : ℝ) < (481 / 1000 : ℚ) := by norm_num
59 exact lt_of_lt_of_le h1 h.1
60
61/-- Example: Prove log(φ) < 0.49 (using interval hi = 482/1000 = 0.482) -/
62theorem log_phi_lt_049 : Real.log ((1 + Real.sqrt 5) / 2) < (0.49 : ℝ) := by
63 have h := log_phi_in_interval
64 -- logPhiInterval.hi = 482/1000 < 0.49
65 have h1 : ((482 / 1000 : ℚ) : ℝ) < (0.49 : ℝ) := by norm_num
66 exact lt_of_le_of_lt h.2 h1
67
68/-- Example: Prove φ > 1.61 (using interval lo = 1618/1000) -/
69theorem phi_gt_161 : (1.61 : ℝ) < (1 + Real.sqrt 5) / 2 := by
70 have h := phi_in_phiInterval
71 -- phiInterval.lo = 1618/1000 > 1.61
72 have h1 : (1.61 : ℝ) < (1618 / 1000 : ℚ) := by norm_num