equivalent logic change