clarified old forms;
authorwenzelm
Sun, 07 Feb 2016 14:36:16 +0100
changeset 62268 3d86222b4a94
parent 62267 0e0d147b31a3
child 62269 c56cff1c0e73
clarified old forms;
src/Doc/Isar_Ref/Proof.thy
src/Doc/Isar_Ref/Quick_Reference.thy
--- a/src/Doc/Isar_Ref/Proof.thy	Sat Feb 06 19:26:02 2016 +0100
+++ b/src/Doc/Isar_Ref/Proof.thy	Sun Feb 07 14:36:16 2016 +0100
@@ -441,14 +441,10 @@
   warning beforehand. Watch out for the following message:
   @{verbatim [display] \<open>Local statement fails to refine any pending goal\<close>}
 
-  \<^descr> @{command "hence"} abbreviates ``@{command "then"}~@{command "have"}'',
-  i.e.\ claims a local goal to be proven by forward chaining the current
-  facts. Note that @{command "hence"} is also equivalent to ``@{command
-  "from"}~\<open>this\<close>~@{command "have"}''.
-
-  \<^descr> @{command "thus"} abbreviates ``@{command "then"}~@{command "show"}''.
-  Note that @{command "thus"} is also equivalent to ``@{command
-  "from"}~\<open>this\<close>~@{command "show"}''.
+  \<^descr> @{command "hence"} expands to ``@{command "then"}~@{command "have"}'' and
+  @{command "thus"} expands to ``@{command "then"}~@{command "show"}''. These
+  conflations are left-over from early history of Isar. The expanded syntax is
+  more orthogonal and improves readability and maintainability of proofs.
 
   \<^descr> @{command "print_statement"}~\<open>a\<close> prints facts from the current theory or
   proof context in long statement form, according to the syntax for @{command
@@ -682,11 +678,11 @@
   forward chaining are passed if so indicated by \<open>proof(chain)\<close> mode.
 
   \<^descr> @{command "qed"}~\<open>m\<^sub>2\<close> refines any remaining goals by proof method \<open>m\<^sub>2\<close>
-  and concludes the sub-proof by assumption. If the goal had been \<open>show\<close> (or
-  \<open>thus\<close>), some pending sub-goal is solved as well by the rule resulting from
-  the result \<^emph>\<open>exported\<close> into the enclosing goal context. Thus \<open>qed\<close> may fail
-  for two reasons: either \<open>m\<^sub>2\<close> fails, or the resulting rule does not fit to
-  any pending goal\<^footnote>\<open>This includes any additional ``strong'' assumptions as
+  and concludes the sub-proof by assumption. If the goal had been \<open>show\<close>, some
+  pending sub-goal is solved as well by the rule resulting from the result
+  \<^emph>\<open>exported\<close> into the enclosing goal context. Thus \<open>qed\<close> may fail for two
+  reasons: either \<open>m\<^sub>2\<close> fails, or the resulting rule does not fit to any
+  pending goal\<^footnote>\<open>This includes any additional ``strong'' assumptions as
   introduced by @{command "assume"}.\<close> of the enclosing context. Debugging such
   a situation might involve temporarily changing @{command "show"} into
   @{command "have"}, or weakening the local context by replacing occurrences
--- a/src/Doc/Isar_Ref/Quick_Reference.thy	Sat Feb 06 19:26:02 2016 +0100
+++ b/src/Doc/Isar_Ref/Quick_Reference.thy	Sun Feb 07 14:36:16 2016 +0100
@@ -57,13 +57,9 @@
       @{command "proof"}~\<open>m\<^sub>1\<close>~@{command "qed"}~\<open>m\<^sub>2\<close> \\
     @{command ".."} & \<open>\<equiv>\<close> & @{command "by"}~\<open>standard\<close> \\
     @{command "."} & \<open>\<equiv>\<close> & @{command "by"}~\<open>this\<close> \\
-    @{command "hence"} & \<open>\<equiv>\<close> & @{command "then"}~@{command "have"} \\
-    @{command "thus"} & \<open>\<equiv>\<close> & @{command "then"}~@{command "show"} \\
     @{command "from"}~\<open>a\<close> & \<open>\<equiv>\<close> & @{command "note"}~\<open>a\<close>~@{command "then"} \\
     @{command "with"}~\<open>a\<close> & \<open>\<equiv>\<close> & @{command "from"}~\<open>a \<AND> this\<close> \\
     @{command "from"}~\<open>this\<close> & \<open>\<equiv>\<close> & @{command "then"} \\
-    @{command "from"}~\<open>this\<close>~@{command "have"} & \<open>\<equiv>\<close> & @{command "hence"} \\
-    @{command "from"}~\<open>this\<close>~@{command "show"} & \<open>\<equiv>\<close> & @{command "thus"} \\
   \end{tabular}
 \<close>