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
Rodolphe Lepigre
Iris
Commits
2ad23105
Commit
2ad23105
authored
Feb 01, 2015
by
Ralf Jung
Browse files
get rid of the "inner" module, use an opaque WorldProp instead
parent
5b22c4cf
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
2ad23105
...
...
@@ -14,7 +14,7 @@
#
# This Makefile was generated by the command line :
# coq_makefile lib/ModuRes -R lib/ModuRes ModuRes core_lang.v iris.v iris_core.v lang.v masks.v world_prop.v
world_prop_sig.v
-o Makefile
# coq_makefile lib/ModuRes -R lib/ModuRes ModuRes core_lang.v iris.v iris_core.v lang.v masks.v world_prop.v -o Makefile
#
.DEFAULT_GOAL
:=
all
...
...
@@ -85,8 +85,7 @@ VFILES:=core_lang.v\
iris_core.v
\
lang.v
\
masks.v
\
world_prop.v
\
world_prop_sig.v
world_prop.v
-include
$(addsuffix .d,$(VFILES))
.SECONDARY
:
$(addsuffix .d
,
$(VFILES))
...
...
iris_core.v
View file @
2ad23105
Require
Import
world_prop
_sig
core_lang
lang
masks
.
Require
Import
world_prop
core_lang
lang
masks
.
Require
Import
ModuRes
.
PCM
ModuRes
.
UPred
ModuRes
.
BI
ModuRes
.
PreoMet
ModuRes
.
Finmap
.
Module
IrisRes
(
RL
:
PCM_T
)
(
C
:
CORE_LANG
)
<
:
PCM_T
.
...
...
@@ -10,10 +10,9 @@ Module IrisRes (RL : PCM_T) (C : CORE_LANG) <: PCM_T.
End
IrisRes
.
Module
Iris
(
RL
:
PCM_T
)
(
C
:
CORE_LANG
).
Module
Import
R
:
=
IrisRes
RL
C
.
Module
IrisInner
(
WP
:
WORLD_PROP
R
).
Module
Import
L
:
=
Lang
C
.
Import
WP
.
Module
Import
R
:
=
IrisRes
RL
C
.
Module
Import
WP
:
=
WorldProp
R
.
Delimit
Scope
iris_scope
with
iris
.
Local
Open
Scope
iris_scope
.
...
...
@@ -409,9 +408,6 @@ Module IrisInner (WP : WORLD_PROP R).
End
Erasure
.
Check
erasure
.
Notation
" p @ k "
:
=
((
p
:
UPred
())
k
tt
)
(
at
level
60
,
no
associativity
).
End
IrisInner
.
End
Iris
.
world_prop.v
View file @
2ad23105
...
...
@@ -3,8 +3,34 @@
Require
Import
ModuRes
.
PreoMet
ModuRes
.
MetricRec
ModuRes
.
CBUltInst
.
Require
Import
ModuRes
.
Finmap
ModuRes
.
Constr
.
Require
Import
ModuRes
.
PCM
ModuRes
.
UPred
ModuRes
.
BI
.
Require
Import
world_prop_sig
.
(* This interface keeps some of the details of the solution opaque *)
Module
Type
WORLD_PROP
(
Res
:
PCM_T
).
(* PreProp: The solution to the recursive equation. Equipped with a discrete order *)
Parameter
PreProp
:
cmtyp
.
Instance
PProp_preo
:
preoType
PreProp
:
=
disc_preo
PreProp
.
Instance
PProp_pcm
:
pcmType
PreProp
:
=
disc_pcm
PreProp
.
Instance
PProp_ext
:
extensible
PreProp
:
=
disc_ext
PreProp
.
(* Defines Worlds, Propositions *)
Definition
Wld
:
=
nat
-
f
>
PreProp
.
Definition
Props
:
=
Wld
-
m
>
UPred
Res
.
res
.
(* Define all the things on Props, so they have names - this shortens the terms later *)
Instance
Props_ty
:
Setoid
Props
:
=
_
.
Instance
Props_m
:
metric
Props
:
=
_
.
Instance
Props_cm
:
cmetric
Props
:
=
_
.
Instance
Props_preo
:
preoType
Props
:
=
_
.
Instance
Props_pcm
:
pcmType
Props
:
=
_
.
(* Establish the recursion isomorphism *)
Parameter
ı
:
PreProp
-
t
>
halve
(
cmfromType
Props
).
Parameter
ı
'
:
halve
(
cmfromType
Props
)
-
t
>
PreProp
.
Axiom
iso
:
forall
P
,
ı
'
(
ı
P
)
==
P
.
Axiom
isoR
:
forall
T
,
ı
(
ı
'
T
)
==
T
.
End
WORLD_PROP
.
(* Now we come to the actual implementation *)
Module
WorldProp
(
Res
:
PCM_T
)
:
WORLD_PROP
Res
.
(** The construction is parametric in the monoid we choose *)
...
...
world_prop_sig.v
deleted
100644 → 0
View file @
5b22c4cf
(* For some reason, the order matters. We cannot import Constr last. *)
Require
Import
ModuRes
.
Finmap
ModuRes
.
Constr
ModuRes
.
MetricRec
.
Require
Import
ModuRes
.
PCM
ModuRes
.
UPred
ModuRes
.
BI
ModuRes
.
PreoMet
.
Module
Type
WORLD_PROP
(
Res
:
PCM_T
).
Import
Res
.
(* PreProp: The solution to the recursive equation. Equipped with a discrete order *)
Parameter
PreProp
:
cmtyp
.
Instance
PProp_preo
:
preoType
PreProp
:
=
disc_preo
PreProp
.
Instance
PProp_pcm
:
pcmType
PreProp
:
=
disc_pcm
PreProp
.
Instance
PProp_ext
:
extensible
PreProp
:
=
disc_ext
PreProp
.
(* Defines Worlds, Propositions *)
Definition
Wld
:
=
nat
-
f
>
PreProp
.
Definition
Props
:
=
Wld
-
m
>
UPred
res
.
(* Establish the recursion isomorphism *)
Parameter
ı
:
PreProp
-
t
>
halve
(
cmfromType
Props
).
Parameter
ı
'
:
halve
(
cmfromType
Props
)
-
t
>
PreProp
.
Axiom
iso
:
forall
P
,
ı
'
(
ı
P
)
==
P
.
Axiom
isoR
:
forall
T
,
ı
(
ı
'
T
)
==
T
.
(* Define all the things on Props, so they have names - this shortens the terms later *)
Instance
Props_ty
:
Setoid
Props
:
=
_
.
Instance
Props_m
:
metric
Props
:
=
_
.
Instance
Props_cm
:
cmetric
Props
:
=
_
.
Instance
Props_preo
:
preoType
Props
:
=
_
.
Instance
Props_pcm
:
pcmType
Props
:
=
_
.
End
WORLD_PROP
.
wp-type-0.txt
deleted
100644 → 0
View file @
5b22c4cf
This diff is collapsed.
Click to expand it.
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