Comments (4)
Just to add to the list of weird things that happen with these kinds of examples, if I change the above test case by swapping the order of num and sum (that is, replacing Equations num ... where sum ...
with Equations sum ... where num ...
), then I get
Recursive definition of sum is ill-formed.
In environment
sum : forall f : foo, (foo_type f -> nat) -> forall fs : list foo, compact_prod (map foo_type (f :: fs)) -> nat
f : foo
numf : foo_type f -> nat
fs : list foo
f0 : foo
l : list foo
val : compact_prod (map foo_type (f :: f0 :: l))
num : forall f : foo, foo_type f -> nat
f1 : foo
l0 : list foo
f2 : foo
l1 : list foo
val0 : foo_type (List (f2 :: l1))
Recursive call to sum has principal argument equal to "l1" instead of "l".
Recursive definition is:
"fun (f : foo) (numf : foo_type f -> nat) (fs : list foo) =>
sum_functional sum (fix num (f0 : foo) : foo_type f0 -> nat := num_functional sum num f0) f numf fs".
from coq-equations.
See also the "P.S." comment in #93 for an example of what makes a difference in seeing or not seeing this issue.
from coq-equations.
This appears to be fixes in the latest v8.8
from coq-equations.
Indeed, it's similar to #105
from coq-equations.
Related Issues (20)
- Notation conflict with standard library HOT 1
- Please pick the version you prefer for Coq 8.16 in Coq Platform 2022.09 HOT 1
- Exception on invalid syntax
- Merely `Require Equations.Prop.Equations.` breaks the derive plugin shipped in Coq's standard library
- [feature request] Attributes #[transparent/opaque]
- Hang / unlimited memory use with `simp` on trivial function not occurring in Goal HOT 1
- Please pick the version you prefer for Coq 8.17 in Coq Platform 2023.03 HOT 1
- Recursive definition is ill-formed HOT 1
- Anomaly "in Univ.repr: Universe MetaCoq.SafeChecker.PCUICSafeConversion.12667 undefined." Please report at http://coq.inria.fr/bugs/ HOT 2
- Anomaly "in Univ.repr: Universe Var(0) undefined." with `Derive Signature NoConfusion EqDec for Var.`
- `List.chop` throws an exception when a recursive call is missing a parameter
- Please pick the version you prefer for Coq 8.18 in Coq Platform 2023.10 HOT 4
- Many links broken on http://mattam82.github.io/Coq-Equations/ HOT 1
- Potential Bug that crashes coqtop
- Documentation mentions non-existing symbols HOT 1
- Generated elimination principle is missing some induction hypotheses
- Failure to prove functional induction
- Warnings can't be unset
- Crash with Coq 8.19
- Please pick the version you prefer for Coq 8.19 in Coq Platform 2024.01 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coq-equations.