diff -r 1e31ddcab458 -r 4c275405faae src/Doc/Isar_Ref/Spec.thy --- a/src/Doc/Isar_Ref/Spec.thy Sun Jan 15 16:28:03 2023 +0100 +++ b/src/Doc/Isar_Ref/Spec.thy Sun Jan 15 18:30:18 2023 +0100 @@ -456,7 +456,7 @@ this process, which is called \<^emph>\roundup\, redundant locale instances are omitted. A locale instance is redundant if it is subsumed by an instance encountered earlier. A more detailed description of this process is - available elsewhere @{cite Ballarin2014}. + available elsewhere \<^cite>\Ballarin2014\. \ @@ -835,10 +835,10 @@ A class is a particular locale with \<^emph>\exactly one\ type variable \\\. Beyond the underlying locale, a corresponding type class is established which is - interpreted logically as axiomatic type class @{cite "Wenzel:1997:TPHOL"} + interpreted logically as axiomatic type class \<^cite>\"Wenzel:1997:TPHOL"\ whose logical content are the assumptions of the locale. Thus, classes provide the full generality of locales combined with the commodity of type - classes (notably type-inference). See @{cite "isabelle-classes"} for a short + classes (notably type-inference). See \<^cite>\"isabelle-classes"\ for a short tutorial. \<^rail>\ @@ -983,7 +983,7 @@ \<^medskip> Co-regularity is a very fundamental property of the order-sorted algebra of types. For example, it entails principal types and most general unifiers, - e.g.\ see @{cite "nipkow-prehofer"}. + e.g.\ see \<^cite>\"nipkow-prehofer"\. \ @@ -1009,7 +1009,7 @@ global constraints on all occurrences. E.g.\ \d :: \ \ \\ on the left-hand side means that all corresponding occurrences on some right-hand side need to be an instance of this, and general \d :: \ \ \\ will be disallowed. Full - details are given by Kun\v{c}ar @{cite "Kuncar:2015"}. + details are given by Kun\v{c}ar \<^cite>\"Kuncar:2015"\. \<^medskip> The \<^theory_text>\consts\ command and the \<^theory_text>\overloading\ target provide a convenient @@ -1139,7 +1139,7 @@ exported to the global bootstrap environment of the ML process --- it has a lasting effect that cannot be retracted. This allows ML evaluation without a formal theory context, e.g. for command-line tools via @{tool - process} @{cite "isabelle-system"}. + process} \<^cite>\"isabelle-system"\. \<^descr> \<^theory_text>\ML_prf\ is analogous to \<^theory_text>\ML\ but works within a proof context. Top-level ML bindings are stored within the proof context in a purely @@ -1199,14 +1199,14 @@ debugging information. The global system option @{system_option_ref ML_debugger} does the same when building a session image. It is also possible use commands like \<^theory_text>\ML_file_debug\ etc. The ML debugger is - explained further in @{cite "isabelle-jedit"}. + explained further in \<^cite>\"isabelle-jedit"\. \<^descr> @{attribute ML_exception_trace} indicates whether the ML run-time system should print a detailed stack trace on exceptions. The result is dependent on various ML compiler optimizations. The boundary for the exception trace is the current Isar command transactions: it is occasionally better to insert the combinator \<^ML>\Runtime.exn_trace\ into ML code for debugging - @{cite "isabelle-implementation"}, closer to the point where it actually + \<^cite>\"isabelle-implementation"\, closer to the point where it actually happens. \<^descr> @{attribute ML_exception_debugger} controls detailed exception trace via @@ -1258,7 +1258,7 @@ \<^descr>[Exported files] are stored within the session database in Isabelle/Scala. This allows to deliver artefacts to external tools, see - also @{cite "isabelle-system"} for session \<^verbatim>\ROOT\ declaration + also \<^cite>\"isabelle-system"\ for session \<^verbatim>\ROOT\ declaration \<^theory_text>\export_files\, and @{tool build} option \<^verbatim>\-e\. A notable example is the command @{command_ref export_code} @@ -1323,7 +1323,7 @@ \<^descr> \<^theory_text>\scala_build_generated_files paths (in thy)\ retrieves named generated files as for \<^theory_text>\export_generated_files\ and writes them into a temporary directory, which is taken as starting point for build process of - Isabelle/Scala/Java modules (see @{cite "isabelle-system"}). The + Isabelle/Scala/Java modules (see \<^cite>\"isabelle-system"\). The corresponding @{path \build.props\} file is expected directly in the toplevel directory, instead of @{path \etc/build.props\} for Isabelle system components. These properties need to specify sources, resources, services @@ -1356,8 +1356,7 @@ exports of \<^theory_text>\export_files\ above. \<^descr> \<^theory_text>\external_file name\ declares the formal dependency on the given file - name, such that the Isabelle build process knows about it (see also @{cite - "isabelle-system"}). This is required for any files mentioned in + name, such that the Isabelle build process knows about it (see also \<^cite>\"isabelle-system"\). This is required for any files mentioned in \<^theory_text>\compile_generated_files / external_files\ above, in order to document source dependencies properly. It is also possible to use \<^theory_text>\external_file\ alone, e.g.\ when other Isabelle/ML tools use \<^ML>\File.read\, without