lojix/prolog/src/main/com/thesett/aima/logic/fol/prolog/builtins/LessThan.java
protected boolean evaluate(NumericType firstNumber, NumericType secondNumber)
    {
        // If either of the arguments is a real number, then use real number arithmetic, otherwise use integer arithmetic.
        if (firstNumber.isInteger() && secondNumber.isInteger())
        {
            return firstNumber.intValue() < secondNumber.intValue();
        }
        else
        {
            return firstNumber.doubleValue() < secondNumber.doubleValue();
        }
    }
protected boolean evaluate(NumericType firstNumber, NumericType secondNumber)
    {
        // If either of the arguments is a real number, then use real number arithmetic, otherwise use integer arithmetic.
        if (firstNumber.isInteger() && secondNumber.isInteger())
        {
            return firstNumber.intValue() < secondNumber.intValue();
        }
        else
        {
            return firstNumber.doubleValue() < secondNumber.doubleValue();
        }
    }
Evaluates the arithmetic comparison on its two numeric arguments.

@param  firstNumber  The first argument.
@param  secondNumber The second argument.

@return The result of performing the arithmetic comparison on its arguments.