@@ -14,17 +14,17 @@ import Mathlib.Probability.Distributions.Gamma
14
14
Define the Exponential measure over the reals.
15
15
16
16
## Main definitions
17
- * `exponentialPdfReal `: the function `r x ↦ r * exp (-(r * x)` for `0 ≤ x`
17
+ * `exponentialPDFReal `: the function `r x ↦ r * exp (-(r * x)` for `0 ≤ x`
18
18
or `0` else, which is the probability density function of a exponential distribution with
19
19
rate `r` (when `hr : 0 < r`).
20
- * `exponentialPdf `: `ℝ≥0∞`-valued pdf,
21
- `exponentialPdf r = ENNReal.ofReal (exponentialPdfReal r)`.
20
+ * `exponentialPDF `: `ℝ≥0∞`-valued pdf,
21
+ `exponentialPDF r = ENNReal.ofReal (exponentialPDFReal r)`.
22
22
* `expMeasure`: an exponential measure on `ℝ`, parametrized by its rate `r`.
23
- * `exponentialCdfReal `: the Cdf given by the definition of CDF in `ProbabilityTheory.Cdf ` applied to
23
+ * `exponentialCDFReal `: the CDF given by the definition of CDF in `ProbabilityTheory.CDF ` applied to
24
24
the exponential measure.
25
25
26
26
## Main results
27
- * `exponentialCdfReal_eq `: Proof that the `exponentialCdfReal ` given by the definition equals the
27
+ * `exponentialCDFReal_eq `: Proof that the `exponentialCDFReal ` given by the definition equals the
28
28
known function given as `r x ↦ 1 - exp (- (r * x))` for `0 ≤ x` or `0` else.
29
29
-/
30
30
@@ -34,59 +34,59 @@ open MeasureTheory Real Set Filter Topology
34
34
35
35
namespace ProbabilityTheory
36
36
37
- section ExponentialPdf
37
+ section ExponentialPDF
38
38
39
39
/-- The pdf of the exponential distribution depending on its rate -/
40
40
noncomputable
41
- def exponentialPdfReal (r x : ℝ) : ℝ :=
42
- gammaPdfReal 1 r x
41
+ def exponentialPDFReal (r x : ℝ) : ℝ :=
42
+ gammaPDFReal 1 r x
43
43
44
44
/-- The pdf of the exponential distribution, as a function valued in `ℝ≥0∞` -/
45
45
noncomputable
46
- def exponentialPdf (r x : ℝ) : ℝ≥0 ∞ :=
47
- ENNReal.ofReal (exponentialPdfReal r x)
46
+ def exponentialPDF (r x : ℝ) : ℝ≥0 ∞ :=
47
+ ENNReal.ofReal (exponentialPDFReal r x)
48
48
49
- lemma exponentialPdf_eq (r x : ℝ) :
50
- exponentialPdf r x = ENNReal.ofReal (if 0 ≤ x then r * exp (-(r * x)) else 0 ) := by
51
- rw [exponentialPdf, exponentialPdfReal, gammaPdfReal ]
49
+ lemma exponentialPDF_eq (r x : ℝ) :
50
+ exponentialPDF r x = ENNReal.ofReal (if 0 ≤ x then r * exp (-(r * x)) else 0 ) := by
51
+ rw [exponentialPDF, exponentialPDFReal, gammaPDFReal ]
52
52
simp only [rpow_one, Gamma_one, div_one, sub_self, rpow_zero, mul_one]
53
53
54
- lemma exponentialPdf_of_neg {r x : ℝ} (hx : x < 0 ) : exponentialPdf r x = 0 := gammaPdf_of_neg hx
54
+ lemma exponentialPDF_of_neg {r x : ℝ} (hx : x < 0 ) : exponentialPDF r x = 0 := gammaPDF_of_neg hx
55
55
56
- lemma exponentialPdf_of_nonneg {r x : ℝ} (hx : 0 ≤ x) :
57
- exponentialPdf r x = ENNReal.ofReal (r * rexp (-(r * x))) := by
58
- simp only [exponentialPdf_eq , if_pos hx]
56
+ lemma exponentialPDF_of_nonneg {r x : ℝ} (hx : 0 ≤ x) :
57
+ exponentialPDF r x = ENNReal.ofReal (r * rexp (-(r * x))) := by
58
+ simp only [exponentialPDF_eq , if_pos hx]
59
59
60
60
/-- The Lebesgue integral of the exponential pdf over nonpositive reals equals 0-/
61
- lemma lintegral_exponentialPdf_of_nonpos {x r : ℝ} (hx : x ≤ 0 ) :
62
- ∫⁻ y in Iio x, exponentialPdf r y = 0 := lintegral_gammaPdf_of_nonpos hx
61
+ lemma lintegral_exponentialPDF_of_nonpos {x r : ℝ} (hx : x ≤ 0 ) :
62
+ ∫⁻ y in Iio x, exponentialPDF r y = 0 := lintegral_gammaPDF_of_nonpos hx
63
63
64
64
/-- The exponential pdf is measurable. -/
65
65
@[measurability]
66
- lemma measurable_exponentialPdfReal (r : ℝ) : Measurable (exponentialPdfReal r) :=
67
- measurable_gammaPdfReal 1 r
66
+ lemma measurable_exponentialPDFReal (r : ℝ) : Measurable (exponentialPDFReal r) :=
67
+ measurable_gammaPDFReal 1 r
68
68
69
69
-- The exponential pdf is strongly measurable -/
70
70
@[measurability]
71
- lemma stronglyMeasurable_exponentialPdfReal (r : ℝ) :
72
- StronglyMeasurable (exponentialPdfReal r) := stronglyMeasurable_gammaPdfReal 1 r
71
+ lemma stronglyMeasurable_exponentialPDFReal (r : ℝ) :
72
+ StronglyMeasurable (exponentialPDFReal r) := stronglyMeasurable_gammaPDFReal 1 r
73
73
74
74
/-- The exponential pdf is positive for all positive reals -/
75
- lemma exponentialPdfReal_pos {x r : ℝ} (hr : 0 < r) (hx : 0 < x) :
76
- 0 < exponentialPdfReal r x := gammaPdfReal_pos zero_lt_one hr hx
75
+ lemma exponentialPDFReal_pos {x r : ℝ} (hr : 0 < r) (hx : 0 < x) :
76
+ 0 < exponentialPDFReal r x := gammaPDFReal_pos zero_lt_one hr hx
77
77
78
78
/-- The exponential pdf is nonnegative-/
79
- lemma exponentialPdfReal_nonneg {r : ℝ} (hr : 0 < r) (x : ℝ) :
80
- 0 ≤ exponentialPdfReal r x := gammaPdfReal_nonneg zero_lt_one hr x
79
+ lemma exponentialPDFReal_nonneg {r : ℝ} (hr : 0 < r) (x : ℝ) :
80
+ 0 ≤ exponentialPDFReal r x := gammaPDFReal_nonneg zero_lt_one hr x
81
81
82
82
open Measure
83
83
84
84
/-- The pdf of the exponential distribution integrates to 1 -/
85
85
@[simp]
86
- lemma lintegral_exponentialPdf_eq_one {r : ℝ} (hr : 0 < r) : ∫⁻ x, exponentialPdf r x = 1 :=
87
- lintegral_gammaPdf_eq_one zero_lt_one hr
86
+ lemma lintegral_exponentialPDF_eq_one {r : ℝ} (hr : 0 < r) : ∫⁻ x, exponentialPDF r x = 1 :=
87
+ lintegral_gammaPDF_eq_one zero_lt_one hr
88
88
89
- end ExponentialPdf
89
+ end ExponentialPDF
90
90
91
91
open MeasureTheory
92
92
@@ -97,20 +97,20 @@ def expMeasure (r : ℝ) : Measure ℝ := gammaMeasure 1 r
97
97
lemma isProbabilityMeasureExponential {r : ℝ} (hr : 0 < r) :
98
98
IsProbabilityMeasure (expMeasure r) := isProbabilityMeasureGamma zero_lt_one hr
99
99
100
- section ExponentialCdf
100
+ section ExponentialCDF
101
101
102
102
/-- CDF of the exponential distribution -/
103
103
noncomputable
104
- def exponentialCdfReal (r : ℝ) : StieltjesFunction :=
104
+ def exponentialCDFReal (r : ℝ) : StieltjesFunction :=
105
105
cdf (expMeasure r)
106
106
107
- lemma exponentialCdfReal_eq_integral {r : ℝ} (hr : 0 < r) (x : ℝ) :
108
- exponentialCdfReal r x = ∫ x in Iic x, exponentialPdfReal r x :=
109
- gammaCdfReal_eq_integral zero_lt_one hr x
107
+ lemma exponentialCDFReal_eq_integral {r : ℝ} (hr : 0 < r) (x : ℝ) :
108
+ exponentialCDFReal r x = ∫ x in Iic x, exponentialPDFReal r x :=
109
+ gammaCDFReal_eq_integral zero_lt_one hr x
110
110
111
- lemma exponentialCdfReal_eq_lintegral {r : ℝ} (hr : 0 < r) (x : ℝ) :
112
- exponentialCdfReal r x = ENNReal.toReal (∫⁻ x in Iic x, exponentialPdf r x) :=
113
- gammaCdfReal_eq_lintegral zero_lt_one hr x
111
+ lemma exponentialCDFReal_eq_lintegral {r : ℝ} (hr : 0 < r) (x : ℝ) :
112
+ exponentialCDFReal r x = ENNReal.toReal (∫⁻ x in Iic x, exponentialPDF r x) :=
113
+ gammaCDFReal_eq_lintegral zero_lt_one hr x
114
114
115
115
open Topology
116
116
@@ -126,18 +126,18 @@ lemma exp_neg_integrableOn_Ioc {b x : ℝ} (hb : 0 < b) :
126
126
simp only [neg_mul_eq_neg_mul]
127
127
exact (exp_neg_integrableOn_Ioi _ hb).mono_set Ioc_subset_Ioi_self
128
128
129
- lemma lintegral_exponentialPdf_eq_antiDeriv {r : ℝ} (hr : 0 < r) (x : ℝ) :
130
- ∫⁻ y in Iic x, exponentialPdf r y
129
+ lemma lintegral_exponentialPDF_eq_antiDeriv {r : ℝ} (hr : 0 < r) (x : ℝ) :
130
+ ∫⁻ y in Iic x, exponentialPDF r y
131
131
= ENNReal.ofReal (if 0 ≤ x then 1 - exp (-(r * x)) else 0 ) := by
132
132
split_ifs with h
133
133
case neg =>
134
- simp only [exponentialPdf_eq ]
134
+ simp only [exponentialPDF_eq ]
135
135
rw [set_lintegral_congr_fun measurableSet_Iic, lintegral_zero, ENNReal.ofReal_zero]
136
136
exact ae_of_all _ fun a (_ : a ≤ _) ↦ by rw [if_neg (by linarith), ENNReal.ofReal_eq_zero]
137
137
case pos =>
138
- rw [lintegral_Iic_eq_lintegral_Iio_add_Icc _ h, lintegral_exponentialPdf_of_nonpos (le_refl 0 ),
138
+ rw [lintegral_Iic_eq_lintegral_Iio_add_Icc _ h, lintegral_exponentialPDF_of_nonpos (le_refl 0 ),
139
139
zero_add]
140
- simp only [exponentialPdf_eq ]
140
+ simp only [exponentialPDF_eq ]
141
141
rw [set_lintegral_congr_fun measurableSet_Icc (ae_of_all _
142
142
(by intro a ⟨(hle : _ ≤ a), _⟩; rw [if_pos hle]))]
143
143
rw [← ENNReal.toReal_eq_toReal _ ENNReal.ofReal_ne_top, ← integral_eq_lintegral_of_nonneg_ae
@@ -164,13 +164,13 @@ lemma lintegral_exponentialPdf_eq_antiDeriv {r : ℝ} (hr : 0 < r) (x : ℝ) :
164
164
exact Integrable.const_mul (exp_neg_integrableOn_Ioc hr) _
165
165
166
166
/-- The CDF of the exponential distribution equals ``1 - exp (-(r * x))``-/
167
- lemma exponentialCdfReal_eq {r : ℝ} (hr : 0 < r) (x : ℝ) :
168
- exponentialCdfReal r x = if 0 ≤ x then 1 - exp (-(r * x)) else 0 := by
169
- rw [exponentialCdfReal_eq_lintegral hr, lintegral_exponentialPdf_eq_antiDeriv hr x,
167
+ lemma exponentialCDFReal_eq {r : ℝ} (hr : 0 < r) (x : ℝ) :
168
+ exponentialCDFReal r x = if 0 ≤ x then 1 - exp (-(r * x)) else 0 := by
169
+ rw [exponentialCDFReal_eq_lintegral hr, lintegral_exponentialPDF_eq_antiDeriv hr x,
170
170
ENNReal.toReal_ofReal_eq_iff]
171
171
split_ifs with h
172
172
· simp only [sub_nonneg, exp_le_one_iff, Left.neg_nonpos_iff, gt_iff_lt, ge_iff_le]
173
173
exact mul_nonneg hr.le h
174
174
· exact le_rfl
175
175
176
- end ExponentialCdf
176
+ end ExponentialCDF
0 commit comments