(self, formula, args, **kwargs)
return theory_out
Extends the Theory with Non-Linear, if needed.
Extends the Theory with Non-Linear, if needed.
Extends the Theory with Non - Linear if needed .
def walk_div(self, formula, args, **kwargs):
        """Extends the Theory with Non-Linear, if needed."""
        assert len(args) == 2
        theory_out = args[0]
        for t in args[1:]:
            theory_out = theory_out.combine(t)
        # Check for non-linear
        left, right = formula.args()
        if len(left.get_free_variables()) != 0 and \
           len(right.get_free_variables()) != 0:
            theory_out = theory_out.set_linear(False)
        elif formula.arg(1).is_zero():
            # DivBy0 is non-linear
            theory_out = theory_out.set_linear(False)
        else:
            theory_out = theory_out.combine(args[1])
        return theory_out

        # This is  not in DL anymore
        theory_out = theory_out.set_difference_logic(False)
        return theory_out
def walk_div ( self , formula , args , * * kwargs ) : assert len ( args ) == 2 theory_out = args [ 0 ] for t in args [ 1 : ] : theory_out = theory_out . combine ( t ) # Check for non-linear left , right = formula . args ( ) if len ( left . get_free_variables ( ) ) != 0 and len ( right . get_free_variables ( ) ) != 0 : theory_out = theory_out . set_linear ( False ) elif formula . arg ( 1 ) . is_zero ( ) : # DivBy0 is non-linear theory_out = theory_out . set_linear ( False ) else : theory_out = theory_out . combine ( args [ 1 ] ) return theory_out # This is  not in DL anymore theory_out = theory_out . set_difference_logic ( False ) return theory_out