Yes. It is the relation to other languages, but not only that.
In computer science - you know that - only false is defined enough to be usable, it being zero, empty. True is simply not false and that is undefined, but unequal to zero.
How a language implements that is really... ahum...language dependent. Hence we have multiple options in Pascal to describe boolean values.
To complicate matters further, since 3.0 we can also redefine true/false as e.g. string. Or pointers...
but that gives you a nice "feature" that you can't possibly define true...At least I couldn't write const true = not nil; weekend puzzle or bug.