[Merged by Bors] - feat: some tactics to transform hypotheses and goals to defeq expressions#5717
[Merged by Bors] - feat: some tactics to transform hypotheses and goals to defeq expressions#5717
Conversation
|
Is it a good opportunity to implement |
|
@PatrickMassot I added |
|
Here's another tactic for applying eta reduction for structures. |
|
@jeremysalwen Added |
|
Wow thanks! I learned a lot from reading your code too! |
|
LGTM I guess at a later date we could add eta expansion for structures (that isn't already covered here right?) i.e. |
…lib4 into kmill_defeq_tactics
|
bors d+ |
|
✌️ kmill can now approve this pull request. To approve and merge a pull request, simply reply with |
|
bors r+ |
…ions (#5717) This provides a function to create a tactic from any `Expr → MetaM Expr` that maps expresions to defeq expressions. The tactic handles the standard location processing. Also provides some tactics: `whnf`, `beta_reduce`, `reduce`, `unfold_let`, `unfold_projs`, `eta_reduce`, and `eta_expand`. Some of these (like `whnf`) are more useful in high-level tactic scripts or for exploration than in actual finished proofs. The `unfold_let` tactic is useful for finer-grained zeta reduction (a.k.a. substituting in the values of let-bound hypotheses) and for providing a working alternative to `unfold` for local bindings.
|
Build failed:
|
|
bors r+ |
…ions (#5717) This provides a function to create a tactic from any `Expr → MetaM Expr` that maps expresions to defeq expressions. The tactic handles the standard location processing. Also provides some tactics: `whnf`, `beta_reduce`, `reduce`, `unfold_let`, `unfold_projs`, `eta_reduce`, and `eta_expand`. Some of these (like `whnf`) are more useful in high-level tactic scripts or for exploration than in actual finished proofs. The `unfold_let` tactic is useful for finer-grained zeta reduction (a.k.a. substituting in the values of let-bound hypotheses) and for providing a working alternative to `unfold` for local bindings.
|
Pull request successfully merged into master. Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
This provides a function to create a tactic from any
Expr → MetaM Exprthat maps expresions to defeq expressions. The tactic handles the standard location processing.Also provides some tactics:
whnf,beta_reduce,reduce,unfold_let,unfold_projs,eta_reduce, andeta_expand. Some of these (likewhnf) are more useful in high-level tactic scripts or for exploration than in actual finished proofs. Theunfold_lettactic is useful for finer-grained zeta reduction (a.k.a. substituting in the values of let-bound hypotheses) and for providing a working alternative tounfoldfor local bindings.