def concrete_join(state1,state2): """ Apply an update concretely (compute concrete post). This leaves free symbols that are implicitly existentially quantified and are prefixed with "__old". """ relations = state1.domain.relations value = join_state(state1.value,state2.value,relations) res = new_state(value,domain = state1.domain,expr=state_join(state1,state2)) res.join_of = [state1,state2] return res