extended: rewritten assoc as an inductive predicate