Structure pairLib


Source File Identifier index Theory binding index

signature pairLib =
sig
 include Abbrev

 val add_pair_compset : computeLib.compset -> unit

 (* from pairSyntax *)

 val mk_prod          : hol_type * hol_type -> hol_type
 val dest_prod        : hol_type -> hol_type * hol_type
 val list_mk_prod     : hol_type list -> hol_type
 val strip_prod       : hol_type -> hol_type list

 val comma_tm         : term
 val fst_tm           : term
 val snd_tm           : term
 val uncurry_tm       : term
 val curry_tm         : term
 val pair_map_tm      : term

 val mk_pair          : term * term -> term
 val mk_fst           : term -> term
 val mk_snd           : term -> term
 val mk_curry         : term * term * term -> term
 val mk_uncurry       : term * term -> term
 val mk_pair_map      : term * term -> term
 val mk_pabs          : term * term -> term
 val mk_pforall       : term * term -> term
 val mk_pexists       : term * term -> term
 val mk_pexists1      : term * term -> term
 val mk_pselect       : term * term -> term

 val dest_pair        : term -> term * term
 val dest_fst         : term -> term
 val dest_snd         : term -> term
 val dest_curry       : term -> term * term * term
 val dest_uncurry     : term -> term * term
 val dest_pair_map    : term -> term * term
 val dest_pabs        : term -> term * term
 val pbvar            : term -> term
 val pbody            : term -> term
 val dest_pforall     : term -> term * term
 val dest_pexists     : term -> term * term
 val dest_pexists1    : term -> term * term
 val dest_pselect     : term -> term * term
 val dest_pbinder     : term -> exn -> term -> term * term

 val list_mk_pair     : term list -> term
 val list_mk_pabs     : term list * term -> term
 val list_mk_pforall  : term list * term -> term
 val list_mk_pexists  : term list * term -> term
 val strip_pair       : term -> term list
 val spine_pair       : term -> term list
 val unstrip_pair     : hol_type -> term list -> term * term list
 val strip_pabs       : term -> term list * term
 val strip_pforall    : term -> term list * term
 val strip_pexists    : term -> term list * term

 val is_pair          : term -> bool
 val is_fst           : term -> bool
 val is_snd           : term -> bool
 val is_curry         : term -> bool
 val is_uncurry       : term -> bool
 val is_pair_map      : term -> bool
 val is_pabs          : term -> bool
 val is_pforall       : term -> bool
 val is_pexists       : term -> bool
 val is_pexists1      : term -> bool
 val is_pselect       : term -> bool
 val is_vstruct       : term -> bool

 val genvarstruct     : hol_type -> term

 (* From PairedLambda *)

 val PAIRED_BETA_CONV : conv
 val PAIRED_ETA_CONV  : conv
 val GEN_BETA_CONV    : conv
 val let_CONV         : conv
 val LET_SIMP_CONV    : bool -> conv
 val GEN_BETA_RULE    : thm -> thm
 val GEN_BETA_TAC     : tactic

 (* from Pair_basic *)

(*
 val MK_PAIR : thm * thm -> thm
 val PABS : term -> thm -> thm
 val PABS_CONV : conv -> conv
 val PSUB_CONV : conv -> conv
 val CURRY_CONV : conv
 val UNCURRY_CONV : conv
 val PBETA_CONV : conv
 val PBETA_RULE : thm -> thm
 val PBETA_TAC : tactic
 val RIGHT_PBETA : thm -> thm
 val LIST_PBETA_CONV : conv
 val RIGHT_LIST_PBETA : thm -> thm
 val LEFT_PBETA : thm -> thm
 val LEFT_LIST_PBETA : thm -> thm
 val UNPBETA_CONV : term -> conv
 val PETA_CONV : conv
 val PALPHA_CONV : term -> conv
 val GEN_PALPHA_CONV : term -> conv
 val PALPHA : term -> conv
 val paconv : term -> term -> bool
 val PAIR_CONV : conv -> conv
*)

 (* from pairTools *)

 val PairCases        : tactic
 val PairCases_on     : term quotation -> tactic
 val PGEN             : term -> term -> thm -> thm
 val PGEN_TAC         : term -> tactic
 val PFUN_EQ_RULE     : thm -> thm
 val LET_INTRO        : thm -> thm
 val LET_EQ_TAC       : thm list -> tactic
 val TUPLE            : term -> thm -> thm
 val TUPLE_TAC        : term -> tactic

 val LET_INTRO_TAC    : tactic
 val split_uncurry_arg_tac : term -> tactic
 val pairarg_tac      : tactic
 val split_pair_case0_tac : term -> tactic
 val split_pair_case_tac : tactic

 val new_specification : string * string list * thm -> thm
end


Source File Identifier index Theory binding index

HOL 4, Kananaskis-14