doc-src/Nitpick/nitpick.tex
changeset 38201 927f919914ea
parent 38183 e3bb14be0931
child 38203 39e84a503840
equal deleted inserted replaced
38200:2f531f620cb8 38201:927f919914ea
  2583 This attribute specifies the equations that constitute the specification of a
  2583 This attribute specifies the equations that constitute the specification of a
  2584 constant. For functions defined using the \textbf{primrec}, \textbf{function},
  2584 constant. For functions defined using the \textbf{primrec}, \textbf{function},
  2585 and \textbf{nominal\_\allowbreak primrec} packages, this corresponds to the
  2585 and \textbf{nominal\_\allowbreak primrec} packages, this corresponds to the
  2586 \textit{simps} rules. The equations must be of the form
  2586 \textit{simps} rules. The equations must be of the form
  2587 
  2587 
  2588 \qquad $c~t_1~\ldots\ t_n \;\bigl[{=}\; u\bigr].$
  2588 \qquad $c~t_1~\ldots\ t_n \;\bigl[{=}\; u\bigr]$
       
  2589 
       
  2590 or
       
  2591 
       
  2592 \qquad $c~t_1~\ldots\ t_n \,\equiv\, u.$
  2589 
  2593 
  2590 \flushitem{\textit{nitpick\_psimp}}
  2594 \flushitem{\textit{nitpick\_psimp}}
  2591 
  2595 
  2592 \nopagebreak
  2596 \nopagebreak
  2593 This attribute specifies the equations that constitute the partial specification
  2597 This attribute specifies the equations that constitute the partial specification
  2594 of a constant. For functions defined using the \textbf{function} package, this
  2598 of a constant. For functions defined using the \textbf{function} package, this
  2595 corresponds to the \textit{psimps} rules. The conditional equations must be of
  2599 corresponds to the \textit{psimps} rules. The conditional equations must be of
  2596 the form
  2600 the form
  2597 
  2601 
  2598 \qquad $\lbrakk P_1;\> \ldots;\> P_m\rbrakk \,\Longrightarrow\, c\ t_1\ \ldots\ t_n \;\bigl[{=}\; u\bigr]$.
  2602 \qquad $\lbrakk P_1;\> \ldots;\> P_m\rbrakk \,\Longrightarrow\, c\ t_1\ \ldots\ t_n \;\bigl[{=}\; u\bigr]$
       
  2603 
       
  2604 or
       
  2605 
       
  2606 \qquad $\lbrakk P_1;\> \ldots;\> P_m\rbrakk \,\Longrightarrow\, c\ t_1\ \ldots\ t_n \,\equiv\, u$.
  2599 
  2607 
  2600 \flushitem{\textit{nitpick\_choice\_spec}}
  2608 \flushitem{\textit{nitpick\_choice\_spec}}
  2601 
  2609 
  2602 \nopagebreak
  2610 \nopagebreak
  2603 This attribute specifies the (free-form) specification of a constant defined
  2611 This attribute specifies the (free-form) specification of a constant defined
  2631 
  2639 
  2632 \qquad $c~{?}x_1~\ldots~{?}x_m \,\equiv\, \lambda y_1~\ldots~y_n.\; \textit{lfp}~(\lambda f.\; t)$
  2640 \qquad $c~{?}x_1~\ldots~{?}x_m \,\equiv\, \lambda y_1~\ldots~y_n.\; \textit{lfp}~(\lambda f.\; t)$
  2633 
  2641 
  2634 or
  2642 or
  2635 
  2643 
  2636 \qquad $c~{?}x_1~\ldots~{?}x_m \,\equiv\, \lambda y_1~\ldots~y_n.\; \textit{gfp}~(\lambda f.\; t)$
  2644 \qquad $c~{?}x_1~\ldots~{?}x_m \,\equiv\, \lambda y_1~\ldots~y_n.\; \textit{gfp}~(\lambda f.\; t).$
  2637 
  2645 
  2638 Nitpick assumes that the definition was made using a (co)inductive package
  2646 Nitpick assumes that the definition was made using a (co)inductive package
  2639 based on the user-specified introduction rules registered in Isabelle's internal
  2647 based on the user-specified introduction rules registered in Isabelle's internal
  2640 \textit{Spec\_Rules} table. The tool uses the introduction rules to ascertain
  2648 \textit{Spec\_Rules} table. The tool uses the introduction rules to ascertain
  2641 whether the definition is well-founded and the definition to generate a
  2649 whether the definition is well-founded and the definition to generate a