added trace equivalence, and def 1-3