dest_type : hol_type -> string * hol_type list

SYNOPSIS
Breaks apart a type (other than a variable type).

DESCRIBE
If ty is a base type, then dest_type t returns ("ty",[]). If ty is a compound type (ty1,...,tyn)tyop, then (dest_type ty} returns (tyop,[ty1,...,tyn]).

EXAMPLE
- dest_type bool;
> val it = ("bool", []) : string * hol_type list

- dest_type (alpha --> bool);
> val it = ("fun", [`:'a`, `:bool`]) : string * hol_type list

FAILURE
Fails if ty is a type variable.

SEEALSO  mk_type,   dest_vartype

HOL  Kananaskis 0