src/Doc/Isar_Ref/HOL_Specific.thy
changeset 75415 e0fa345f1aab
parent 75414 7b75a2c5b142
child 75878 fcd118d9242f
equal deleted inserted replaced
75414:7b75a2c5b142 75415:e0fa345f1aab
  2280     @{command_def (HOL) "code_reserved"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2280     @{command_def (HOL) "code_reserved"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2281     @{command_def (HOL) "code_printing"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2281     @{command_def (HOL) "code_printing"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2282     @{command_def (HOL) "code_identifier"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2282     @{command_def (HOL) "code_identifier"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2283     @{command_def (HOL) "code_monad"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2283     @{command_def (HOL) "code_monad"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2284     @{command_def (HOL) "code_reflect"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2284     @{command_def (HOL) "code_reflect"} & : & \<open>theory \<rightarrow> theory\<close> \\
  2285     @{command_def (HOL) "code_pred"} & : & \<open>theory \<rightarrow> proof(prove)\<close>
  2285     @{command_def (HOL) "code_pred"} & : & \<open>theory \<rightarrow> proof(prove)\<close> \\
       
  2286     @{attribute_def (HOL) code_timing} & : & \<open>attribute\<close> \\
       
  2287     @{attribute_def (HOL) code_simp_trace} & : & \<open>attribute\<close> \\
       
  2288     @{attribute_def (HOL) code_runtime_trace} & : & \<open>attribute\<close>
  2286   \end{matharray}
  2289   \end{matharray}
  2287 
  2290 
  2288   \<^rail>\<open>
  2291   \<^rail>\<open>
  2289     @@{command (HOL) export_code} @'open'? \<newline> (const_expr+) (export_target*)
  2292     @@{command (HOL) export_code} @'open'? \<newline> (const_expr+) (export_target*)
  2290     ;
  2293     ;
  2499 
  2502 
  2500   \<^descr> @{command (HOL) "code_pred"} creates code equations for a predicate given
  2503   \<^descr> @{command (HOL) "code_pred"} creates code equations for a predicate given
  2501   a set of introduction rules. Optional mode annotations determine which
  2504   a set of introduction rules. Optional mode annotations determine which
  2502   arguments are supposed to be input or output. If alternative introduction
  2505   arguments are supposed to be input or output. If alternative introduction
  2503   rules are declared, one must prove a corresponding elimination rule.
  2506   rules are declared, one must prove a corresponding elimination rule.
       
  2507 
       
  2508   \<^descr> @{attribute (HOL) "code_timing"} scrapes timing samples from different
       
  2509   stages of the code generator.
       
  2510 
       
  2511   \<^descr> @{attribute (HOL) "code_simp_trace"} traces the simplifier when it is
       
  2512   used with code equations.
       
  2513 
       
  2514   \<^descr> @{attribute (HOL) "code_runtime_trace"} traces ML code generated
       
  2515   dynamically for execution.
  2504 \<close>
  2516 \<close>
  2505 
  2517 
  2506 end
  2518 end