## Details

## Description

Predicate Pull up on Project can also pull up deterministic functions whose arguments are all literals.

Ex: select r1.x from (select cast('10' as int) as x, y from r1 where y<10)r1 join r2 on r1.x=r2.x;

Currently deterministic functions involving constants are ignored which results in missed transitive inference.

## Issue Links

- links to

Is it possible to apply ReduceExpression to those constant expressions first, such that in the above case, the project just has the int literal of 10?