def transform(self, var: str, expr: Expr) -> BasicPath: cp = self.copy() cp.transformation[var] = expr.assign(self.transformation) return cp
def assert_end(self, prop: Expr) -> BasicPath: return dataclasses.replace(self, assertion_end=prop.assign( self.transformation))
def condition(self, cond: Expr) -> BasicPath: cp = self.copy() cp.reachability.append(cond.assign(self.transformation)) return cp