5 \subsection{Derived specifications} |
5 \subsection{Derived specifications} |
6 |
6 |
7 \indexisarcmd{axiomatization} |
7 \indexisarcmd{axiomatization} |
8 \indexisarcmd{definition}\indexisaratt{defn} |
8 \indexisarcmd{definition}\indexisaratt{defn} |
9 \indexisarcmd{abbreviation}\indexisarcmd{print-abbrevs} |
9 \indexisarcmd{abbreviation}\indexisarcmd{print-abbrevs} |
10 \indexisarcmd{notation} |
10 \indexisarcmd{notation}\indexisarcmd{no-notation} |
11 \begin{matharray}{rcll} |
11 \begin{matharray}{rcll} |
12 \isarcmd{axiomatization} & : & \isarkeep{local{\dsh}theory} & (axiomatic!)\\ |
12 \isarcmd{axiomatization} & : & \isarkeep{local{\dsh}theory} & (axiomatic!)\\ |
13 \isarcmd{definition} & : & \isarkeep{local{\dsh}theory} \\ |
13 \isarcmd{definition} & : & \isarkeep{local{\dsh}theory} \\ |
14 defn & : & \isaratt \\ |
14 defn & : & \isaratt \\ |
15 \isarcmd{abbreviation} & : & \isarkeep{local{\dsh}theory} \\ |
15 \isarcmd{abbreviation} & : & \isarkeep{local{\dsh}theory} \\ |
16 \isarcmd{print_abbrevs}^* & : & \isarkeep{theory~|~proof} \\ |
16 \isarcmd{print_abbrevs}^* & : & \isarkeep{theory~|~proof} \\ |
17 \isarcmd{notation} & : & \isarkeep{local{\dsh}theory} \\ |
17 \isarcmd{notation} & : & \isarkeep{local{\dsh}theory} \\ |
|
18 \isarcmd{no_notation} & : & \isarkeep{local{\dsh}theory} \\ |
18 \end{matharray} |
19 \end{matharray} |
19 |
20 |
20 These specification mechanisms provide a slightly more abstract view |
21 These specification mechanisms provide a slightly more abstract view |
21 than the underlying primitives of $\CONSTS$, $\DEFS$ (see |
22 than the underlying primitives of $\CONSTS$, $\DEFS$ (see |
22 \S\ref{sec:consts}), and $\isarkeyword{axioms}$ (see |
23 \S\ref{sec:consts}), and $\isarkeyword{axioms}$ (see |
28 ; |
29 ; |
29 'definition' target? (decl 'where')? thmdecl? prop |
30 'definition' target? (decl 'where')? thmdecl? prop |
30 ; |
31 ; |
31 'abbreviation' target? mode? (decl 'where')? prop |
32 'abbreviation' target? mode? (decl 'where')? prop |
32 ; |
33 ; |
33 'notation' target? mode? (nameref mixfix + 'and') |
34 ('notation' | 'no\_notation') target? mode? (nameref mixfix + 'and') |
34 ; |
35 ; |
35 |
36 |
36 fixes: ((name ('::' type)? mixfix? | vars) + 'and') |
37 fixes: ((name ('::' type)? mixfix? | vars) + 'and') |
37 ; |
38 ; |
38 specs: (thmdecl? props + 'and') |
39 specs: (thmdecl? props + 'and') |
90 existing constant or fixed variable. This is a robust interface to |
91 existing constant or fixed variable. This is a robust interface to |
91 the underlying $\isarkeyword{syntax}$ primitive |
92 the underlying $\isarkeyword{syntax}$ primitive |
92 (\S\ref{sec:syn-trans}). Type declaration and internal syntactic |
93 (\S\ref{sec:syn-trans}). Type declaration and internal syntactic |
93 representation of the given entity is retrieved from the context. |
94 representation of the given entity is retrieved from the context. |
94 |
95 |
95 \end{descr} |
96 \item $\isarkeyword{no_notation}$ is similar to |
96 |
97 $\isarkeyword{notation}$, but removes the specified syntax annotation |
97 All of these specifications support local theory targets (cf.\ |
98 from the present context. |
|
99 |
|
100 \end{descr} |
|
101 |
|
102 All of these specifications support local theory targets (cf.\ |
98 \S\ref{sec:target}). |
103 \S\ref{sec:target}). |
99 |
104 |
100 |
105 |
101 \subsection{Generic declarations} |
106 \subsection{Generic declarations} |
102 |
107 |