Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
C
cpdt
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
research
cpdt
Commits
fbd343b0
Commit
fbd343b0
authored
Jan 20, 2013
by
Adam Chlipala
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pass through Chapter 7
parent
5dc3468b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1 addition
and
1 deletion
+1
-1
GeneralRec.v
src/GeneralRec.v
+1
-1
No files found.
src/GeneralRec.v
View file @
fbd343b0
...
...
@@ -901,7 +901,7 @@ Definition testCurriedAdd := Bnd (curriedAdd 2) (fun f => f 3).
Error:
Universe
inconsistency
.
>>
The
problem
has
to
do
with
rules
for
inductive
definitions
that
we
st
ill
study
in
more
detail
in
Chapter
12.
Briefly
,
recall
that
the
type
of
the
constructor
[
Bnd
]
quantifies
over
a
type
[
B
]
.
To
make
[
testCurriedAdd
]
work
,
we
would
need
to
instantiate
[
B
]
as
[
nat
->
comp
nat
]
.
However
,
Coq
enforces
a
%
\
emph
{
predicativity
restriction
}%
that
(
roughly
)
no
quantifier
in
an
inductive
or
co
-
inductive
type
'
s
definition
may
ever
be
instantiated
with
a
term
that
contains
the
type
being
defined
.
Chapter
12
presents
the
exact
mechanism
by
which
this
restriction
is
enforced
,
but
for
now
our
conclusion
is
that
[
comp
]
is
fatally
flawed
as
a
way
of
encoding
interesting
higher
-
order
functional
programs
that
use
general
recursion
.
*
)
The
problem
has
to
do
with
rules
for
inductive
definitions
that
we
w
ill
study
in
more
detail
in
Chapter
12.
Briefly
,
recall
that
the
type
of
the
constructor
[
Bnd
]
quantifies
over
a
type
[
B
]
.
To
make
[
testCurriedAdd
]
work
,
we
would
need
to
instantiate
[
B
]
as
[
nat
->
comp
nat
]
.
However
,
Coq
enforces
a
%
\
emph
{
predicativity
restriction
}%
that
(
roughly
)
no
quantifier
in
an
inductive
or
co
-
inductive
type
'
s
definition
may
ever
be
instantiated
with
a
term
that
contains
the
type
being
defined
.
Chapter
12
presents
the
exact
mechanism
by
which
this
restriction
is
enforced
,
but
for
now
our
conclusion
is
that
[
comp
]
is
fatally
flawed
as
a
way
of
encoding
interesting
higher
-
order
functional
programs
that
use
general
recursion
.
*
)
(
**
*
Comparing
the
Alternatives
*
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment