diff options
| author | coqbot-app[bot] | 2020-09-18 15:04:32 +0000 |
|---|---|---|
| committer | GitHub | 2020-09-18 15:04:32 +0000 |
| commit | 6b991f6111006cf4635b3321232d61c4f5c54f40 (patch) | |
| tree | 7d899ca49d94c935e85cbc07ae2270e76d1d8cac | |
| parent | 5bdd954f57aa9e7154258f38619c6be7b6ba2d7c (diff) | |
| parent | b6a925806f5eccf7510fe53416c52192c2ffb0a1 (diff) | |
Merge PR #13051: Improve `simple apply` example
Reviewed-by: Zimmi48
| -rw-r--r-- | doc/sphinx/proof-engine/tactics.rst | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/doc/sphinx/proof-engine/tactics.rst b/doc/sphinx/proof-engine/tactics.rst index 2f505e7448..e276a0edcb 100644 --- a/doc/sphinx/proof-engine/tactics.rst +++ b/doc/sphinx/proof-engine/tactics.rst @@ -732,12 +732,13 @@ Applying theorems does not succeed because it would require the conversion of ``id ?foo`` and :g:`O`. + .. _simple_apply_ex: .. example:: .. coqtop:: all Definition id (x : nat) := x. - Parameter H : forall y, id y = y. + Parameter H : forall x y, id x = y. Goal O = O. Fail simple apply H. @@ -907,13 +908,8 @@ Applying theorems .. tacv:: simple apply @term in @ident This behaves like :tacn:`apply … in` but it reasons modulo conversion - only on subterms that contain no variables to instantiate. For instance, - if :g:`id := fun x:nat => x` and :g:`H: forall y, id y = y -> True` and - :g:`H0 : O = O` then :g:`simple apply H in H0` does not succeed because it - would require the conversion of :g:`id ?x` and :g:`O` where :g:`?x` is - an existential variable to instantiate. - Tactic :n:`simple apply @term in @ident` does not - either traverse tuples as :n:`apply @term in @ident` does. + only on subterms that contain no variables to instantiate and does not + traverse tuples. See :ref:`the corresponding example <simple_apply_ex>`. .. tacv:: {? simple} apply {+, @term {? with @bindings_list}} in @ident {? as @simple_intropattern} {? simple} eapply {+, @term {? with @bindings_list}} in @ident {? as @simple_intropattern} |
