Structure quantHeuristicsLibAbbrev


Source File Identifier index Theory binding index

signature quantHeuristicsLibAbbrev =
sig
 include Abbrev

 type selection_fun = term -> (term -> int) -> term -> (term * string) list

  (* The main conv and tactic *)

  (* introduce a new variable as abbreviation for terms selected by the selection_funs
     and try to instantiate this variable using the quantifier heuristics *)
  val QUANT_ABBREV_CONV        : selection_fun list -> quantHeuristicsLibBase.quant_param list -> conv
  val QUANT_ABBREV_TAC         : selection_fun list -> quantHeuristicsLibBase.quant_param list -> tactic

  (* a simple version that does not try to instantiate the new quatifier *)
  val SIMPLE_QUANT_ABBREV_CONV : selection_fun list -> conv
  val SIMPLE_QUANT_ABBREV_TAC  : selection_fun list -> tactic


  (* Some simple selection funs *)
  val select_funs_combine : selection_fun list -> selection_fun

  val select_fun_constant : term -> int -> string -> selection_fun
  val FST_select_fun      : selection_fun
  val SND_select_fun      : selection_fun
  val select_fun_pabs     : string -> selection_fun
  val PAIR_select_fun     : selection_fun

  val THE_select_fun      : selection_fun
  val IS_SOME_select_fun  : selection_fun

  val select_fun_match_occ   : int -> term frag list -> (term -> string) -> selection_fun
  val select_fun_match       : term frag list -> string -> selection_fun
  val select_fun_pattern_occ : int -> term frag list -> selection_fun
  val select_fun_pattern     : term frag list -> selection_fun

end


Source File Identifier index Theory binding index

HOL 4, Kananaskis-13