Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Jonas Kastberg
iris
Commits
010154e2
Commit
010154e2
authored
Mar 15, 2017
by
Ralf Jung
Browse files
fix fractional IntoAnd instances
parent
039f9fd5
Changes
1
Show whitespace changes
Inline
Sidebyside
theories/base_logic/lib/fractional.v
View file @
010154e2
...
...
@@ 128,14 +128,24 @@ Section fractional.
FromSep
Q
P
P
.
Proof
.
rewrite
/
FromSep
=>[>
<]
[>
_
].
by
rewrite
Qp_div_2
.
Qed
.
Global
Instance
into_and_fractional
P
P1
P2
Φ
q1
q2
:
Global
Instance
into_and_fractional
b
P
P1
P2
Φ
q1
q2
:
AsFractional
P
Φ
(
q1
+
q2
)
→
AsFractional
P1
Φ
q1
→
AsFractional
P2
Φ
q2
→
IntoAnd
false
P
P1
P2
.
Proof
.
by
rewrite
/
IntoAnd
=>[>
>]
[>
_
]
[>
_
].
Qed
.
Global
Instance
into_and_fractional_half
P
Q
Φ
q
:
IntoAnd
b
P
P1
P2
.
Proof
.
(* TODO: We need a better way to handle this boolean here.
Ideally, it'd not even be possible to make the mistake that
was originally made here, which is to give this instance for
"false" only, thus breaking some intro patterns. *)
intros
H1
H2
H3
.
apply
mk_into_and_sep
.
revert
H1
H2
H3
.
by
rewrite
/
IntoAnd
=>[>
>]
[>
_
]
[>
_
].
Qed
.
Global
Instance
into_and_fractional_half
b
P
Q
Φ
q
:
AsFractional
P
Φ
q
→
AsFractional
Q
Φ
(
q
/
2
)
→
IntoAnd
false
P
Q
Q

100
.
Proof
.
by
rewrite
/
IntoAnd
{
1
}(
Qp_div_2
q
)=>[>>][>
_
].
Qed
.
IntoAnd
b
P
Q
Q

100
.
Proof
.
intros
H1
H2
.
apply
mk_into_and_sep
.
revert
H1
H2
.
by
rewrite
/
IntoAnd
{
1
}(
Qp_div_2
q
)=>[>>][>
_
].
Qed
.
(* The instance [frame_fractional] can be tried at all the nodes of
the proof search. The proof search then fails almost always on
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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