# Path: soap/common/formatting.py
# def underline(text):
#     combining_low_line = '\u0332'
#     return combining_low_line.join(list(text)) + combining_low_line
# 
# Path: soap/expression/operators.py
# FIXPOINT_OP = 'fix'
# 
# Path: soap/expression/arithmetic.py
# class QuaternaryArithExpr(QuaternaryExpression, ArithExpr):
# 
#     __slots__ = ()


from soap.common.formatting import underline
from soap.expression.operators import FIXPOINT_OP
from soap.expression.arithmetic import QuaternaryArithExpr



class FixExprIsNotForLoopException(Exception):
    """FixExpr object is not a for loop.  """


class FixExpr(QuaternaryArithExpr):
    """Fixpoint expression."""

    def __init__(self, a1, a2, a3, a4):

# Path: soap/common/formatting.py
# def underline(text):
#     combining_low_line = '\u0332'
#     return combining_low_line.join(list(text)) + combining_low_line
# 
# Path: soap/expression/operators.py
# FIXPOINT_OP = 'fix'
# 
# Path: soap/expression/arithmetic.py
# class QuaternaryArithExpr(QuaternaryExpression, ArithExpr):
# 
#     __slots__ = ()


# Path: soap/expression/fixpoint.py
from soap.common.formatting import underline
from soap.expression.operators import FIXPOINT_OP
from soap.expression.arithmetic import QuaternaryArithExpr




class FixExprIsNotForLoopException(Exception):
    """FixExpr object is not a for loop.  """


class FixExpr(QuaternaryArithExpr):
    """Fixpoint expression."""

    def __init__(self, a1, a2, a3, a4):

        super().__init__(FIXPOINT_OP, a1, a2, a3, a4)