The EL doesn't evaluate the expression ${'true' and false} correctly; the result is true instead of false. According to A.3.7.1, both terms should be coerced to Boolean, and then compared. A.7.4 says that a String is coerced using Boolean.valueOf(), which should give true for the String 'true'. Hence, the end-result should be true.
Thanks Hans. Nathan sent me a patch, and I merged the changes in.