improved sema for equivalence