imdea-software / fcsl-pcm Goto Github PK
View Code? Open in Web Editor NEWPartial Commutative Monoids
License: Apache License 2.0
Partial Commutative Monoids
License: Apache License 2.0
Note that since this development uses the namespace/directory fcsl
(and not, say, fcslpcm
or fcsl_pcm
), it would conflict with any other (OPAM) package in the future that also uses the namespace fcsl
. For example, if I first installed both coq-fcsl-pcm
and the other hypothetical package via OPAM, and then removed coq-fcsl-pcm
, the other package's files would be removed also. Are you sure this won't be an issue in the future, i.e., that there will be no packaging of other FCSL code?
Current version has been growing "organically" as a part of pcm/natmap.v
, it could use some tidying up.
Why not just have the contents of Make
in _CoqProject
and use the latter as argument to coq_makefile
? This both gives a canonical definition of namespaces/files and allows IDEs like ProofGeneral and coqide to find the files.
Both finmap/ordtype.v
and pcm/heap.v
have a lemma called path_last
, with different meanings. This causes the importing order of files to matter, and proofs to break when the importing order is changed. Any chance the lemma in pcm/heap.v
could get a different name?
Hi folks,
as per @ggonthier detailed analysis here, current fcsl-pcm is broken in math-comp master which in turn makes it broken in Coq's CI.
Could you please apply the suggested fix?
Thanks!
Are there any plans for to support MathComp 2.0? It would be nice to port Disel to MathComp 2.0, but then I need both FCSL PCM and HTT to have releases compatible with 2.0.0 or later. See porting guide.
We use some of the future mathcomp 1.10.0's features, so fcsl-pcm's master branch only compiles with mathcomp's master
Any chance for marking some opam package (either the one in extra-dev
, or the one for 1.2.0, or even the repo one) as compatible with Coq 8.12? Currently, there is no way for me to test in CI that Disel works with 8.12 via opam, despite that it works fine locally with 8.12+beta1.
According to my quick evaluation, fcsl-pcm
works fine with the recently released Coq 8.8.0 and mathcomp 1.7. Any chance to get this reflected in the OPAM package in the Coq OPAM repository? No new release should be required, just new dependencies along the lines of
"coq" {>= "8.7" & < "8.9~"}
"coq-mathcomp-ssreflect" {>= "1.6.2" & < "1.8~"}
would be sufficient.
Please make your project compile with -w "+compatibility-notation"
to prepare for the Coq 8.9 release. We would appreciate if this could be done ASAP. If you have trouble doing so, please raise your concern at coq/coq#8383.
math-comp/math-comp@d60c67b "Change the order of arguments in ltngtP
"
used
Line 296 in e565b80
Note that this breaks Coq's CI
Consider the following alternative definition of undefx
in automap.v where the first false
is changed to true
:
Definition undefx i t :=
if t is Var n then
if onth (varx i) n is Some x then undefb x else true
else false.
All proofs, at least in fcsl-pcm, pass with this definition. Is there some proof in the full fcsl which proves something about the "vacuous" case when onth (varx i) n = None
, or is there some intuition why this case should be false
and not true
?
I think 1.3.0 and thus this commit might work 8443f7e35f70c73b6185beeab427d516feb43747
.
Actually, maybe this one fab4dfe3ca58ecf8aefeb8fa4ac4a2659b231f24
.
I have run the following command:
opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-fcsl-pcm .
However, the following error is still encountered when running "From pcm Require Import pred.
":
Error: Cannot find a physical path bound to logical path pred with prefix pcm.
I dont know that is why
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.