def apply_happened(expr): vs = list(iu.unique(ilu.variables_ast(expr))) return lg.Not(l2s_w(vs, expr)(*vs))
def apply_was(expr): if isinstance(expr, (lg.And, lg.Or, lg.Not, lg.Implies, lg.Iff)): return expr.clone([apply_was(a) for a in expr.args]) vs = list(iu.unique(ilu.variables_ast(expr))) return l2s_s(vs, expr)(*vs)