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
Dan Frumin
iris-coq
Commits
24a71fb3
Commit
24a71fb3
authored
Feb 16, 2016
by
Ralf Jung
Browse files
add some basic theory about pointwise updates of total functions
parent
730a39a3
Changes
2
Hide whitespace changes
Inline
Side-by-side
_CoqProject
View file @
24a71fb3
...
...
@@ -34,6 +34,7 @@ prelude/sets.v
prelude/decidable.v
prelude/list.v
prelude/error.v
prelude/functions.v
algebra/option.v
algebra/cmra.v
algebra/cmra_big_op.v
...
...
prelude/functions.v
0 → 100644
View file @
24a71fb3
From
prelude
Require
Export
base
tactics
.
Section
definitions
.
Context
{
A
T
:
Type
}
`
{
∀
a
b
:
A
,
Decision
(
a
=
b
)
}
.
Global
Instance
fn_insert
:
Insert
A
T
(
A
→
T
)
:=
λ
a
t
f
b
,
if
decide
(
a
=
b
)
then
t
else
f
b
.
Global
Instance
fn_alter
:
Alter
A
T
(
A
→
T
)
:=
λ
(
g
:
T
→
T
)
a
f
b
,
if
decide
(
a
=
b
)
then
g
(
f
a
)
else
f
b
.
End
definitions
.
(
*
For
now
,
we
only
have
the
properties
here
that
do
not
need
a
notion
of
equality
of
functions
.
*
)
Section
functions
.
Context
{
A
T
:
Type
}
`
{
∀
a
b
:
A
,
Decision
(
a
=
b
)
}
.
Lemma
fn_lookup_insert
(
f
:
A
→
T
)
a
t
:
<
[
a
:=
t
]
>
f
a
=
t
.
Proof
.
unfold
insert
,
fn_insert
.
by
destruct
(
decide
(
a
=
a
)).
Qed
.
Lemma
fn_lookup_insert_rev
(
f
:
A
→
T
)
a
t1
t2
:
<
[
a
:=
t1
]
>
f
a
=
t2
→
t1
=
t2
.
Proof
.
rewrite
fn_lookup_insert
.
congruence
.
Qed
.
Lemma
fn_lookup_insert_ne
(
f
:
A
→
T
)
a
b
t
:
a
≠
b
→
<
[
a
:=
t
]
>
f
b
=
f
b
.
Proof
.
unfold
insert
,
fn_insert
.
by
destruct
(
decide
(
a
=
b
)).
Qed
.
Lemma
fn_lookup_alter
(
g
:
T
→
T
)
(
f
:
A
→
T
)
a
:
alter
g
a
f
a
=
g
(
f
a
).
Proof
.
unfold
alter
,
fn_alter
.
by
destruct
(
decide
(
a
=
a
)).
Qed
.
Lemma
fn_lookup_alter_ne
(
g
:
T
→
T
)
(
f
:
A
→
T
)
a
b
:
a
≠
b
→
alter
g
a
f
b
=
f
b
.
Proof
.
unfold
alter
,
fn_alter
.
by
destruct
(
decide
(
a
=
b
)).
Qed
.
End
functions
.
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