1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
\DOC is_binop
\TYPE {is_binop : term -> term -> bool}
\SYNOPSIS
Tests if a term is an application of the given binary operator.
\DESCRIBE
The call {is_binop op t} returns {true} if the term {t} is of the form
{(op l) r} for any two terms {l} and {r}, and {false} otherwise.
\FAILURE
Never fails.
\EXAMPLE
This is a fairly typical example:
{
# is_binop `(/\)` `p /\ q`;;
val it : bool = true
}
\noindent but note that the operator needn't be a constant:
{
# is_binop `f:num->num->num` `(f:num->num->num) x y`;;
val it : bool = true
}
\SEEALSO
dest_binary, dest_binop, is_binary, mk_binary, mk_binop.
\ENDDOC
|