Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interaction of the trocq tactic with Coq #21

Open
ecranceMERCE opened this issue Jan 18, 2024 · 2 comments
Open

Interaction of the trocq tactic with Coq #21

ecranceMERCE opened this issue Jan 18, 2024 · 2 comments
Labels
question Further information is requested

Comments

@ecranceMERCE
Copy link
Collaborator

The definition of the trocq tactic makes use of elaboration, then typechecking, then conversion:

trocq/theories/Param.v

Lines 154 to 157 in 95f083a

std.assert-ok! (coq.elaborate-skeleton FinalProof G EFinalProof) "proof elaboration error",
std.assert-ok! (coq.typecheck EFinalProof G2) "proof typechecking error",
std.assert-ok! (coq.unify-leq G2 G) "goal unification error",
refine.no_check EFinalProof InitialGoal NewGoals

After that, refine is called without checks. Why are all these steps required, and why was the work done by hand on the Elpi side instead of delegating the checks to refine?

@ecranceMERCE ecranceMERCE added the question Further information is requested label Jan 18, 2024
@CohenCyril
Copy link
Collaborator

CC @gares

@gares
Copy link

gares commented Jan 20, 2024

The current API does not report errors nicely as you do here. Maybe it should.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants