diff --git a/docs/proof_guide.md b/docs/proof_guide.md index 8de11312949df0bc65e4531a0e40957536d02f1c..3195c63d2d83219f80aec5e8668480d03e197c62 100644 --- a/docs/proof_guide.md +++ b/docs/proof_guide.md @@ -33,7 +33,7 @@ iProp ≅ uPred (F (iProp)) ``` Here, `F` is a user-chosen locally contractive bifunctor from COFEs to unital -Camaras (a step-indexed generalization of unital resource algebras). To make it +Cameras (a step-indexed generalization of unital resource algebras). To make it convenient to construct such functors out of smaller pieces, we provide a number of abstractions: @@ -144,8 +144,8 @@ invariants and WP). For this purpose, `heapG` contains not only assumptions about `Σ`, it also contains some ghost names to refer to particular ghost state (see "global ghost state instances" below). -The backtic (`` ` ``) is used to make anonymous assumptions and to automatically -generalize the `Σ`. When adding assumptions with backtic, you should most of +The backtick (`` ` ``) is used to make anonymous assumptions and to automatically +generalize the `Σ`. When adding assumptions with backtick, you should most of the time also add a `!` in front of every assumption. If you do not then Coq will also automatically generalize all indices of type-classes that you are assuming. This can easily lead to making more assumptions than you are aware @@ -262,7 +262,7 @@ this still need to be written up properly, but here is some background material: ## Implicit generalization -We often use the implicit generalization feature of Coq, triggered by a backtic: +We often use the implicit generalization feature of Coq, triggered by a backtick: `` `{!term A B}`` means that an implicit argument of type `term A B` is added, and if any of the identifiers that are used here is not yet bound, it gets added as well. Usually, `term` will be some existing type class or similar, and we