Add a with_eta checker flag, and trusted implementation in safeconversion#1260
Open
mattam82 wants to merge 1 commit into
Open
Add a with_eta checker flag, and trusted implementation in safeconversion#1260mattam82 wants to merge 1 commit into
mattam82 wants to merge 1 commit into
Conversation
TheoWinterhalter
left a comment
Member
There was a problem hiding this comment.
I like the idea very much!
…sion Eta-conversion is done the same way as in Rocq's conversion checker by expanding `G |- fun x : A => f ~= v` (with v weak-head irreducible) to `G, x : A |- f ~= v x` (if I did not make a mistake ;). A new `MetaRocq UnsafeCheck foo` command is available in the plugin, setting the checker_flag. This adds an axiom saying `with_eta = true -> False` as a shorcut to fill all the proofs. The default checker flags used for proofs everywhere have `with_eta = false` of course.
38f4b1f to
4e129f7
Compare
Member
|
Looks cool! What's the one goal which is "clearly false"? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Eta-conversion is done the same way as in Rocq's conversion checker by expanding
G |- fun x : A => f ~= v(with v weak-head irreducible) toG, x : A |- f ~= v x(if I did not make a mistake ;). A newMetaRocq UnsafeCheck foocommand is available in the plugin, setting the checker_flag. This adds an axiom sayingwith_eta = true -> Falseas a shorcut to fill all the proofs. The default checker flags used for proofs everywhere havewith_eta = falseof course.I'd like to have this mainly for performance experiments, allowing to run on larger developments (as long as they don't use template-poly... for now). @TheoWinterhalter can you check this is the right way to inject eta in the algorithm?