Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
lambda-rust
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Service Desk
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Iris
lambda-rust
Commits
2fc79e0d
There was a problem fetching the pipeline metadata.
Commit
2fc79e0d
authored
8 years ago
by
Ralf Jung
Browse files
Options
Downloads
Patches
Plain Diff
old subtyping is not used any more, comment it out
parent
3484f260
No related branches found
No related tags found
No related merge requests found
Pipeline
#
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
theories/typing/perm.v
+6
-5
6 additions, 5 deletions
theories/typing/perm.v
theories/typing/typing.v
+2
-2
2 additions, 2 deletions
theories/typing/typing.v
with
8 additions
and
7 deletions
theories/typing/perm.v
+
6
−
5
View file @
2fc79e0d
...
@@ -44,12 +44,12 @@ Section perm.
...
@@ -44,12 +44,12 @@ Section perm.
Global
Instance
top
:
Top
(
@
perm
Σ
)
:=
Global
Instance
top
:
Top
(
@
perm
Σ
)
:=
λ
_,
True
%
I
.
λ
_,
True
%
I
.
(*
Definition perm_incl (ρ1 ρ2 : perm) :=
Definition perm_incl (ρ1 ρ2 : perm) :=
∀ tid, lft_ctx -∗ ρ1 tid ={⊤}=∗ ρ2 tid.
∀ tid, lft_ctx -∗ ρ1 tid ={⊤}=∗ ρ2 tid.
Global Instance perm_equiv : Equiv perm :=
Global Instance perm_equiv : Equiv perm :=
λ
ρ1
ρ2
,
perm_incl
ρ1
ρ2
∧
perm_incl
ρ2
ρ1
.
λ ρ1 ρ2, perm_incl ρ1 ρ2 ∧ perm_incl ρ2 ρ1.
*)
End
perm
.
End
perm
.
Delimit
Scope
perm_scope
with
P
.
Delimit
Scope
perm_scope
with
P
.
...
@@ -71,14 +71,14 @@ Notation "∃ x .. y , P" :=
...
@@ -71,14 +71,14 @@ Notation "∃ x .. y , P" :=
(
exist
(
λ
x
,
.
.
(
exist
(
λ
y
,
P
))
..))
:
perm_scope
.
(
exist
(
λ
x
,
.
.
(
exist
(
λ
y
,
P
))
..))
:
perm_scope
.
Infix
"∗"
:=
sep
(
at
level
80
,
right
associativity
)
:
perm_scope
.
Infix
"∗"
:=
sep
(
at
level
80
,
right
associativity
)
:
perm_scope
.
(*
Infix "⇒" := perm_incl (at level 95, no associativity) : C_scope.
Infix "⇒" := perm_incl (at level 95, no associativity) : C_scope.
Notation "(⇒)" := perm_incl (only parsing) : C_scope.
Notation "(⇒)" := perm_incl (only parsing) : C_scope.
Notation "ρ1 ⇔ ρ2" := (equiv (A:=perm) ρ1%P ρ2%P)
Notation "ρ1 ⇔ ρ2" := (equiv (A:=perm) ρ1%P ρ2%P)
(at level 95, no associativity) : C_scope.
(at level 95, no associativity) : C_scope.
Notation "(⇔)" := (equiv (A:=perm)) (only parsing) : C_scope.
Notation "(⇔)" := (equiv (A:=perm)) (only parsing) : C_scope.
*)
Section
has_type
.
Section
has_type
.
Context
`{
typeG
Σ
}
.
Context
`{
typeG
Σ
}
.
...
@@ -106,7 +106,7 @@ Section has_type.
...
@@ -106,7 +106,7 @@ Section has_type.
iApply
(
"IH"
with
"[] [HΦ]"
)
.
done
.
simpl
.
wp_op
.
inversion
EQν
.
eauto
.
iApply
(
"IH"
with
"[] [HΦ]"
)
.
done
.
simpl
.
wp_op
.
inversion
EQν
.
eauto
.
Qed
.
Qed
.
End
has_type
.
End
has_type
.
(*
Section perm_incl.
Section perm_incl.
Context `{typeG Σ}.
Context `{typeG Σ}.
...
@@ -177,3 +177,4 @@ Section perm_incl.
...
@@ -177,3 +177,4 @@ Section perm_incl.
Lemma perm_lftincl_trans κ1 κ2 κ3 : κ1 ⊑ κ2 ∗ κ2 ⊑ κ3 ⇒ κ1 ⊑ κ3.
Lemma perm_lftincl_trans κ1 κ2 κ3 : κ1 ⊑ κ2 ∗ κ2 ⊑ κ3 ⇒ κ1 ⊑ κ3.
Proof. iIntros (tid) "_ [#?#?]!>". iApply (lft_incl_trans with "[] []"); auto. Qed.
Proof. iIntros (tid) "_ [#?#?]!>". iApply (lft_incl_trans with "[] []"); auto. Qed.
End perm_incl.
End perm_incl.
*)
\ No newline at end of file
This diff is collapsed.
Click to expand it.
theories/typing/typing.v
+
2
−
2
View file @
2fc79e0d
...
@@ -112,14 +112,14 @@ Section typing.
...
@@ -112,14 +112,14 @@ Section typing.
iIntros
"[H↦ H↦']"
.
iMod
"Hcons"
as
"[Hown' Hcons]"
.
iIntros
"[H↦ H↦']"
.
iMod
"Hcons"
as
"[Hown' Hcons]"
.
iMod
(
"Hcons"
with
"H↦'"
)
as
"[$$]"
.
iApply
"Hupd"
.
by
iFrame
.
iMod
(
"Hcons"
with
"H↦'"
)
as
"[$$]"
.
iApply
"Hupd"
.
by
iFrame
.
Qed
.
Qed
.
(*
Lemma typed_weaken ρ1 ρ2 e:
Lemma typed_weaken ρ1 ρ2 e:
typed_program ρ2 e → (ρ1 ⇒ ρ2) → typed_program ρ1 e.
typed_program ρ2 e → (ρ1 ⇒ ρ2) → typed_program ρ1 e.
Proof.
Proof.
iIntros (Hρ2 Hρ12 tid) "!#(#HEAP & #LFT & Hρ1 & Htl)".
iIntros (Hρ2 Hρ12 tid) "!#(#HEAP & #LFT & Hρ1 & Htl)".
iApply (Hρ2 with ">"). iFrame "∗#". iApply (Hρ12 with "LFT Hρ1").
iApply (Hρ2 with ">"). iFrame "∗#". iApply (Hρ12 with "LFT Hρ1").
Qed.
Qed.
*)
Lemma
typed_program_exists
{
A
}
ρ
θ
e
:
Lemma
typed_program_exists
{
A
}
ρ
θ
e
:
(
∀
x
:
A
,
typed_program
(
ρ
∗
θ
x
)
e
)
→
(
∀
x
:
A
,
typed_program
(
ρ
∗
θ
x
)
e
)
→
typed_program
(
ρ
∗
∃
x
,
θ
x
)
e
.
typed_program
(
ρ
∗
∃
x
,
θ
x
)
e
.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
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!
Save comment
Cancel
Please
register
or
sign in
to comment