12 val document_raw: string |
12 val document_raw: string |
13 val thy_begin: string |
13 val thy_begin: string |
14 val thy_end: string |
14 val thy_end: string |
15 val thy_decl: string |
15 val thy_decl: string |
16 val thy_decl_block: string |
16 val thy_decl_block: string |
|
17 val thy_defn: string |
|
18 val thy_stmt: string |
17 val thy_load: string |
19 val thy_load: string |
18 val thy_goal: string |
20 val thy_goal: string |
|
21 val thy_goal_defn: string |
|
22 val thy_goal_stmt: string |
19 val qed: string |
23 val qed: string |
20 val qed_script: string |
24 val qed_script: string |
21 val qed_block: string |
25 val qed_block: string |
22 val qed_global: string |
26 val qed_global: string |
23 val prf_goal: string |
27 val prf_goal: string |
91 val document_raw = "document_raw"; |
95 val document_raw = "document_raw"; |
92 val thy_begin = "thy_begin"; |
96 val thy_begin = "thy_begin"; |
93 val thy_end = "thy_end"; |
97 val thy_end = "thy_end"; |
94 val thy_decl = "thy_decl"; |
98 val thy_decl = "thy_decl"; |
95 val thy_decl_block = "thy_decl_block"; |
99 val thy_decl_block = "thy_decl_block"; |
|
100 val thy_defn = "thy_defn"; |
|
101 val thy_stmt = "thy_stmt"; |
96 val thy_load = "thy_load"; |
102 val thy_load = "thy_load"; |
97 val thy_goal = "thy_goal"; |
103 val thy_goal = "thy_goal"; |
|
104 val thy_goal_defn = "thy_goal_defn"; |
|
105 val thy_goal_stmt = "thy_goal_stmt"; |
98 val qed = "qed"; |
106 val qed = "qed"; |
99 val qed_script = "qed_script"; |
107 val qed_script = "qed_script"; |
100 val qed_block = "qed_block"; |
108 val qed_block = "qed_block"; |
101 val qed_global = "qed_global"; |
109 val qed_global = "qed_global"; |
102 val prf_goal = "prf_goal"; |
110 val prf_goal = "prf_goal"; |
115 val before_command = "before_command"; |
123 val before_command = "before_command"; |
116 val quasi_command = "quasi_command"; |
124 val quasi_command = "quasi_command"; |
117 |
125 |
118 val command_kinds = |
126 val command_kinds = |
119 [diag, document_heading, document_body, document_raw, thy_begin, thy_end, thy_load, thy_decl, |
127 [diag, document_heading, document_body, document_raw, thy_begin, thy_end, thy_load, thy_decl, |
120 thy_decl_block, thy_goal, qed, qed_script, qed_block, qed_global, prf_goal, prf_block, |
128 thy_decl_block, thy_defn, thy_stmt, thy_goal, thy_goal_defn, thy_goal_stmt, qed, qed_script, |
121 next_block, prf_open, prf_close, prf_chain, prf_decl, prf_asm, prf_asm_goal, prf_script, |
129 qed_block, qed_global, prf_goal, prf_block, next_block, prf_open, prf_close, prf_chain, |
122 prf_script_goal, prf_script_asm_goal]; |
130 prf_decl, prf_asm, prf_asm_goal, prf_script, prf_script_goal, prf_script_asm_goal]; |
123 |
131 |
124 |
132 |
125 (* specifications *) |
133 (* specifications *) |
126 |
134 |
127 type spec = (string * string list) * string list; |
135 type spec = (string * string list) * string list; |
254 val is_theory_end = command_category [thy_end]; |
262 val is_theory_end = command_category [thy_end]; |
255 |
263 |
256 val is_theory_load = command_category [thy_load]; |
264 val is_theory_load = command_category [thy_load]; |
257 |
265 |
258 val is_theory = command_category |
266 val is_theory = command_category |
259 [thy_begin, thy_end, thy_load, thy_decl, thy_decl_block, thy_goal]; |
267 [thy_begin, thy_end, thy_load, thy_decl, thy_decl_block, thy_defn, thy_stmt, thy_goal, |
|
268 thy_goal_defn, thy_goal_stmt]; |
260 |
269 |
261 val is_theory_body = command_category |
270 val is_theory_body = command_category |
262 [thy_load, thy_decl, thy_decl_block, thy_goal]; |
271 [thy_load, thy_decl, thy_decl_block, thy_defn, thy_stmt, thy_goal, thy_goal_defn, thy_goal_stmt]; |
263 |
272 |
264 val is_proof = command_category |
273 val is_proof = command_category |
265 [qed, qed_script, qed_block, qed_global, prf_goal, prf_block, next_block, prf_open, |
274 [qed, qed_script, qed_block, qed_global, prf_goal, prf_block, next_block, prf_open, |
266 prf_close, prf_chain, prf_decl, prf_asm, prf_asm_goal, prf_script, prf_script_goal, |
275 prf_close, prf_chain, prf_decl, prf_asm, prf_asm_goal, prf_script, prf_script_goal, |
267 prf_script_asm_goal]; |
276 prf_script_asm_goal]; |
269 val is_proof_body = command_category |
278 val is_proof_body = command_category |
270 [diag, document_heading, document_body, document_raw, prf_block, next_block, prf_open, |
279 [diag, document_heading, document_body, document_raw, prf_block, next_block, prf_open, |
271 prf_close, prf_chain, prf_decl, prf_asm, prf_asm_goal, prf_script, prf_script_goal, |
280 prf_close, prf_chain, prf_decl, prf_asm, prf_asm_goal, prf_script, prf_script_goal, |
272 prf_script_asm_goal]; |
281 prf_script_asm_goal]; |
273 |
282 |
274 val is_theory_goal = command_category [thy_goal]; |
283 val is_theory_goal = command_category [thy_goal, thy_goal_defn, thy_goal_stmt]; |
275 val is_proof_goal = command_category [prf_goal, prf_asm_goal, prf_script_goal, prf_script_asm_goal]; |
284 val is_proof_goal = command_category [prf_goal, prf_asm_goal, prf_script_goal, prf_script_asm_goal]; |
276 val is_qed = command_category [qed, qed_script, qed_block]; |
285 val is_qed = command_category [qed, qed_script, qed_block]; |
277 val is_qed_global = command_category [qed_global]; |
286 val is_qed_global = command_category [qed_global]; |
278 |
287 |
279 val is_proof_open = |
288 val is_proof_open = |