Zulip Chat Archive
Stream: new members
Topic: Stating theorem about memorylessness
Matthias Liesenfeld (Sep 15 2025 at 16:52):
I have a definition
def isMemoryless (P : Measure ℕ) [IsProbabilityMeasure P] : Prop :=
∀ (n m : ℕ), P[{k | k > n + m} | {k | k ≥ n}] = P {k | k > m}
and a theorem
theorem geometricMeasure_iff_memoryless {P : Measure ℕ} [IsProbabilityMeasure P]
(hp_pos : 0 < ENNReal.toReal (P {0}))
(hp_le_one : ENNReal.toReal (P {0}) ≤ 1) :
P = geometricMeasure hp_pos hp_le_one
↔ isMemoryless P.
But it should rather be like
theorem geometricMeasure_iff_memoryless' {P : Measure ℕ} [IsProbabilityMeasure P]
P = geometricMeasure (hp_pos : 0 < ENNReal.toReal (P {0}))
(hp_le_one : ENNReal.toReal (P {0}) ≤ 1 := by sorry)
↔ isMemoryless P.
That is, the prop hp_pos follows from isMemoryless P and it always holds hp_le_one. I don't know the syntax for introducing and using a prop at once.
Kenny Lau (Sep 15 2025 at 16:58):
what is the mathematical statement (in latex)?
Matthias Liesenfeld (Sep 15 2025 at 17:58):
I think it would be something like where Geo is the Geometric distribution on .
Kenny Lau (Sep 15 2025 at 18:50):
right, but Lean requires 0 < x <= 1 whenever you talk about Geo, and you have omitted those in your latex
Matthias Liesenfeld (Sep 15 2025 at 19:42):
Then it would rather be:
Robin Arnez (Sep 15 2025 at 19:51):
So
theorem isMemoryless_iff_eq_geometricMeasure {P : Measure ℕ} [IsProbabilityMeasure P] :
isMemoryless P ↔ ∃ hp_pos hp_le_one, P = geometricMeasure hp_pos hp_le_one := by ...
would be the right theorem statement
Matthias Liesenfeld (Sep 15 2025 at 20:03):
Robin Arnez schrieb:
So
theorem isMemoryless_iff_eq_geometricMeasure {P : Measure ℕ} [IsProbabilityMeasure P] : isMemoryless P ↔ ∃ hp_pos hp_le_one, P = geometricMeasure hp_pos hp_le_one := by ...would be the right theorem statement
Not only does it hold that for some but it must specifically hold I think this theorem statement doesn't account for that. Am I mistaken?
Kenny Lau (Sep 15 2025 at 20:22):
P = geometricMeasure hp_pos hp_le_one would imply p = P{0} right
Robin Arnez (Sep 15 2025 at 20:42):
Ah so perhaps:
theorem isMemoryless_iff_eq_geometricMeasure {P : Measure ℕ} [IsProbabilityMeasure P] :
isMemoryless P ↔ ∃ hp_pos hp_le_one, P = geometricMeasure (p := (P {0}).toReal) hp_pos hp_le_one := by
sorry
Etienne Marion (Sep 15 2025 at 20:54):
You don't need hp_le_one:
import Mathlib
open MeasureTheory ProbabilityTheory
def isMemoryless (P : Measure ℕ) [IsProbabilityMeasure P] : Prop := sorry
theorem isMemoryless_iff_eq_geometricMeasure {P : Measure ℕ} [IsProbabilityMeasure P] :
isMemoryless P ↔ ∃ hp_pos, P = geometricMeasure (p := (P {0}).toReal) hp_pos measureReal_le_one := by
sorry
Last updated: Dec 20 2025 at 21:32 UTC