equal
  deleted
  inserted
  replaced
  
    
    
   258 \begin{isamarkuptext}% | 
   258 \begin{isamarkuptext}% | 
   259 yields \isa{Cons\ b\ {\isaliteral{28}{\isacharparenleft}}Cons\ a\ Nil{\isaliteral{29}{\isacharparenright}}}. | 
   259 yields \isa{Cons\ b\ {\isaliteral{28}{\isacharparenleft}}Cons\ a\ Nil{\isaliteral{29}{\isacharparenright}}}. | 
   260 \medskip  | 
   260 \medskip  | 
   261   | 
   261   | 
   262 Figure~\ref{fig:MyList} shows the theory created so far. | 
   262 Figure~\ref{fig:MyList} shows the theory created so far. | 
         | 
   263 Because \isa{list}, \isa{Nil}, \isa{Cons} etc are already predefined, | 
         | 
   264  Isabelle prints qualified (long) names when executing this theory, for example, \isa{MyList{\isaliteral{2E}{\isachardot}}Nil} | 
         | 
   265  instead of \isa{Nil}. | 
         | 
   266  To suppress the qualified names you can insert the command  | 
         | 
   267  \texttt{declare [[names\_short]]}. | 
         | 
   268  This is not recommended in general but just for this unusual example.  | 
   263 % Notice where the  | 
   269 % Notice where the  | 
   264 %quotations marks are needed that we mostly sweep under the carpet.  In  | 
   270 %quotations marks are needed that we mostly sweep under the carpet.  In  | 
   265 %particular, notice that \isacom{datatype} requires no quotation marks on the | 
   271 %particular, notice that \isacom{datatype} requires no quotation marks on the | 
   266 %left-hand side, but that on the right-hand side each of the argument  | 
   272 %left-hand side, but that on the right-hand side each of the argument  | 
   267 %types of a constructor needs to be enclosed in quotation marks.  | 
   273 %types of a constructor needs to be enclosed in quotation marks.  |