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
Abhishek Anand
Iris
Commits
bb0f3924
Commit
bb0f3924
authored
Mar 16, 2019
by
Robbert Krebbers
Browse files
`equiv` is no longer type class opaque.
parent
6d7699bd
Changes
5
Hide whitespace changes
Inline
Side-by-side
theories/algebra/cmra.v
View file @
bb0f3924
...
...
@@ -874,22 +874,6 @@ Record RAMixin A `{Equiv A, PCore A, Op A, Valid A} := {
ra_valid_op_l
x
y
:
✓
(
x
⋅
y
)
→
✓
x
}.
Section
leibniz
.
Local
Set
Default
Proof
Using
"Type*"
.
Context
A
`
{
Equiv
A
,
PCore
A
,
Op
A
,
Valid
A
}.
Context
`
{!
Equivalence
(
≡
@{
A
}),
!
LeibnizEquiv
A
}.
Context
(
op_assoc
:
Assoc
(=@{
A
})
(
⋅
)).
Context
(
op_comm
:
Comm
(=@{
A
})
(
⋅
)).
Context
(
pcore_l
:
∀
(
x
:
A
)
cx
,
pcore
x
=
Some
cx
→
cx
⋅
x
=
x
).
Context
(
ra_pcore_idemp
:
∀
(
x
:
A
)
cx
,
pcore
x
=
Some
cx
→
pcore
cx
=
Some
cx
).
Context
(
ra_pcore_mono
:
∀
(
x
y
:
A
)
cx
,
x
≼
y
→
pcore
x
=
Some
cx
→
∃
cy
,
pcore
y
=
Some
cy
∧
cx
≼
cy
).
Context
(
ra_valid_op_l
:
∀
x
y
:
A
,
✓
(
x
⋅
y
)
→
✓
x
).
Definition
ra_leibniz_mixin
:
RAMixin
A
.
Proof
.
split
;
repeat
intro
;
fold_leibniz
;
naive_solver
.
Qed
.
End
leibniz
.
Section
discrete
.
Local
Set
Default
Proof
Using
"Type*"
.
Context
`
{
Equiv
A
,
PCore
A
,
Op
A
,
Valid
A
}
(
Heq
:
@
Equivalence
A
(
≡
)).
...
...
theories/algebra/deprecated.v
View file @
bb0f3924
...
...
@@ -40,12 +40,10 @@ Instance dec_agree_pcore : PCore (dec_agree A) := Some.
Definition
dec_agree_ra_mixin
:
RAMixin
(
dec_agree
A
).
Proof
.
apply
ra_
leibniz
_mixin
;
try
(
apply
_
||
done
)
.
apply
ra_
total
_mixin
;
apply
_
||
eauto
.
-
intros
[?|]
[?|]
[?|]
;
by
repeat
(
simplify_eq
/=
||
case_match
).
-
intros
[?|]
[?|]
;
by
repeat
(
simplify_eq
/=
||
case_match
).
-
rewrite
/
pcore
/
dec_agree_pcore
=>
-?
[?|]
[->]
;
by
repeat
(
simplify_eq
/=
||
case_match
).
-
rewrite
/
pcore
/
dec_agree_pcore
.
naive_solver
.
-
intros
[?|]
;
by
repeat
(
simplify_eq
/=
||
case_match
).
-
by
intros
[?|]
[?|]
?.
Qed
.
...
...
theories/algebra/frac.v
View file @
bb0f3924
...
...
@@ -28,7 +28,7 @@ Proof. intros ?%frac_included. auto using Qclt_le_weak. Qed.
Definition
frac_ra_mixin
:
RAMixin
frac
.
Proof
.
apply
ra_leibniz_mixin
;
try
(
apply
_
||
done
)
.
split
;
try
apply
_
;
try
done
.
unfold
valid
,
op
,
frac_op
,
frac_valid
.
intros
x
y
.
trans
(
x
+
y
)%
Qp
;
last
done
.
rewrite
-{
1
}(
Qcplus_0_r
x
)
-
Qcplus_le_mono_l
;
auto
using
Qclt_le_weak
.
Qed
.
...
...
theories/algebra/ufrac.v
View file @
bb0f3924
...
...
@@ -24,7 +24,7 @@ Corollary ufrac_included_weak (x y : ufrac) : x ≼ y → (x ≤ y)%Qc.
Proof
.
intros
?%
ufrac_included
.
auto
using
Qclt_le_weak
.
Qed
.
Definition
ufrac_ra_mixin
:
RAMixin
ufrac
.
Proof
.
apply
ra_leibniz_mixin
;
try
(
apply
_
||
done
).
Qed
.
Proof
.
split
;
try
(
apply
_
||
done
).
Qed
.
Canonical
Structure
ufracR
:
=
discreteR
ufrac
ufrac_ra_mixin
.
Global
Instance
ufrac_cmra_discrete
:
CmraDiscrete
ufracR
.
...
...
theories/program_logic/total_weakestpre.v
View file @
bb0f3924
...
...
@@ -47,8 +47,7 @@ Proof.
-
iIntros
(
wp1
wp2
)
"#H"
;
iIntros
([[
E
e1
]
Φ
])
;
iRevert
(
E
e1
Φ
).
iApply
twp_pre_mono
.
iIntros
"!#"
(
E
e
Φ
).
iApply
(
"H"
$!
(
E
,
e
,
Φ
)).
-
intros
wp
Hwp
n
[[
E1
e1
]
Φ
1
]
[[
E2
e2
]
Φ
2
]
[[?%(
discrete_iff
_
_
)%
leibniz_equiv
?%(
discrete_iff
_
_
)%
leibniz_equiv
]
?]
;
simplify_eq
/=.
[[?%
leibniz_equiv
?%
leibniz_equiv
]
?]
;
simplify_eq
/=.
rewrite
/
uncurry3
/
twp_pre
.
do
24
(
f_equiv
||
done
).
by
apply
pair_ne
.
Qed
.
...
...
@@ -80,8 +79,7 @@ Proof.
prodC
(
prodC
(
leibnizC
coPset
)
(
exprC
Λ
))
(
val
Λ
-
c
>
iProp
Σ
)
→
iProp
Σ
).
assert
(
NonExpansive
Ψ
'
).
{
intros
n
[[
E1
e1
]
Φ
1
]
[[
E2
e2
]
Φ
2
]
[[?%(
discrete_iff
_
_
)%
leibniz_equiv
?%(
discrete_iff
_
_
)%
leibniz_equiv
]
?]
;
simplify_eq
/=.
by
apply
H
Ψ
.
}
[[?%
leibniz_equiv
?%
leibniz_equiv
]
?]
;
simplify_eq
/=.
by
apply
H
Ψ
.
}
iApply
(
least_fixpoint_strong_ind
_
Ψ
'
with
"[] H"
).
iIntros
"!#"
([[??]
?])
"H"
.
by
iApply
"IH"
.
Qed
.
...
...
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