Zulip Chat Archive
Stream: new members
Topic: Proving set equality in class
Marmare314 (Jan 29 2024 at 07:40):
Hello, I am trying to formalize some basic Neyman-Pearson theory in lean. I came up with the following basic
definitions.
class StatisticalSpace (Ω : Type*) extends MeasurableSpace Ω where
DistributionAssumption' : Set (ProbabilityMeasure Ω)
def DistributionAssumption (Ω : Type*) [hS : StatisticalSpace Ω] :=
{P : ProbabilityMeasure Ω // P ∈ hS.DistributionAssumption'}
What I got stuck at is defining a specific statistical space with exactly two distributions:
class SimpleStatisticalSpace (Ω : Type*) extends StatisticalSpace Ω where
P₀ : ProbabilityMeasure Ω
P₁ : ProbabilityMeasure Ω
unique : P₀ ≠ P₁
DistributionAssumption' := {P₀, P₁}
DistributionAssumption'_def : DistributionAssumption' = {P₀, P₁} := sorry
I'm not sure if its possible to prove DistributionAssumption'_def
. The proof does not have to be a part of
the class of course, but I need some way to access P0
and P1
as DistributionAssumption \Omega
.
Maybe a class is not the best choice here?
Something that was adding to my confusion about this is that none of the following report any errors/warnings:
structure MyClass where
MySet : Set ℕ := {0, 1}
MySet_def : MySet = {0, 1} := by rfl
structure MyClass' where
MySet : Set ℕ := {0, 1}
MySet_def : MySet = {0, 1} := by sorry
structure MyClass'' where
MySet : Set ℕ := {0, 1}
MySet_def : MySet = {0, 1} := by rewrite []
I assume that a proof term is expected here, but there should still be an error (maybe my lean version is outdated).
Last updated: May 02 2025 at 03:31 UTC