let rec is_interp a =
is_expt a || is_mult a
and is_expt = function
| App(Pp(Expt(_)), [x]) -> is_var x
| _ -> false
and is_mult = function
| App(Pp(Mult), xl) ->
(List.for_all (fun x -> is_expt x || is_var x) xl)
| _ -> false