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 PGeo(P{0})P is memoryless P \sim \text{Geo}(P \{0\}) \Leftrightarrow P \text{ is memoryless} where Geo is the Geometric distribution on {0,1,} \{0, 1, \ldots \} .

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:
0<P{0}1    P=Geo(P{0})P is memoryless.0 < P \{0\} \le 1 \;\wedge\; P = \text{Geo}(P\{0\}) \Leftrightarrow P \text{ is memoryless}.

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 P=Geo(p)P = Geo(p) for some 0<p10<p\le 1 but it must specifically hold p=P{0}.p=P \{0\}. 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