pgsql-bugs@postgresql.org writes:
> I am hoping that there is a simple omission that keeps the optimizer
> from using the transitive literal.
PG doesn't compute transitive equality of literals, and never has AFAIK
(certainly 7.0.* didn't). I'm not sure what's causing the change in
behavior from 7.0 to 7.1, but your theory about it is wrong. Could you
make up a self-contained example?
regards, tom lane