feat: add simpDecideCbv simproc for cbv decide#12766
feat: add simpDecideCbv simproc for cbv decide#12766wkrozowski merged 8 commits intoleanprover:masterfrom
simpDecideCbv simproc for cbv decide#12766Conversation
…ce directly This PR replaces the `Decidable.decide` + `eq_true_of_decide`/`eq_false_of_decide` approach in `simpIteCbv` and `simpDIteCbv` with direct pattern matching on the `Decidable` instance for `isTrue`/`isFalse`. This produces simpler proof terms and reduces code duplication by extracting shared helpers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a dedicated cbv simproc for `Decidable.decide` that directly matches on `isTrue`/`isFalse` instances, avoiding unnecessary unfolding of the `Decidable.rec` match. Also adjust the `Decidable.rec` simpInterlaced flags to only force rewrite on the last argument. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
!bench |
|
Benchmark results for aeeee87 against 6bebf9c are in! @wkrozowski
Large changes (2✅, 2🟥)
Small changes (1✅, 1🟥)
|
|
Mathlib CI status (docs):
|
|
Reference manual CI status:
|
|
!bench |
|
Benchmark results for 45ec45e against d66aaeb are in! @wkrozowski
Large changes (1✅)
Small changes (2🟥)
|
|
!bench |
|
Benchmark results for f910f88 against d66aaeb are in! @wkrozowski
Large changes (1✅)
Medium changes (1✅)
Small changes (2🟥)
|
|
!bench |
|
Benchmark results for e6b47ba against d66aaeb are in! @wkrozowski Warning These warnings may indicate that the benchmark results are not directly comparable, for example due to changes in the runner configuration or hardware.
Small changes (2🟥)
|
|
!bench |
|
Benchmark results for e6b47ba against d66aaeb are in! @wkrozowski Warning These warnings may indicate that the benchmark results are not directly comparable, for example due to changes in the runner configuration or hardware.
Small changes (2🟥)
|
This PR adds a dedicated cbv simproc for
Decidable.decidethat directly matches onisTrue/isFalseinstances, producing simpler proof terms and avoiding unnecessary unfolding throughDecidable.rec.