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

Adapt ring tactic to HoTT #2093

Open
Alizter opened this issue Sep 20, 2024 · 2 comments
Open

Adapt ring tactic to HoTT #2093

Alizter opened this issue Sep 20, 2024 · 2 comments

Comments

@Alizter
Copy link
Collaborator

Alizter commented Sep 20, 2024

          > As an aside, it would be great to have some "reflection" tools in Coq-HoTT that let us quickly solve all of these goals involving group and ring laws. I heard that the Cubical Agda library has recently added such things, and of course there's lots of work of this nature done in Coq. I wonder if any of it can be easily imported into Coq-HoTT?

We have some ring reflection tactics already in the library. Though it is from mathclasses so I don't know how easy it would be to get working with the main algebra library. Coq also has its own ring tactics that can solve polynomial expressions in semirings. I don't know if it relies on the stdlib in anyway, but it would be interesting to see if we can adapt its usage here. I'll create an issue.

The key detail with adapting the ring tacitcs is to produce a normalization/reification procedure for semiring expressions together with proofs of correctness. mathcomp also adapts the ring tactic in a custom way, here is their code: https://github.com/math-comp/algebra-tactics/blob/master/theories/common.v

Originally posted by @Alizter in #2089 (comment)

@SkySkimmer
Copy link
Collaborator

Though it is from mathclasses

It is not, mathclasses uses the Coq stdlib ring tactic.
https://github.com/HoTT/Coq-HoTT/blob/master/theories/Classes/tactics/ring_tac.v is a custom job for hott

@Alizter
Copy link
Collaborator Author

Alizter commented Sep 20, 2024

Ok great, then the most sensible thing to do would be to investigate how to get it to interact nicely with the Algebra library.

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

No branches or pull requests

2 participants