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
Dan Frumin
iriscoq
Commits
173af5fb
Commit
173af5fb
authored
May 31, 2016
by
Robbert Krebbers
Browse files
More documentation of f_equiv.
parent
c9760e26
Changes
1
Show whitespace changes
Inline
Sidebyside
prelude/tactics.v
View file @
173af5fb
...
...
@@ 250,11 +250,13 @@ Ltac setoid_subst :=

H
:
@
equiv
?
A
?
e
_
?
x

_
=>
symmetry
in
H
;
setoid_subst_aux
(
@
equiv
A
e
)
x
end
.
(
**
f_equiv
works
on
goals
of
the
form
"
f _ = f _
"
,
for
any
relation
and
any
number
of
arguments
.
It
looks
for
an
appropriate
"
Proper
"
instance
,
and
applies
(
**
f_equiv
works
on
goals
of
the
form
[
f
_
=
f
_
]
,
for
any
relation
and
any
number
of
arguments
.
It
looks
for
an
appropriate
[
Proper
]
instance
,
and
applies
it
.
The
tactic
is
somewhat
limited
,
since
it
cannot
be
used
to
backtrack
on
the
Proper
instances
that
has
been
found
.
To
that
end
,
we
try
to
ensure
the
trivial
instance
in
which
the
resulting
goals
have
an
[
eq
].
*
)
trivial
instance
in
which
the
resulting
goals
have
an
[
eq
].
More
generally
,
when
having
[
Proper
(
equiv
==>
dist
)
f
]
and
[
Proper
(
dist
==>
dist
)
f
],
it
will
favor
the
second
.
*
)
Ltac
f_equiv
:=
match
goal
with

_
=>
reflexivity
...
...
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