-
Notifications
You must be signed in to change notification settings - Fork 1
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
Mapping for int_div, int_rem and bunch of other int notions #6
Conversation
732b937
to
bf3658e
Compare
Co-authored-by: Alessio Coltellacci <[email protected]>
Co-authored-by: Alessio Coltellacci <[email protected]>
Co-authored-by: Alessio Coltellacci <[email protected]>
bf3658e
to
5640847
Compare
Thank you @TheoWinterhalter ! |
|
||
Lemma int_lcm_def : | ||
int_lcm = | ||
(fun _30961 : prod Z Z => @COND Z ((Z.mul (@fst Z Z _30961) (@snd Z Z _30961)) = (Z_of_N (NUMERAL 0%N))) (Z_of_N (NUMERAL 0%N)) (Z.div (Z.abs (Z.mul (@fst Z Z _30961) (@snd Z Z _30961))) (int_gcd (@pair Z Z (@fst Z Z _30961) (@snd Z Z _30961))))). |
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.
Hi. In fact, there is a problem with this lemma as div is mapped above to Zdiv and not Z.div. What is the difference between these two functions? How to fix this lemma if one replaces Z.div by Zdiv?
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.
Solved in #9.
* add tactics developed by Théo (Deducteam/coq-hol-light#6) * structure proof scripts * add alignments of even, odd and WF * add alignment of factorial Co-authored-by: Théo Winterhalter <[email protected]> Co-authored-by: Frédéric Blanqui <[email protected]>
This PR proposes multiple alignments, mostly for integers, and sometimes for some real notions that are required as dependencies.
I also proved some util lemmas for
COND
and I don't know where to put them. Maybe the code should be refactored to use otherCOND
lemmas instead.This PR also introduces some handy tactics such as
ext
to performapply fun_ext
followed byintro
and a tacticalign_ε
to prove equalities where the RHS isε
applied to an arbitrary number of arguments, and getting rid of those that are useless like tags (then the proof doesn't have to even mention it).The work on
Z.lcm
was a collaboration with @NotBad4U.