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 |