correct pure_i4, by only allowing equality on known first-order exps
don't count function-producing expressions as ground

because although they might not actually depend on their environments,
they will capture them regardless and produce different closures.
correctness for sLet_i4 and sIf_i4

i.e. show that they have the same effect as normal Let and If.
includes correctness for ground_i4, pure_i4, and fo_i4.