Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joshua Yanovski
iris-coq
Commits
71dd8f63
Commit
71dd8f63
authored
Feb 22, 2016
by
Ralf Jung
Browse files
make fn_cons universe polymorphic... otherwise, I run into universe errors :-/
parent
37713a6a
Changes
1
Hide whitespace changes
Inline
Side-by-side
prelude/functions.v
View file @
71dd8f63
...
...
@@ -31,23 +31,19 @@ Section functions.
End
functions
.
(
**
"Cons-ing"
of
functions
from
nat
to
T
*
)
Section
fcons
.
Context
{
T
:
Type
}
.
Polymorphic
Definition
fn_cons
{
T
:
Type
}
(
t
:
T
)
(
f
:
nat
→
T
)
:
nat
→
T
:=
λ
n
,
match
n
with
|
O
=>
t
|
S
n
=>
f
n
end
.
Definition
fn_cons
(
t
:
T
)
(
f
:
nat
→
T
)
:
nat
→
T
:=
λ
n
,
match
n
with
|
O
=>
t
|
S
n
=>
f
n
end
.
Definition
fn_mcons
(
ts
:
list
T
)
(
f
:
nat
→
T
)
:
nat
→
T
:=
Polymorphic
Definition
fn_mcons
{
T
:
Type
}
(
ts
:
list
T
)
(
f
:
nat
→
T
)
:
nat
→
T
:=
fold_right
fn_cons
f
ts
.
End
fcons
.
Infix
".::"
:=
fn_cons
(
at
level
60
,
right
associativity
)
:
C_scope
.
Infix
".++"
:=
fn_mcons
(
at
level
60
,
right
associativity
)
:
C_scope
.
Lemma
fn_mcons_app
{
T
:
Type
}
(
ts1
ts2
:
list
T
)
f
:
Polymorphic
Lemma
fn_mcons_app
{
T
:
Type
}
(
ts1
ts2
:
list
T
)
f
:
(
ts1
++
ts2
)
.
++
f
=
ts1
.
++
(
ts2
.
++
f
).
Proof
.
unfold
fn_mcons
.
rewrite
fold_right_app
.
done
.
...
...
Write
Preview
Supports
Markdown
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