diff -r 08e5c7bc515a -r d256f49b4799 src/Doc/Isar_Ref/HOL_Specific.thy --- a/src/Doc/Isar_Ref/HOL_Specific.thy Tue Jul 01 20:47:25 2014 +0200 +++ b/src/Doc/Isar_Ref/HOL_Specific.thy Tue Jul 01 21:07:02 2014 +0200 @@ -1065,14 +1065,16 @@ produces a type constructor @{text "(\\<^sub>1, \, \\<^sub>n) t"} depending on those type arguments. - The axiomatization can be considered a ``definition'' in the sense - of the particular set-theoretic interpretation of HOL - \cite{pitts93}, where the universe of types is required to be - downwards-closed wrt.\ arbitrary non-empty subsets. Thus genuinely - new types introduced by @{command "typedef"} stay within the range - of HOL models by construction. Note that @{command_ref - type_synonym} from Isabelle/Pure merely introduces syntactic - abbreviations, without any logical significance. + The axiomatization can be considered a ``definition'' in the sense of the + particular set-theoretic interpretation of HOL \cite{pitts93}, where the + universe of types is required to be downwards-closed wrt.\ arbitrary + non-empty subsets. Thus genuinely new types introduced by @{command + "typedef"} stay within the range of HOL models by construction. + + In contrast, the command @{command_ref type_synonym} from Isabelle/Pure + merely introduces syntactic abbreviations, without any logical + significance. Thus it is more faithful to the idea of a genuine type + definition, but less powerful in practice. @{rail \ @@{command (HOL) typedef} abs_type '=' rep_set @@ -1084,12 +1086,12 @@ \begin{description} - \item @{command (HOL) "typedef"}~@{text "(\\<^sub>1, \, \\<^sub>n) t = A"} - axiomatizes a type definition in the background theory of the - current context, depending on a non-emptiness result of the set - @{text A} that needs to be proven here. The set @{text A} may - contain type variables @{text "\\<^sub>1, \, \\<^sub>n"} as specified on the LHS, - but no term variables. + \item @{command (HOL) "typedef"}~@{text "(\\<^sub>1, \, \\<^sub>n) t = A"} produces an + axiomatization (\secref{sec:basic-spec}) for a type definition in the + background theory of the current context, depending on a non-emptiness + result of the set @{text A} that needs to be proven here. The set @{text + A} may contain type variables @{text "\\<^sub>1, \, \\<^sub>n"} as specified on the + LHS, but no term variables. Even though a local theory specification, the newly introduced type constructor cannot depend on parameters or assumptions of the