This repository has been archived by the owner on Jun 9, 2021. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
performance improvements to prove_refinement...
- totally remove `MaybeDestructArg` - instead, induction is triggered for each datatype in specific cases which are added to the hint database totally normally - infinite induction loops are avoided using dummy datatype `DidInduction` - add `NoRewrite` option to `prove_refinement`, clean up the definitions of `prove_refinement` and its variants - tweak when equalities are actually rewritten - only inject and disciminate equalities on known constructor pairings - replace `apply IntroArg_unfold; intro e` with just `intro e` - replace all instances of `rewrite`s on known lemmas in `Hint Externs` with `apply` on a new lemma whose proof is just rewriting by the original lemma (this is faster since `rewrite` is slow) - replace some instances of `Hint Resolve` with `Hint Extern` - replace `autorewrite with SAWCoreBitvectors` with explicit rules on `IntroArg`s and a much smaller `autorewrite with SAWCoreBitvectors_eqs` - re-define `bvNat` in a way that makes it work with `compute_bv_funs`
- Loading branch information