Psyntax : Psyntax_sig
Each function in the Psyntax structure has a corresponding function in the Rsyntax structure, and vice versa. One can flip-flop between the two structures by opening one and then the other. One can also use long identifiers in order to use both syntaxes at once.
- open Psyntax; open Psyntax val mk_var = fn : string * hol_type -> term val mk_const = fn : string * hol_type -> term val mk_comb = fn : term * term -> term val mk_abs = fn : term * term -> term val mk_primed_var = fn : string * hol_type -> term val mk_eq = fn : term * term -> term val mk_imp = fn : term * term -> term val mk_select = fn : term * term -> term val mk_forall = fn : term * term -> term val mk_exists = fn : term * term -> term val mk_conj = fn : term * term -> term val mk_disj = fn : term * term -> term val mk_cond = fn : term * term * term -> term val mk_pair = fn : term * term -> term val mk_let = fn : term * term -> term val mk_cons = fn : term * term -> term val mk_list = fn : term list * hol_type -> term val mk_pabs = fn : term * term -> term val dest_var = fn : term -> string * hol_type val dest_const = fn : term -> string * hol_type val dest_comb = fn : term -> term * term val dest_abs = fn : term -> term * term val dest_eq = fn : term -> term * term val dest_imp = fn : term -> term * term val dest_select = fn : term -> term * term val dest_forall = fn : term -> term * term val dest_exists = fn : term -> term * term val dest_conj = fn : term -> term * term val dest_disj = fn : term -> term * term val dest_cond = fn : term -> term * term * term val dest_pair = fn : term -> term * term val dest_let = fn : term -> term * term val dest_cons = fn : term -> term * term val dest_list = fn : term -> term list * term val dest_pabs = fn : term -> term * term val mk_type = fn : string * hol_type list -> hol_type val dest_type = fn : hol_type -> string * hol_type list val subst = fn : (term * term) list -> term -> term val subst_occs = fn : int list list -> (term * term) list -> term -> term val inst = fn : term list -> (hol_type * hol_type) list -> term -> term val INST = fn : (term * term) list -> thm -> thm val match_type = fn : hol_type -> hol_type -> (hol_type * hol_type) list val match_term = fn : term -> term -> (term * term) list * (hol_type * hol_type) list val SUBST = fn : (thm * term) list -> term -> thm -> thm val SUBST_CONV = fn : (thm * term) list -> term -> term -> thm val INST_TYPE = fn : (hol_type * hol_type) list -> thm -> thm val INST_TY_TERM = fn : (term * term) list * (hol_type * hol_type) list -> thm -> thm val new_type = fn : int -> string -> unit val new_constant = fn : string * hol_type -> unit val new_infix = fn : string * hol_type * int -> unit val new_binder = fn : string * hol_type -> unit val new_specification = fn : string -> (string * string * int) list -> thm -> thm val new_type_definition = fn : string * term * thm -> thm val new_recursive_definition = fn : bool * int -> thm -> string -> term -> thm val define_new_type_bijections = fn : string -> string -> string -> thm -> thm