Comments (5)
[deleted comment]
from agda.
[deleted comment]
from agda.
There is probably a problem with constraint solving, but the example above
isn't it.
There was a problem with the unifying substitution not being applied properly
(fixed), but there's also a problem with the example. A simpler version:
data D : (k : K)(t : T k) -> Set where
c : (k : K) -> D k (f k)
foo : D a ta -> Set
foo (c a) = K
This is actually not correct. When matching on D a ta the argument to c is
determined
by typechecking (before you get a chance to match on it) so it should be dotted:
foo (c .a) = K
Original comment by [email protected]
on 24 Oct 2007 at 12:15
- Changed state: New
from agda.
Here's an example of the problem:
data Nat : Set where
zero : Nat
suc : Nat -> Nat
_+_ : Nat -> Nat -> Nat
zero + m = m
suc n + m = suc (n + m)
data T : Nat -> Nat -> Set where
c : (x : Nat) -> T x zero
foo : (n m : Nat) -> T (n + m) n -> Set
foo ._ ._ (c m) = Nat
If you flip the arguments to T it goes through.
Original comment by [email protected]
on 24 Oct 2007 at 12:31
- Changed state: Accepted
from agda.
Original comment by [email protected]
on 24 Oct 2007 at 2:15
- Changed state: Fixed
from agda.
Related Issues (20)
- Reexported instances lose overlap flags
- Shape-irrelevance without-K broken by Agda 2.6.2 HOT 2
- Error "This clause has target type ... which is not usable" highlights pattern instead of clause
- Internal error at Agda/TypeChecking/Substitute.hs:140:33 HOT 5
- --type-based-termination does not process postulates HOT 3
- --type-based-termination: --size-preservation analysis comes too late for nested functions
- `--no-syntax-based-termination` turns on `--type-based-termination`, but should not HOT 2
- TBT: Bug in size preservation regarding postulates
- TBT: Bug in size preservation regarding local definitions HOT 3
- TBT accepts non-terminating function that makes Agda loop in the injectivity checker
- TBT: do not count rhs `j : Size< i` towards `j < i` in termination
- TBT: no function nor calls listed in termination error
- TBT: internal error in function `smallerOrEq` HOT 1
- TBT does not termination-check record type definitions
- TBT: no termination error with `--double-check`
- Hard error on `instance` definition with unsolved type
- Compatibiilty of partial elements defined using cubical face lattice generators with reflextion machinery
- `--lossy-unification` doesn't fall back to regular unification when literals are used HOT 1
- Latex backend/package bug: `! Package array Error: Empty preamble: 'l' used.` HOT 4
- Recursion with records HOT 1
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 agda.