src/Provers/simplifier.ML
changeset 8815 187547eae4c5
parent 8727 71acc2d8991a
child 8879 bf487b29a9a6
equal deleted inserted replaced
8814:0a5edcbe0695 8815:187547eae4c5
   477 
   477 
   478 (** proof methods **)
   478 (** proof methods **)
   479 
   479 
   480 (* simplification *)
   480 (* simplification *)
   481 
   481 
   482 val colon = Args.$$$ ":";
       
   483 
       
   484 val simp_options =
   482 val simp_options =
   485  (Args.$$$ "no_asm" -- colon >> K simp_tac ||
   483  (Args.parens (Args.$$$ "no_asm") >> K simp_tac ||
   486   Args.$$$ "no_asm_simp" -- colon >> K asm_simp_tac ||
   484   Args.parens (Args.$$$ "no_asm_simp") >> K asm_simp_tac ||
   487   Args.$$$ "no_asm_use" -- colon >> K full_simp_tac ||
   485   Args.parens (Args.$$$ "no_asm_use") >> K full_simp_tac ||
   488   Scan.succeed asm_full_simp_tac);
   486   Scan.succeed asm_full_simp_tac);
   489 
   487 
   490 val simp_modifiers =
   488 val simp_modifiers =
   491  [Args.$$$ simpN -- colon >> K (I, simp_add_local),
   489  [Args.$$$ simpN -- Args.colon >> K (I, simp_add_local),
   492   Args.$$$ simpN -- Args.$$$ addN -- colon >> K (I, simp_add_local),
   490   Args.$$$ simpN -- Args.$$$ addN -- Args.colon >> K (I, simp_add_local),
   493   Args.$$$ simpN -- Args.$$$ delN -- colon >> K (I, simp_del_local),
   491   Args.$$$ simpN -- Args.$$$ delN -- Args.colon >> K (I, simp_del_local),
   494   Args.$$$ simpN -- Args.$$$ onlyN -- colon >> K (map_local_simpset clear_ss, simp_add_local),
   492   Args.$$$ simpN -- Args.$$$ onlyN -- Args.colon >> K (map_local_simpset clear_ss, simp_add_local),
   495   Args.$$$ otherN -- colon >> K (I, I)];
   493   Args.$$$ otherN -- Args.colon >> K (I, I)];
   496 
   494 
   497 val simp_modifiers' =
   495 val simp_modifiers' =
   498  [Args.$$$ addN -- colon >> K (I, simp_add_local),
   496  [Args.$$$ addN -- Args.colon >> K (I, simp_add_local),
   499   Args.$$$ delN -- colon >> K (I, simp_del_local),
   497   Args.$$$ delN -- Args.colon >> K (I, simp_del_local),
   500   Args.$$$ onlyN -- colon >> K (map_local_simpset clear_ss, simp_add_local),
   498   Args.$$$ onlyN -- Args.colon >> K (map_local_simpset clear_ss, simp_add_local),
   501   Args.$$$ otherN -- colon >> K (I, I)];
   499   Args.$$$ otherN -- Args.colon >> K (I, I)];
   502 
   500 
   503 fun simp_args more_mods =
   501 fun simp_args more_mods =
   504   Method.sectioned_args (Args.bang_facts -- Scan.lift simp_options) (more_mods @ simp_modifiers');
   502   Method.sectioned_args (Args.bang_facts -- Scan.lift simp_options) (more_mods @ simp_modifiers');
   505 
   503 
   506 
   504