Structure realSyntax


Source File Identifier index Theory binding index

signature realSyntax =
sig
  include Abbrev

  (* terms and types *)
  val real_ty        : hol_type
  val zero_tm        : term
  val one_tm         : term

  (* unary operators *)
  val absval_tm      : term
  val negate_tm      : term
  val real_injection : term (* the injection from :num -> :real *)
  val inv_tm         : term

  (* binary operators *)
  val div_tm         : term
  val exp_tm         : term (* not the e of e^l, but rather real$pow *)
  val geq_tm         : term
  val greater_tm       : term
  val leq_tm         : term
  val less_tm        : term
  val max_tm         : term
  val min_tm         : term
  val minus_tm       : term
  val mult_tm        : term
  val plus_tm        : term
  val real_eq_tm     : term

  (* discriminators, constructors, etc *)

  val is_real_literal : term -> bool
  val term_of_int     : Arbint.int -> term
  val int_of_term     : term -> Arbint.int

  val mk_injected    : term -> term
  val dest_injected  : term -> term
  val is_injected    : term -> bool

  val is_negated     : term -> bool  (* if a term is of form ~ e *)
  val mk_negated     : term -> term
  val dest_negated   : term -> term

  val is_plus        : term -> bool
  val mk_plus        : (term * term) -> term
  val dest_plus      : term -> (term * term)
  val list_mk_plus   : (* non-empty *) term list -> term
  val strip_plus     : term -> term list

  val is_minus       : term -> bool
  val dest_minus     : term -> (term * term)
  val mk_minus       : (term * term) -> term

  val is_mult        : term -> bool
  val mk_mult        : (term * term) -> term
  val dest_mult      : term -> (term * term)
  val list_mk_mult   : (* non-empty *) term list -> term
  val strip_mult     : term -> term list

  val is_div         : term -> bool
  val dest_div       : term -> (term * term)
  val mk_div         : (term * term) -> term

  val is_absval      : term -> bool
  val mk_absval      : term -> term
  val dest_absval    : term -> term

  val is_less        : term -> bool
  val dest_less      : term -> (term * term)
  val mk_less        : (term * term) -> term

  val is_leq         : term -> bool
  val dest_leq       : term -> (term * term)
  val mk_leq         : (term * term) -> term

  val is_greater       : term -> bool
  val dest_greater     : term -> (term * term)
  val mk_greater       : (term * term) -> term

  val is_geq         : term -> bool
  val dest_geq       : term -> (term * term)
  val mk_geq         : (term * term) -> term

  val is_min         : term -> bool
  val dest_min       : term -> (term * term)
  val mk_min         : (term * term) -> term

  val is_max         : term -> bool
  val dest_max       : term -> (term * term)
  val mk_max         : (term * term) -> term

  val is_pow         : term -> bool
  val dest_pow       : term -> term * term
  val mk_pow         : term * term -> term

  val is_inv         : term -> bool
  val dest_inv       : term -> term
  val mk_inv         : term -> term

end


Source File Identifier index Theory binding index

HOL 4, Kananaskis-14