Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tej Chajed
iris
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
.
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