69 by (simp only: group_left_unit); |
69 by (simp only: group_left_unit); |
70 finally; show ?thesis; .; |
70 finally; show ?thesis; .; |
71 qed; |
71 qed; |
72 |
72 |
73 text {* |
73 text {* |
74 There are only two Isar language elements for calculational proofs: |
74 \bigskip There are only two Isar language elements for calculational |
75 \isakeyword{also} for initial or intermediate calculational steps, |
75 proofs: \isakeyword{also} for initial or intermediate calculational |
76 and \isakeyword{finally} for building the result of a calculation. |
76 steps, and \isakeyword{finally} for building the result of a |
77 These constructs are not hardwired into Isabelle/Isar, but defined on |
77 calculation. These constructs are not hardwired into Isabelle/Isar, |
78 top of the basic Isar/VM interpreter. Expanding the |
78 but defined on top of the basic Isar/VM interpreter. Expanding the |
79 \isakeyword{also} and \isakeyword{finally} derived language elements, |
79 \isakeyword{also} and \isakeyword{finally} derived language elements, |
80 calculations may be simulated as demonstrated below. |
80 calculations may be simulated as demonstrated below. |
81 |
81 |
82 Note that ``$\dots$'' is just a special term binding that happens to |
82 Note that ``$\dots$'' is just a special term binding that happens to |
83 be bound automatically to the argument of the last fact established |
83 be bound automatically to the argument of the last fact established |