src/Provers/classical.ML
changeset 32740 9dd0a2f83429
parent 32261 05e687ddbcee
child 32862 1fc86cec3bdf
equal deleted inserted replaced
32739:31e75ad9ae17 32740:9dd0a2f83429
    72   val global_claset_of  : theory -> claset
    72   val global_claset_of  : theory -> claset
    73   val claset_of         : Proof.context -> claset
    73   val claset_of         : Proof.context -> claset
    74 
    74 
    75   val fast_tac          : claset -> int -> tactic
    75   val fast_tac          : claset -> int -> tactic
    76   val slow_tac          : claset -> int -> tactic
    76   val slow_tac          : claset -> int -> tactic
    77   val weight_ASTAR      : int ref
    77   val weight_ASTAR      : int Unsynchronized.ref
    78   val astar_tac         : claset -> int -> tactic
    78   val astar_tac         : claset -> int -> tactic
    79   val slow_astar_tac    : claset -> int -> tactic
    79   val slow_astar_tac    : claset -> int -> tactic
    80   val best_tac          : claset -> int -> tactic
    80   val best_tac          : claset -> int -> tactic
    81   val first_best_tac    : claset -> int -> tactic
    81   val first_best_tac    : claset -> int -> tactic
    82   val slow_best_tac     : claset -> int -> tactic
    82   val slow_best_tac     : claset -> int -> tactic
   744   ObjectLogic.atomize_prems_tac THEN'
   744   ObjectLogic.atomize_prems_tac THEN'
   745   SELECT_GOAL (BEST_FIRST (has_fewer_prems 1, sizef) (slow_step_tac cs 1));
   745   SELECT_GOAL (BEST_FIRST (has_fewer_prems 1, sizef) (slow_step_tac cs 1));
   746 
   746 
   747 
   747 
   748 (***ASTAR with weight weight_ASTAR, by Norbert Voelker*)
   748 (***ASTAR with weight weight_ASTAR, by Norbert Voelker*)
   749 val weight_ASTAR = ref 5;
   749 val weight_ASTAR = Unsynchronized.ref 5;
   750 
   750 
   751 fun astar_tac cs =
   751 fun astar_tac cs =
   752   ObjectLogic.atomize_prems_tac THEN'
   752   ObjectLogic.atomize_prems_tac THEN'
   753   SELECT_GOAL
   753   SELECT_GOAL
   754     (ASTAR (has_fewer_prems 1, fn lev => fn thm => size_of_thm thm + !weight_ASTAR * lev)
   754     (ASTAR (has_fewer_prems 1, fn lev => fn thm => size_of_thm thm + !weight_ASTAR * lev)