dselsam / binport

A tool for building Lean4 .olean files from Lean3 export data
Apache License 2.0
10 stars 1 forks source link

No more support for irreducible or post-facto reducible-toggling #7

Open dselsam opened 3 years ago

dselsam commented 3 years ago

Lean4 has truly opaque constants (constant), regular definitions (akin to Lean3's semireducible) and reducible definitions (abbrev or @[reducible]). It also does not support toggling these attributes after-the-fact. In contrast, Lean3 has irreducible as well, and allows arbitrary switching among reducibility types. The current mismatch is a source of major performance problems in auto-ported Mathlib, e.g. when the elaborator tries to unfold real.pi. The tentative consensus from previous discussions was that these changes should be back-ported to Mathlib (even if not enforced by Lean3 itself).