-
Notifications
You must be signed in to change notification settings - Fork 2
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
Magic number 100%N
used as "fuel" in reflexive normalization (?)
#57
Comments
|
Oh my god no 😱 Could you use some binary encoding so to give as fuel something really big. |
I remember in Buchberger I was using some fuel with a double recursion.
|
The actual code that requires this fuel is, I guess, these functions in I'm not going to change them. But, it seems to me that |
is this the code that handles the substitution of |
Yes, I think so, and my main problem is that I have no idea how big this fuel should be.
It works without any problem: Goal forall (R : comRingType) (x : R), x = 1 -> x ^+ 101 = 1.
Proof. by move=> R x; ring. Qed.
Goal forall (R : comRingType) (x : R), x = 1 -> x ^+ 10000 = 1.
Proof. by move=> R x; ring. Qed. |
you don't need to say explicitely to use the assumption? |
If the goal is implication |
this is dangerous! |
Aha, I thought it was more intelligent. I will try to produce such an example. |
I should investigate this at some point, but I'm not sure if 100 is large enough:
algebra-tactics/theories/ring.v
Line 654 in 0b8356c
Coq uses 1000 instead:
https://github.com/coq/coq/blob/110921a449fcb830ec2a1cd07e3acc32319feae6/theories/setoid_ring/Ring_tac.v#L340
I think we should at least give a constant name to this number as in Coq.
The text was updated successfully, but these errors were encountered: