equal
deleted
inserted
replaced
18 * Term abbreviations via 'is' patterns also work for schematic |
18 * Term abbreviations via 'is' patterns also work for schematic |
19 statements: result is abstracted over unknowns. |
19 statements: result is abstracted over unknowns. |
20 |
20 |
21 * Local goals ('have', 'show', 'hence', 'thus') allow structured |
21 * Local goals ('have', 'show', 'hence', 'thus') allow structured |
22 statements like fixes/assumes/shows in theorem specifications, but the |
22 statements like fixes/assumes/shows in theorem specifications, but the |
23 notation is postfix with keywords 'if' and 'for'. For example: |
23 notation is postfix with keywords 'if' (or 'when') and 'for'. For |
|
24 example: |
24 |
25 |
25 have result: "C x y" |
26 have result: "C x y" |
26 if "A x" and "B y" |
27 if "A x" and "B y" |
27 for x :: 'a and y :: 'a |
28 for x :: 'a and y :: 'a |
28 <proof> |
29 <proof> |
35 fix x :: 'a and y :: 'a |
36 fix x :: 'a and y :: 'a |
36 assume that: "A x" "B y" |
37 assume that: "A x" "B y" |
37 have "C x y" <proof> |
38 have "C x y" <proof> |
38 } |
39 } |
39 note result = this |
40 note result = this |
|
41 |
|
42 The keyword 'when' may be used instead of 'if', to indicate 'presume' |
|
43 instead of 'assume' above. |
40 |
44 |
41 * New command 'supply' supports fact definitions during goal refinement |
45 * New command 'supply' supports fact definitions during goal refinement |
42 ('apply' scripts). |
46 ('apply' scripts). |
43 |
47 |
44 * New command 'consider' states rules for generalized elimination and |
48 * New command 'consider' states rules for generalized elimination and |