
diff -r bbed9f218158 -r d3c0734059ee src/Doc/Sledgehammer/document/root.tex
--- a/src/Doc/Sledgehammer/document/root.tex	Thu Oct 24 22:05:57 2024 +0200
+++ b/src/Doc/Sledgehammer/document/root.tex	Fri Oct 25 15:31:58 2024 +0200
@@ -59,16 +59,19 @@
 \Large A User's Guide to Sledgehammer for Isabelle/HOL}
 \author{\hbox{} \\
 Jasmin Blanchette \\
-{\normalsize Institut f\"ur Informatik, Technische Universit\"at M\"unchen} \\[4\smallskipamount]
+{\normalsize Institut f\"ur Informatik, Ludwig-Maximilians-Universit\"at M\"unchen} \\[4\smallskipamount]
 {\normalsize with contributions from} \\[4\smallskipamount]
 Martin Desharnais \\
 {\normalsize Forschungsinstitut CODE, Universit\"at der Bundeswehr M\"unchen}  \\[4\smallskipamount]
 Lawrence C. Paulson \\
-{\normalsize Computer Laboratory, University of Cambridge} \\
+{\normalsize Computer Laboratory, University of Cambridge} \\[4\smallskipamount]
+Lukas Bartl \\
+{\normalsize Institut f\"ur Informatik, Ludwig-Maximilians-Universit\"at M\"unchen} \\
 \hbox{}}
 
 \maketitle
 
+\newpage
 \tableofcontents
 
 \setlength{\parskip}{.7em plus .2em minus .1em}
@@ -313,7 +316,7 @@
 
 \point{Familiarize yourself with the main options}
 
-Sledgehammer's options are fully documented in \S\ref{command-syntax}. Many of
+Sledgehammer's options are fully documented in \S\ref{option-reference}. Many of
 the options are very specialized, but serious users of the tool should at least
 familiarize themselves with the following options:
 
@@ -820,8 +823,8 @@
 Alias for \textit{provers}.
 
 \opsmartfalse{falsify}{dont\_falsify}
-Specifies whether Sledgehammer should look for falsifications or for proofs. By
-default, it looks for both.
+Specifies whether Sledgehammer should look for falsifications or for proofs. If
+the option is set to \textit{smart}, it looks for both.
 
 A falsification indicates that the goal, taken as an axiom, would be
 inconsistent with some specific background facts if it were added as a lemma,
@@ -836,10 +839,10 @@
 and found to be sufficient to prove the goal.
 
 Abduction is currently supported only by E. If the option is set to
-\textit{smart} (the default), abduction is enabled only in some of the E time
-slices, and at most one candidate missing assumption is displayed. You can
-disable abduction altogether by setting the option to 0 or enable it in all
-time slices by setting it to a nonzero value.
+\textit{smart}, abduction is enabled only in some of the E time slices, and at
+most one candidate missing assumption is displayed. You can disable abduction
+altogether by setting the option to 0 or enable it in all time slices by setting
+it to a nonzero value.
 
 \optrueonly{dont\_abduce}
 Alias for ``\textit{abduce} = 0''.
@@ -1199,12 +1202,26 @@
 
 \optrue{try0}{dont\_try0}
 Specifies whether standard proof methods such as \textit{auto} and
-\textit{blast} should be tried as alternatives to \textit{metis} in Isar proofs.
-The collection of methods is roughly the same as for the \textbf{try0} command.
+\textit{blast} should be tried as alternatives to \textit{metis} or
+\textit{smt}. The collection of methods is roughly the same as
+for the \textbf{try0} command.
 
 \optrue{smt\_proofs}{no\_smt\_proofs}
 Specifies whether the \textit{smt} proof method should be tried in addition to
 Isabelle's built-in proof methods.
+
+\opsmart{suggest\_of}{dont\_suggest\_of}
+Specifies whether Metis should try to infer variable instantiations before proof
+reconstruction, which results in instantiations of facts using \textbf{of}
+(e.g. \textit{map\_prod\_surj\_on}[\textbf{of} \textit{f A} "\textit{f}
+\textasciigrave \textit{A}" \textit{g B} "\textit{g} \textasciigrave
+\textit{B}"]). This can make the proof methods faster and more intelligible. If
+the option is set to \textit{smart} (the default), variable instantiations are
+inferred only if proof reconstruction failed or timed out.
+
+When using \textit{metis} directly, enable the configuration
+option [[\textit{metis\_suggest\_of}]] to directly get a suggestion with
+instantiations of facts using \textbf{of} from a successful proof.
 \end{enum}
 
 




