dest_small_numeral : term -> int

SYNOPSIS
Converts a HOL numeral term to machine integer.

DESCRIPTION
The call dest_small_numeral t where t is the HOL numeral representation of n, returns n as an OCaml machine integer. It fails if the term is not a numeral or the result doesn't fit in a machine integer.

FAILURE CONDITIONS
Fails if the term is not a numeral or if the result doesn't fit in a machine integer.

EXAMPLE
  # dest_small_numeral `12`;;
  val it : int = 12

  # dest_small_numeral `18446744073709551616`;;
  Exception: Failure "int_of_big_int".

COMMENTS
If overflow is a danger, you may be better off using OCaml type num and the analogous function dest_numeral. However, none of HOL's inference rules depend on the behaviour of machine integers, so logical soundness is not an issue.

SEE ALSO
dest_numeral, is_numeral, mk_numeral, mk_small_numeral, rat_of_term.