-
Notifications
You must be signed in to change notification settings - Fork 47
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
Dual ereal #374
Dual ereal #374
Conversation
I'd rather keep extended reals a commutative monoid (which was the case before this PR), this is crucial for taking maximal advantage of bigops. |
I fully agree, this PR doesn't change anything about extended reals, just offers dual extended reals where -oo++oo = +oo instead of -oo. |
Sorry, I misunderstood your original post and did not open the diff. It seems reasonable to me although:
|
Also, I would integrate it within |
We use it in a formalization of Network Calculus (a static analysis for networks, used to certify embedded networks in civil aircrafts) that is based on min-plus algebra. Sorry, can't share the code yet due to licencing issues (hope to finally fix that in the coming weeks).
Would indeed make sense to enable mix use of both regular and dual versions (no idea if that can arise though). |
I think it can... and I forgot about providing correspondance lemmas under the negation |
5813096
to
739a1a9
Compare
@CohenCyril all your comments should be taken into account. |
This is rebased on top of #403, |
Just rebased this on top of master now that #403 is merged. |
@CohenCyril all notation seem to work properly (for instance |
@CohenCyril I'd like to rebase this on top of #459 once it is merged (to add lemmas about mine, the dual of maxe) |
Sure. I also think that the new convention is to use |
Indeed, done, this should now be ready. BTW, this dual add thing is used there: https://gitlab.mpi-sws.org/proux/nc-coq |
f638570
to
29f335b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, thanks!, let's rebase and merge.
rebased |
Thanks! |
In Coquelicot, -oo + +oo was defined as 0, which was nice for morphisms with opposite but terrible as addition was not even associative. In ereal.v, the addition adde is such that -oo + +oo = -oo, making it associative an such that (er R, Order.max, adde) is a semiring (the id element -oo of Order.max is a zero for adde). However, sometimes we rather need (er R, Order.min, adde) to be a semiring, with -oo + +oo = +oo. This PR offers that, I don't know if we want it in analysis?
depends on: #403(merged)