Zulip Chat Archive

Stream: mathlib4

Topic: New `aesop` error with module system


Artie Khovanov (Dec 20 2025 at 19:08):

After merging master in #32852, I get a new error

aesop: error in norm simp: Unknown constant `_private.Mathlib.Algebra.Order.Support.0.Submonoid.mem_supportSubgroup._simp_4`

I suspect this is something to do with the interaction of the new module system, to_additive, and aesop, but I don't know how to isolate the issue let alone suggest a fix.

My reasoning:

  1. Submonoid.mem_supportSubgroup works fine as an aesop rule in the file it's defined in.
  2. Submonoid.mem_supportSubgroup breaks any aesop proofs that attempt to invoke it in downstream files.
  3. Submonoid.mem_supportSubgroup is registered as an aesop rule using @[to_additive (attr := aesop simp)]. When it is registered without using to_additive, it works fine in downstream files.
  4. Submonoid.mem_supportSubgroup works fine in my personal repository, where I don't have modules enabled.

I tried using set_option backward.privateInPublic true but that didn't help.

Artie Khovanov (Dec 20 2025 at 19:30):

Update never mind I was using set_option backward.privateInPublic true wrong. It fixes the issue when applied to the rule declaration (as opposed to the rule use).


Last updated: Dec 20 2025 at 21:32 UTC