constructive convexity verification
  1. start with function \(f\) gives as expression
  2. build parse tree for expression (leaves and variables / constants, nodes are functions of child expressions)
  3. apply general composition rule that preserve convexity

Greedy parses may fail, such as in the case of logsumexp.