Structure listLib


Source File Identifier index Theory binding index

signature listLib =
sig
  include Abbrev

  val mk_list_type   : hol_type -> hol_type
  val dest_list_type : hol_type -> hol_type
  val is_list_type   : hol_type -> bool

  val eltype         : term -> hol_type

  val nil_tm         : term
  val cons_tm        : term
  val null_tm        : term
  val hd_tm          : term
  val tl_tm          : term
  val append_tm      : term
  val flat_tm        : term
  val length_tm      : term
  val map_tm         : term
  val map2_tm        : term
  val mem_tm         : term
  val filter_tm      : term
  val foldr_tm       : term
  val foldl_tm       : term
  val every_tm       : term
  val exists_tm      : term
  val el_tm          : term
  val zip_tm         : term
  val unzip_tm       : term
  val sum_tm         : term

  val mk_nil         : hol_type -> term
  val mk_cons        : term * term -> term
  val mk_null        : term -> term
  val mk_hd          : term -> term
  val mk_tl          : term -> term
  val mk_append      : term * term -> term
  val mk_flat        : term -> term
  val mk_length      : term -> term
  val mk_map         : term * term -> term
  val mk_map2        : term * term * term -> term
  val mk_mem         : term * term -> term
  val mk_filter      : term * term -> term
  val mk_foldr       : term * term * term -> term
  val mk_foldl       : term * term * term -> term
  val mk_every       : term * term -> term
  val mk_exists      : term * term -> term
  val mk_el          : term * term -> term
  val mk_zip         : term * term -> term
  val mk_unzip       : term -> term
  val mk_sum         : term -> term
  val mk_list        : term list * hol_type -> term

  val dest_nil       : term -> hol_type
  val dest_cons      : term -> term * term
  val dest_null      : term -> term
  val dest_hd        : term -> term
  val dest_tl        : term -> term
  val dest_append    : term -> term * term
  val dest_flat      : term -> term
  val dest_length    : term -> term
  val dest_map       : term -> term * term
  val dest_map2      : term -> term * term * term
  val dest_mem       : term -> term * term
  val dest_filter    : term -> term * term
  val dest_foldr     : term -> term * term * term
  val dest_foldl     : term -> term * term * term
  val dest_every     : term -> term * term
  val dest_exists    : term -> term * term
  val dest_el        : term -> term * term
  val dest_zip       : term -> term * term
  val dest_unzip     : term -> term
  val dest_sum       : term -> term
  val dest_list      : term -> term list * hol_type

  val is_nil         : term -> bool
  val is_cons        : term -> bool
  val is_null        : term -> bool
  val is_hd          : term -> bool
  val is_tl          : term -> bool
  val is_append      : term -> bool
  val is_flat        : term -> bool
  val is_length      : term -> bool
  val is_map         : term -> bool
  val is_map2        : term -> bool
  val is_mem         : term -> bool
  val is_filter      : term -> bool
  val is_foldr       : term -> bool
  val is_foldl       : term -> bool
  val is_every       : term -> bool
  val is_exists      : term -> bool
  val is_el          : term -> bool
  val is_zip         : term -> bool
  val is_unzip       : term -> bool
  val is_sum         : term -> bool
  val is_list        : term -> bool


 (* include rich_listSyntax *)

(*
  val LIST_INDUCT : thm * thm -> thm
  val LIST_INDUCT_TAC : tactic
  val SNOC_INDUCT_TAC : tactic
  val EQ_LENGTH_INDUCT_TAC : tactic
  val EQ_LENGTH_SNOC_INDUCT_TAC : tactic
  val new_list_rec_definition : string * term -> thm
  val list_EQ_CONV : conv -> conv
  val LENGTH_CONV : conv
  val APPEND_CONV : conv
  val MAP_CONV : conv -> conv
  val FOLDR_CONV : conv -> conv
  val FOLDL_CONV : conv -> conv
  val list_FOLD_CONV : thm -> conv -> conv
  val SUM_CONV : conv
  val FILTER_CONV : conv -> conv
  val SNOC_CONV : conv
  val REVERSE_CONV : conv
  val FLAT_CONV : conv
  val EL_CONV : conv
  val ELL_CONV : conv
  val MAP2_CONV : conv -> conv
  val ALL_EL_CONV : conv -> conv
  val SOME_EL_CONV : conv -> conv
  val IS_EL_CONV : conv -> conv
  val AND_EL_CONV : conv
  val OR_EL_CONV : conv
  val LAST_CONV : conv
  val BUTLAST_CONV : conv
  val SEG_CONV : conv
  val LASTN_CONV : conv
  val BUTLASTN_CONV : conv
  val BUTFIRSTN_CONV : conv
  val FIRSTN_CONV : conv
  val SCANL_CONV : conv -> conv
  val SCANR_CONV : conv -> conv
  val REPLICATE_CONV : conv
  val GENLIST_CONV : conv -> conv

  val LIST_CONV : conv
  val X_LIST_CONV : {Aux_thms:thm list, Fold_thms:thm list} -> conv
  val PURE_LIST_CONV : {Aux_thms:thm list, Fold_thms:thm list} -> conv
  val set_list_thm_database : {Aux_thms:thm list, Fold_thms:thm list} -> unit
  val list_thm_database : unit -> {Aux_thms:thm list, Fold_thms:thm list}
*)
end


Source File Identifier index Theory binding index


HOL 4,   Kananaskis-3