1:- module(verify_type, [
    2             atom_t/1,
    3             integer_t/1,
    4             float_t/1,
    5             rational_t/1,
    6             number_t/1,
    7             string_t/1,
    8             atomic_t/1,
    9             compound_t/1,
   10             callable_t/1
   11         ]).   12
   13atom_t(Term) :-
   14    freeze(Term, atom(Term)).
   15
   16integer_t(Term) :-
   17    freeze(Term, integer(Term)).
   18
   19float_t(Term) :-
   20    freeze(Term, float(Term)).
   21
   22rational_t(Term) :-
   23    freeze(Term, rational(Term)).
   24
   25number_t(Term) :-
   26    freeze(Term, number(Term)).
   27
   28string_t(Term) :-
   29    freeze(Term, string(Term)).
   30
   31atomic_t(Term) :-
   32    freeze(Term, atomic(Term)).
   33
   34compound_t(Term) :-
   35    freeze(Term, compound(Term)).
   36
   37callable_t(Term) :-
   38    freeze(Term, callable(Term))