doc-src/TutorialI/Types/Typedef.thy
changeset 11149 e258b536a137
parent 10983 59961d32b1ae
child 11196 bb4ede27fcb7
equal deleted inserted replaced
11148:79aa2932b2d7 11149:e258b536a137
   263 like without \isacommand{datatype}.
   263 like without \isacommand{datatype}.
   264 
   264 
   265 Although @{typ three} could be defined in one line, we have chosen this
   265 Although @{typ three} could be defined in one line, we have chosen this
   266 example to demonstrate \isacommand{typedef} because its simplicity makes the
   266 example to demonstrate \isacommand{typedef} because its simplicity makes the
   267 key concepts particularly easy to grasp. If you would like to see a
   267 key concepts particularly easy to grasp. If you would like to see a
   268 nontrivial example that cannot be defined more directly, we recommend the
   268 non-trivial example that cannot be defined more directly, we recommend the
   269 definition of \emph{finite multisets} in the HOL Library.
   269 definition of \emph{finite multisets} in the HOL Library.
   270 
   270 
   271 Let us conclude by summarizing the above procedure for defining a new type.
   271 Let us conclude by summarizing the above procedure for defining a new type.
   272 Given some abstract axiomatic description $P$ of a type $ty$ in terms of a
   272 Given some abstract axiomatic description $P$ of a type $ty$ in terms of a
   273 set of functions $F$, this involves three steps:
   273 set of functions $F$, this involves three steps: