src/HOL/TLA/Action.thy
changeset 42814 5af15f1e2ef6
parent 42793 88bee9f6eec7
child 47968 3119ad2b5ad3
equal deleted inserted replaced
42813:6c841fa92fa2 42814:5af15f1e2ef6
   118       Const _ $ (Const ("Intensional.Valid", _) $ _) =>
   118       Const _ $ (Const ("Intensional.Valid", _) $ _) =>
   119               (flatten (action_unlift th) handle THM _ => th)
   119               (flatten (action_unlift th) handle THM _ => th)
   120     | _ => th;
   120     | _ => th;
   121 *}
   121 *}
   122 
   122 
   123 attribute_setup action_unlift = {* Scan.succeed (Thm.rule_attribute (K action_unlift)) *} ""
   123 attribute_setup action_unlift = {* Scan.succeed (Thm.rule_attribute (K action_unlift)) *}
   124 attribute_setup action_rewrite = {* Scan.succeed (Thm.rule_attribute (K action_rewrite)) *} ""
   124 attribute_setup action_rewrite = {* Scan.succeed (Thm.rule_attribute (K action_rewrite)) *}
   125 attribute_setup action_use = {* Scan.succeed (Thm.rule_attribute (K action_use)) *} ""
   125 attribute_setup action_use = {* Scan.succeed (Thm.rule_attribute (K action_use)) *}
   126 
   126 
   127 
   127 
   128 (* =========================== square / angle brackets =========================== *)
   128 (* =========================== square / angle brackets =========================== *)
   129 
   129 
   130 lemma idle_squareI: "(s,t) |= unchanged v ==> (s,t) |= [A]_v"
   130 lemma idle_squareI: "(s,t) |= unchanged v ==> (s,t) |= [A]_v"
   281   clarsimp_tac (ctxt addSIs [base_vars RS @{thm base_enabled}]);
   281   clarsimp_tac (ctxt addSIs [base_vars RS @{thm base_enabled}]);
   282 *}
   282 *}
   283 
   283 
   284 method_setup enabled = {*
   284 method_setup enabled = {*
   285   Attrib.thm >> (fn th => fn ctxt => SIMPLE_METHOD' (enabled_tac ctxt th))
   285   Attrib.thm >> (fn th => fn ctxt => SIMPLE_METHOD' (enabled_tac ctxt th))
   286 *} ""
   286 *}
   287 
   287 
   288 (* Example *)
   288 (* Example *)
   289 
   289 
   290 lemma
   290 lemma
   291   assumes "basevars (x,y,z)"
   291   assumes "basevars (x,y,z)"