You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Crush improvements: add wp split rules, automatic eta-expansion, more branch control
Various improvements to crush proof automation:
1. Definitions added to `simp [prems,concls] add:` now work for definitions of the
form `some_def \equiv \lambda x. `: these are now automatically eta-expanded
2. Add a `wp split:` parameter to `crush`. This accepts the same arguments as
`split:`, but only applies them when the top-level expression in a WP statement
get stuck on the split.
3. Guard the crush branches `crush_branch_base_simps_early_unfold` and
`crush_branch_base_detect_aentails_contradiction` with a configuration option. This
is helpful when debugging/speeding up long-running crush calls.
4. Change SSA normalization from top-down to bottom-up. This avoids having to define
new SSA rules for additional datatypes.
5. No longer drop premises marked `ASSUMPTION` in the MePo filter
6. Add a configuration option `crush_stop_at_full_blown_clarsimp` to make crush stop
whenever it would otherwise apply a full-blown clarsimp. This makes it easier to
figure out why such last-resort full-blown clarsimps happen.
Signed-off-by: Ike Mulder <ikemul@amazon.com>
0 commit comments