let e_cond c a b = match c with | Ttrue -> a | Tfalse -> b | Tprim(B_not,[p]) -> Tif(p,b,a) | _ -> Tif(c,a,b)