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

canonical_names.v overwrites a lot of standard notation #28

Open
langston-barrett opened this issue Feb 4, 2017 · 2 comments
Open

canonical_names.v overwrites a lot of standard notation #28

langston-barrett opened this issue Feb 4, 2017 · 2 comments

Comments

@langston-barrett
Copy link
Contributor

For instance = and +. This causes a ton of conflict, and has caused me to write stuff like this:

Require Import MathClasses.interfaces.canonical_names.
(* math-classes uses (=) to denote equivalence, but we will use it for equality *)
Infix "=" := eq : type_scope.
Notation "(=)" := eq (only parsing) : mc_scope.
Notation "( x =)" := (eq x) (only parsing) : mc_scope.
Notation "(= x )" := (λ y, eq y x) (only parsing) : mc_scope.

Could we perhaps separate this into two files, one that exports stuff compatible with standard notation, and one that doesn't?

@langston-barrett
Copy link
Contributor Author

For a particularly glaring example, consider the following attempt to define Le on the natural numbers:

Instance Nat_Le : Le nat := le.

This fails with the following error:

Error: Unable to satisfy the following constraints:

?Le : "Le nat"

@spitters
Copy link
Collaborator

spitters commented Jun 4, 2017

Sorry, it looks like I have been missing a lot of notifications.

In math-classes we defined our own natural numbers, so we overwrote the default notation.
I would assume that most files would still use both of the files, so I am afraid it will be difficult to change this.
However, I am happy to be proven wrong.

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