This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
math:coq_notes [2019/02/03 14:01] dave [Terms] |
math:coq_notes [2019/02/03 19:44] (current) dave [Vernacular Commands] |
||
|---|---|---|---|
| Line 78: | Line 78: | ||
| * ''Theorem'': | * ''Theorem'': | ||
| * Conceptually, this really looks just like a unit test. | * Conceptually, this really looks just like a unit test. | ||
| - | * Synonyms that can be used interchangably with ''Theorem'': ''Lemma'', ''Remark'', ''Corollary'', ''Proposition'', ''Example'' | + | * Synonyms that can be used interchangeably with ''Theorem'': ''Lemma'', ''Remark'', ''Corollary'', ''Proposition'', ''Example'' |
| - | * Syntax: ''Theorem <test_name>: <boolean expression>.'' | + | * Syntax:<code> |
| + | Theorem <test_name>: [<quantifier>,] <boolean expression>. | ||
| + | </code> | ||
| + | * Example of a quantifier: ''forall n:nat'':<code> | ||
| + | Theorem n_plus_0 : forall n:nat, 0 + n = n. | ||
| + | </code> | ||
| + | * The above simply states: "Adding zero to every natural number results in the same natural number" | ||
| * ''Check'': displays the type of an expression. | * ''Check'': displays the type of an expression. | ||
| * ''Notation'': Defines a custom operator. | * ''Notation'': Defines a custom operator. | ||
| Line 111: | Line 117: | ||
| [[https://coq.inria.fr/refman/coq-tacindex.html|Tactic Index]] | [[https://coq.inria.fr/refman/coq-tacindex.html|Tactic Index]] | ||
| + | ===== Oddities == | ||
| + | |||
| + | * If ''n'' is a ''nat'', then the expression ''S n'' is the same as ''n + 1''. | ||
| + | * This is because ''nat'' modeled as a linked list with no item--the value is encoded in the number of links in the list. (This is a *very* weird way to model numbers.) | ||
| + | * S is one of the constructors of ''nat'' which takes a single argument having type ''nat''. | ||
| + | |||
| + | |||
| ===== Standard Library == | ===== Standard Library == | ||