in src/latex2sympy2_extended/latex2sympy2.py [0:0]
def convert_set_relation(self, expr):
if expr.atom_expr_list():
left = self.convert_atom_expr_list(expr.atom_expr_list())
right = self.convert_set_relation(expr.set_relation()[0])
if expr.IN():
if self.config.interpret_simple_eq_as_assignment and is_expr_of_only_symbols(left):
# set value
self.variances[left] = right
self.var[str(left)] = right
return right
elif self.config.interpret_contains_as_eq:
return sympy.Eq(left, right, evaluate=False)
else:
return sympy.Contains(left, right, evaluate=False)
elif expr.ASSIGNMENT():
if self.config.interpret_simple_eq_as_assignment and is_expr_of_only_symbols(left):
# set value
self.variances[left] = right
self.var[str(left)] = right
return right
else:
return sympy.Eq(left, right, evaluate=False)
elif expr.NOTIN():
if self.config.interpret_contains_as_eq:
val = (sympy.S.Reals if self.is_real else sympy.S.Complexes) - right
if self.config.interpret_simple_eq_as_assignment and is_expr_of_only_symbols(left):
self.variances[left] = val
self.var[str(left)] = val
return val
else:
return sympy.Not(sympy.Eq(left, right, evaluate=False), evaluate=False)
else:
return sympy.Not(right.contains(left))
if expr.set_relation():
left = self.convert_set_relation(expr.set_relation()[0])
right = self.convert_set_relation(expr.set_relation()[1])
if expr.SUBSET():
return left.is_subset(right)
if expr.SUPSET():
return right.is_subset(left)
raise Exception('Unrecognized set relation')
return self.convert_set_minus(expr.minus_expr())