Closed pi8027 closed 3 years ago
One in apery seems more restrictive. IIUC, it works only with the case of F = rat
and does nothing with the multiplicative inverse. https://github.com/math-comp/apery/blob/c484e1f869526b78a81f0a10e1a657096eac35bb/theories/lia_tactics.v#L186-L239
Indeed, the nonzero conditions do not contain any multiplicative inverse. Also, we don't have ratmul
in MathComp. So the above restriction seems to make sense. https://github.com/coq/coq/blob/21518abcd16854525f40ed6e524c9d9148c396f0/theories/setoid_ring/Field_theory.v#L1046-L1093
I'm planning to make it work as follows:
F : numFieldType
,e1 = e2 :> F
can be turned intoe1' = e2' :> rat
by reflection, ife1
ande2
are clearly in the rational subfield ofF
,e1' = e2' :> rat
can (usually?) be turned into an integer equation, and thenThis scheme seems to work for inequations in many cases. But, if
e1
and/ore2
contain the multiplicative inverse, it would be problematic. What should I do?