let e_and a b =
    match a,b with
      | Ttrue,c | c,Ttrue -> c
      | Tfalse,_ | _,Tfalse -> Tfalse
      | _ -> Tprim(B_and,[a;b])