best_practices
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| best_practices [2011/07/20 12:41] – created 131.246.161.187 | best_practices [2012/04/13 15:36] (current) – [Parentheses] paddy | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| ===== Syntax ===== | ===== Syntax ===== | ||
| ==== Parentheses ==== | ==== Parentheses ==== | ||
| + | Some syntactical constructs of Isabelle/ | ||
| + | |||
| + | * Conditions: '' | ||
| + | * Case distinctions: | ||
| + | * Constructors (in patterns): '' | ||
| + | |||
| + | In all of these cases it is generally inadvisable to leave out the outermost parentheses. | ||
| + | |||
| + | You might also run into problems by implicitly put parentheses (by precedence rules). | ||
| + | |||
| + | As an example, consider quantifiers: | ||
| + | |||
| + | If in doubt, check [Isabelle → Settings → Display → Show Brackets] and find out what exactly happens. | ||
| ===== Modelling ===== | ===== Modelling ===== | ||
| ==== Sets and Functions ==== | ==== Sets and Functions ==== | ||
| + | Sets and (boolean) functions are equivalent. However, using both worlds in parallel, e.g. using sometimes $P\; x$ and sometimes $x \in P$ or even $\{x. P\; x\}$, you might run into issues during proofs as Isabelle has to perform certain steps in order to switch from one point of view to the other. Therefore you better choose wether to express your statements in predicate or in set notation and stick with it. | ||
best_practices.1311158469.txt.gz · Last modified: by 131.246.161.187
