def half_adder(a, b):
    """Representation of half adder ALU logic

    Args:
        a (binary integer): Either 0 or 1
        b (binary integer): Either 0 or 1

    Returns:
        tuple: (sum, carry)
    """
    return (a^b, a and b)