Zulip Chat Archive

Stream: mathlib4

Topic: MeasureTheory.Measure.Lebesgue.Basic !4#4552


Pol'tta / Miyahara Kō (Jun 02 2023 at 04:05):

In Lean 4, the following tc search fails, even if we make volume reducible in MeasureSpaceDef.

variable [Fintype ι]
#synth SigmaFinite (volume : Measure (ι  ))
-- fails
#synth SigmaFinite (Measure.pi fun _ => volume : Measure (ι  ))
-- defeq and succeeds
#synth AddLeftInvariant (volume : Measure (ι  ))
-- fails
#synth AddLeftInvariant (Measure.pi fun _ => (stdOrthonormalBasis  ).toBasis.addHaar : Measure (ι  ))
-- defeq and succeeds

These instances are required in this file.
This file can be built by specifying latter measures now, but this should be fixed clearly.
Does anyone know how to fix this?

Yury G. Kudryashov (Jun 02 2023 at 05:27):

Which instance does Lean 3 find?

Pol'tta / Miyahara Kō (Jun 02 2023 at 08:41):

@Yury G. Kudryashov The both. (SigmaFinite & AddLeftInvariant)

Eric Wieser (Jun 02 2023 at 09:06):

I think Yury is asking what is found, not whether the above succeed

Pol'tta / Miyahara Kō (Jun 02 2023 at 12:23):

Sorry.
SigmaFinite...MeasureTheory.Measure.pi.sigmaFinite in MeasureTheory.Constructions.Pi
AddLeftInvariant...MeasureTheory.Pi.isAddLeftInvariant_volume in MeasureTheory.Constructions.Pi

Pol'tta / Miyahara Kō (Jun 02 2023 at 12:24):

These are aligned names.

Yury G. Kudryashov (Jun 02 2023 at 14:57):

I meant something like

lemma aux : sigma_finite (volume : measure (ι  )) := by apply_instance
#print aux

Yury G. Kudryashov (Jun 02 2023 at 14:57):

(in Lean 3)

Yury G. Kudryashov (Jun 02 2023 at 14:57):

There is more than 1 way to prove this instance.

Yury G. Kudryashov (Jun 02 2023 at 14:57):

I wonder which one works in Lean 3 and fails in Lean 4.

Yury G. Kudryashov (Jun 02 2023 at 16:09):

If Lean 3 can see through volume and Lean 4 can't, then we should duplicate each instance about Measure.prod and Measure.pi for MeasureSpaces.


Last updated: Dec 20 2023 at 11:08 UTC