let pp p fmt ((sym, _),  al) = 
  match sym with
    | Uninterp(op) -> Uninterp.pp p fmt (op, al)
    | Arith(op) -> Arith.pp p fmt (op, al)
    | Product(op) -> Product.pp p fmt (op, al)
    | Bv(op) -> Bv.pp p fmt (op, al)
    | Coproduct(op) -> Coproduct.pp p fmt (op, al)
    | Arrays(op) -> Array.pp p fmt (op, al)
    | Pp(op) -> Pprod.pp p fmt (op, al)
    | Cl(op) -> Cl.pp p fmt (op, al)
    | Propset(op) -> Propset.pp p fmt (op, al)