-
Notifications
You must be signed in to change notification settings - Fork 30
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
Removing the _CoqProject compile option -notation-incompatible-prefix #230
Removing the _CoqProject compile option -notation-incompatible-prefix #230
Conversation
lots of warnings ATM
…d of ∀/∃) and in membership, notations for pairs, orderedpairs etc, changing ≋ to ≅
…v x) (ie big step semantics for recalg) because of incompatibilities with ListNotations. Notice that the notation is kept ONLY (locally) for the definition of ra_bs to make it more readable.
Btw, what about [Edit: DmxLarchey] Sorry I made a mess editing your comment instead of commenting it ... |
There is some from What is wrong with "overriding" notations? For instance Hence you have to look in the context to understand what |
@mrhaandi Btw thinking a bit more about it, I find it bizarre to push for having NOT While I understand why such an option exists, Coq itself uses overridden or ambiguous notations all over the place. For instance:
Goal forall (X : Type) (P : X -> Prop) x, P x -> False.
Proof.
intros X P.
Fail intros _ H. (* introduce then discards. Fails if dependencies prevents discarding *)
refine (fun _ H => _). (* introduce w/o specifying a name, hence same as intros ? H. *)
Check (exist _ _ H). (* let unification fill the gaps *)
Admitted. Hence I think we should not accept w/o criticism every new warning that pops up just become some developer had a new idea of what "ideal code" should be. |
I agree that it is a bad idea to have to invent alternatives to I also agree that My main motivation to have warning-free code that it does avoid some pitfalls when composing reductions. |
Solved Warning issues related to the
-notation-incompatible-prefix
compile option:FOL/TRAKHTENBROT/*
, replaced (object level) FOL quantifier∀₁/∃₁
, instead of∀/∃
which was obviously in conflict with Coq (meta) level quantifiers;membership.v
, changed notations for pairs, orderedpairs etc, changing≋
to≅
;ILL/*
, change priority for£
letting Coq decide for itself, avoiding warning about wrong level;MuRec
removed the (globally defined) notation[ f ; v ] ▹ x
forra_bs f v x
, ie big step semantics forrecalg
, because of incompatibilities withListNotations
. Notice that the notation is kept ONLY (locally) for the definition ofra_bs
to make it more readable.As far I as checked, there are no remaining warnings.