let p_let x v p =
  match val_of p with
    | Ptrue | Pfalse| Papp ("dummy",_) -> p
    | _ -> Plet(x,v,p)