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

Singleton types for factors and cyclic groups #169

Merged
merged 2 commits into from
Jul 25, 2019
Merged

Singleton types for factors and cyclic groups #169

merged 2 commits into from
Jul 25, 2019

Conversation

Bodigrim
Copy link
Owner

@Bodigrim Bodigrim commented Jul 1, 2019

This PR introduces singleton types for factors and cyclic groups, which maintain a link between a type-level modulo and a term-level value (factorisation or structure of respective cyclic group). It closes #154 and is a major redesign of cyclic groups and primitive roots API.

It also affects modular square roots and modular equations, providing an ergonomical way to have a type-level proof that all computations are for the same modulo, without compromising performance by repetitive factorisation of modulo.

@b-mehta could you please review this in your spare time?

@Bodigrim Bodigrim merged commit e601a6f into Bodigrim:master Jul 25, 2019
@Bodigrim Bodigrim deleted the singleton branch July 25, 2019 22:45
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

Successfully merging this pull request may close these issues.

Improve return type of isPrimitiveRoot'
1 participant