NO Input TRS: AC symbols: _or_ _xor_ _and_ 1: U11(tt(),U',U) -> U12(equal(_isNotEqualTo_(U,U'),true())) 2: U12(tt()) -> false() 3: U21(tt(),B,U') -> U22(equal(_isNotEqualTo_(B,true()),true()),U') 4: U22(tt(),U') -> U' 5: _and_(A,A) -> A 6: _and_(A,_xor_(B,C)) -> _xor_(_and_(A,B),_and_(A,C)) 7: _and_(false(),A) -> false() 8: _and_(true(),A) -> A 9: _implies_(A,B) -> not_(_xor_(A,_and_(A,B))) 10: _isEqualTo_(U,U') -> U11(tt(),U',U) 11: _isEqualTo_(U,U) -> true() 12: _isNotEqualTo_(U,U') -> if_then_else_fi(_isEqualTo_(U,U'),false(),true()) 13: _isNotEqualTo_(U,U) -> false() 14: _or_(A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 15: _xor_(A,A) -> false() 16: _xor_(false(),A) -> A 17: and(tt(),X) -> X 18: equal(X,X) -> tt() 19: if_then_else_fi(B,U,U') -> U21(tt(),B,U') 20: if_then_else_fi(true(),U,U') -> U 21: not_(A) -> _xor_(A,true()) 22: not_(false()) -> true() 23: not_(true()) -> false() Number of strict rules: 23 Direct POLO(bPol) ... failed. Uncurrying U11 U21 AC symbols: _or_ _xor_ _and_ 1: U11^1_tt(U',U) -> U12(equal(_isNotEqualTo_(U,U'),true())) 2: U12(tt()) -> false() 3: U21^1_tt(B,U') -> U22(equal(_isNotEqualTo_(B,true()),true()),U') 4: U22(tt(),U') -> U' 5: _and_(A,A) -> A 6: _and_(A,_xor_(B,C)) -> _xor_(_and_(A,B),_and_(A,C)) 7: _and_(false(),A) -> false() 8: _and_(true(),A) -> A 9: _implies_(A,B) -> not_(_xor_(A,_and_(A,B))) 10: _isEqualTo_(U,U') -> U11^1_tt(U',U) 11: _isEqualTo_(U,U) -> true() 12: _isNotEqualTo_(U,U') -> if_then_else_fi(_isEqualTo_(U,U'),false(),true()) 13: _isNotEqualTo_(U,U) -> false() 14: _or_(A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 15: _xor_(A,A) -> false() 16: _xor_(false(),A) -> A 17: and(tt(),X) -> X 18: equal(X,X) -> tt() 19: if_then_else_fi(B,U,U') -> U21^1_tt(B,U') 20: if_then_else_fi(true(),U,U') -> U 21: not_(A) -> _xor_(A,true()) 22: not_(false()) -> true() 23: not_(true()) -> false() 24: U21(tt(),_2,_3) ->= U21^1_tt(_2,_3) 25: U11(tt(),_2,_3) ->= U11^1_tt(_2,_3) Number of strict rules: 23 Direct POLO(bPol) ... failed. Dependency Pairs: #1: #_and_(A,_xor_(B,C)) -> #_xor_(_and_(A,B),_and_(A,C)) #2: #_and_(A,_xor_(B,C)) -> #_and_(A,B) #3: #_and_(A,_xor_(B,C)) -> #_and_(A,C) #4: #_implies_(A,B) -> #not_(_xor_(A,_and_(A,B))) #5: #_implies_(A,B) -> #_xor_(A,_and_(A,B)) #6: #_implies_(A,B) -> #_and_(A,B) #7: #U21(tt(),_2,_3) ->? #U21^1_tt(_2,_3) #8: #_isNotEqualTo_(U,U') -> #if_then_else_fi(_isEqualTo_(U,U'),false(),true()) #9: #_isNotEqualTo_(U,U') -> #_isEqualTo_(U,U') #10: #_or_(A,B) -> #_xor_(_and_(A,B),_xor_(A,B)) #11: #_or_(A,B) -> #_and_(A,B) #12: #_or_(A,B) -> #_xor_(A,B) #13: #U11(tt(),_2,_3) ->? #U11^1_tt(_2,_3) #14: #_isEqualTo_(U,U') -> #U11^1_tt(U',U) #15: #_and_(x,_and_(y,z)) ->= #_and_(_and_(x,y),z) #16: #_and_(x,_and_(y,z)) ->= #_and_(x,y) #17: #_xor_(x,_xor_(y,z)) ->= #_xor_(_xor_(x,y),z) #18: #_xor_(x,_xor_(y,z)) ->= #_xor_(x,y) #19: #if_then_else_fi(B,U,U') -> #U21^1_tt(B,U') #20: #_or_(x,_or_(y,z)) ->= #_or_(_or_(x,y),z) #21: #_or_(x,_or_(y,z)) ->= #_or_(x,y) #22: #not_(A) -> #_xor_(A,true()) #23: #U21^1_tt(B,U') -> #U22(equal(_isNotEqualTo_(B,true()),true()),U') #24: #U21^1_tt(B,U') -> #equal(_isNotEqualTo_(B,true()),true()) #25: #U21^1_tt(B,U') -> #_isNotEqualTo_(B,true()) #26: #U11^1_tt(U',U) -> #U12(equal(_isNotEqualTo_(U,U'),true())) #27: #U11^1_tt(U',U) -> #equal(_isNotEqualTo_(U,U'),true()) #28: #U11^1_tt(U',U) -> #_isNotEqualTo_(U,U') Number of SCCs: 4, DPs: 14 SCC { #20 #21 } only weak rules. Number of SCCs: 3, DPs: 12 SCC { #17 #18 } only weak rules. Number of SCCs: 2, DPs: 10 SCC { #2 #3 #15 #16 } POLO(Sum)... POLO(max)... QLPOS... succeeded. U21 s: [3,2,1] p: 0 _and_ s: {1,2} p: 2 U11 s: [3,2,1] p: 0 #_isNotEqualTo_ s: [1,2] p: 0 not_ s: [] p: 0 #_and_ s: {1,2} p: 2 #equal s: [1,2] p: 0 and s: [1,2] p: 0 _or_ s: {} p: 0 false s: [] p: 0 U12 s: [] p: 0 true s: [] p: 0 _implies_ s: [1,2] p: 0 #_implies_ s: [1,2] p: 0 #U12 s: [] p: 0 _isNotEqualTo_ s: [1,2] p: 0 #_xor_ s: {} p: 1 _xor_ s: {1,2} p: 1 U21^1_tt s: [1,2] p: 0 #U21^1_tt s: [1,2] p: 0 U11^1_tt s: [1,2] p: 0 #if_then_else_fi s: [3,2,1] p: 0 #not_ s: [] p: 0 #U11 s: [3,2,1] p: 0 #_isEqualTo_ s: [1,2] p: 0 equal s: [1,2] p: 0 #U21 s: [3,2,1] p: 0 #U22 s: [1,2] p: 0 tt s: [] p: 0 #_or_ s: {} p: 0 U22 s: [1,2] p: 0 _isEqualTo_ s: [1,2] p: 0 #and s: [1,2] p: 0 if_then_else_fi s: [3,2,1] p: 0 #U11^1_tt s: [1,2] p: 0 USABLE RULES: { 5..8 15 16 27 28 } Removed DPs: #2 #3 #16 Number of SCCs: 2, DPs: 7 SCC { #15 } only weak rules. Number of SCCs: 1, DPs: 6 SCC { #8 #9 #14 #19 #25 #28 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. Finding a loop... found. #U21^1_tt(U_{1},U') -#25-> #_isNotEqualTo_(U_{1},true()) --->* #_isNotEqualTo_(U_{1},true()) -#8-> #if_then_else_fi(_isEqualTo_(U_{1},true()),false(),true()) --->* #if_then_else_fi(_isEqualTo_(U_{1},true()),false(),true()) -#19-> #U21^1_tt(_isEqualTo_(U_{1},true()),true()) --->* #U21^1_tt(_isEqualTo_(U_{1},true()),true()) Looping with: [ U_{1} := _isEqualTo_(U_{1},true()); U' := true(); ]