Zulip Chat Archive

Stream: mathlib4

Topic: abbrev and fun_prop


Sébastien Gouëzel (Sep 05 2024 at 13:08):

I thought that abbrev was supposed to be transparent for most things, but it turns out it is not the case for fun_prop:

import Mathlib
variable {α : Type*} [MeasurableSpace α]
lemma foo : Measurable (id : α  α) := by fun_prop -- works
abbrev my_id (α : Type*) [MeasurableSpace α] : α  α := id
lemma bar : Measurable (my_id α) := by fun_prop -- fails

Is that something that can/should be fixed? @Tomas Skrivan , what do you think?

Tomas Skrivan (Sep 05 2024 at 13:20):

Yes this should be fixed, transparency is something I struggle with all the time.

Jireh Loreaux (Sep 05 2024 at 15:00):

probably just missing a whnfR somewhere.

Tomas Skrivan (Sep 05 2024 at 15:59):

Fixed in #16512

Tomas Skrivan (Sep 05 2024 at 17:31):

Ugh a test broke, I know what is going on but it will take some time to fix it.

Tomas Skrivan (Sep 05 2024 at 19:32):

The fix passes CI now :)

Tomas Skrivan (Sep 06 2024 at 01:14):

While we are at fixing fun_prop. Can I get attention/review to #16371 which fixes some issues with let bindings and free variables.


Last updated: May 02 2025 at 03:31 UTC