let p_and p1 p2 = match val_of p1, val_of p2 with | Ptrue, _ -> p2 | _, Ptrue -> p1 | Pfalse,_-> cut Pfalse p1 | _,Pfalse -> cut Pfalse p2 | _ -> Pand (p1, p2)