class_docstr: Represents an upper or lower bound or an equality between a symbol
  and some constant.
class_docstr_tok: ["Represents","an","upper","or","lower","bound","or","an","equality","between","a","symbol","and","some","constant","."]
code: def from_lower(var):
      neg = -1 if var.lower_from_neg else 1
      b = Boundary(
          var, var.lower[0], False, var.lower_from_eq, var.lower[1] != 0
      )
      if neg < 0:
          b = b.get_negated()
      return b, neg
  
imports: from sympy.solvers.solveset import linear_eq_to_matrix
  from sympy.matrices.dense import eye
  from sympy.assumptions import Predicate
  from sympy.assumptions.assume import AppliedPredicate
  from sympy.assumptions.ask import Q
  from sympy.core import Dummy
  from sympy.core.mul import Mul
  from sympy.core.add import Add
  from sympy.core.relational import Eq, Ne
  from sympy.core.sympify import sympify
  from sympy.core.singleton import S
  from sympy.core.numbers import Rational, oo
  from sympy.matrices.dense import Matrix
label_desc: Use image node_id 3 for calling the Boundary obj's underlying member method code with example usage: obj.from_lower(var) and returns: b,  neg