Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
George Pirlea
Iris
Commits
ba5a4f8e
Commit
ba5a4f8e
authored
Feb 23, 2018
by
Jacques-Henri Jourdan
Browse files
Add comment.
parent
314d8a2e
Changes
1
Show whitespace changes
Inline
Side-by-side
theories/proofmode/classes.v
View file @
ba5a4f8e
...
...
@@ -454,9 +454,20 @@ Arguments FromLaterN {_} _%nat_scope _%I _%I.
Arguments
from_laterN
{
_
}
_
%
nat_scope
_
%
I
_
%
I
{
_
}.
Hint
Mode
FromLaterN
+
-
!
-
:
typeclass_instances
.
(* We use two type classes for [AsValid], in order to avoid loops in
typeclass search. Indeed, the [as_valid_embed] instance would try
to add an arbitrary number of embeddings. To avoid this, the
[AsValid0] type class cannot handle embeddings, and therefore
[as_valid_embed] only tries to add one embedding, and we never try
to insert nested embeddings. This has the additional advantage of
always trying [as_valid_embed] as a second option, so that this
instance is never used when the BI is unknown.
No Hint Modes are declared here. The appropriate one would be
[Hint Mode - ! -], but the fact that Coq ignores primitive
projections for hints modes would make this fail.*)
Class
AsValid
{
PROP
:
bi
}
(
φ
:
Prop
)
(
P
:
PROP
)
:
=
as_valid
:
φ
↔
P
.
Arguments
AsValid
{
_
}
_
%
type
_
%
I
.
Class
AsValid0
{
PROP
:
bi
}
(
φ
:
Prop
)
(
P
:
PROP
)
:
=
as_valid_here
:
AsValid
φ
P
.
Arguments
AsValid0
{
_
}
_
%
type
_
%
I
.
...
...
Write
Preview
Supports
Markdown
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