let pp p fmt = function
| Num q, [] ->
Mpa.Q.pp fmt q
| Add, [] ->
Pretty.string fmt "0"
| Add, al ->
Pretty.infixl p " + " fmt al
| Multq(q) , [x] ->
Pretty.infix Mpa.Q.pp "*" p fmt (q, x)
| _ ->
invalid_arg "Ill-formed application in linear arithmetic"