diff -r 3343670206eb -r 008126f730a0 doc-src/IsarImplementation/Thy/Logic.thy --- a/doc-src/IsarImplementation/Thy/Logic.thy Thu Jan 28 22:19:27 2010 +0100 +++ b/doc-src/IsarImplementation/Thy/Logic.thy Thu Jan 28 22:38:11 2010 +0100 @@ -116,9 +116,9 @@ text %mlref {* \begin{mldecls} - @{index_ML_type class} \\ - @{index_ML_type sort} \\ - @{index_ML_type arity} \\ + @{index_ML_type class: string} \\ + @{index_ML_type sort: "class list"} \\ + @{index_ML_type arity: "string * sort list * sort"} \\ @{index_ML_type typ} \\ @{index_ML map_atyps: "(typ -> typ) -> typ -> typ"} \\ @{index_ML fold_atyps: "(typ -> 'a -> 'a) -> typ -> 'a -> 'a"} \\ @@ -136,15 +136,15 @@ \begin{description} - \item @{ML_type class} represents type classes; this is an alias for - @{ML_type string}. + \item @{ML_type class} represents type classes. - \item @{ML_type sort} represents sorts; this is an alias for - @{ML_type "class list"}. + \item @{ML_type sort} represents sorts, i.e.\ finite intersections + of classes. The empty list @{ML "[]: sort"} refers to the empty + class intersection, i.e.\ the ``full sort''. - \item @{ML_type arity} represents type arities; this is an alias for - triples of the form @{text "(\, \<^vec>s, s)"} for @{text "\ :: - (\<^vec>s)s"} described above. + \item @{ML_type arity} represents type arities. A triple @{text + "(\, \<^vec>s, s) : arity"} represents @{text "\ :: (\<^vec>s)s"} as + described above. \item @{ML_type typ} represents types; this is a datatype with constructors @{ML TFree}, @{ML TVar}, @{ML Type}.