MAYBE Input TRS: AC symbols: _or_ _xor_ _and_ 1: U101(tt(),A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 2: U11(tt(),A) -> A 3: U111(tt()) -> false() 4: U121(tt(),A) -> A 5: U131(tt(),B,U') -> U132(equal(_isNotEqualTo_(B,true()),true()),U') 6: U132(tt(),U') -> U' 7: U141(tt(),U) -> U 8: U151(tt(),A) -> _xor_(A,true()) 9: U21(tt(),A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 10: U31(tt()) -> false() 11: U41(tt(),A) -> A 12: U51(tt(),A,B) -> not_(_xor_(A,_and_(A,B))) 13: U61(tt(),U',U) -> U62(equal(_isNotEqualTo_(U,U'),true())) 14: U62(tt()) -> false() 15: U71(tt()) -> true() 16: U81(tt(),U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false(),true()) 17: U91(tt()) -> false() 18: _and_(A,A) -> U11(isBool(A),A) 19: _and_(A,_xor_(B,C)) -> U21(and(isBool(A),and(isBool(B),isBool(C))),A,B,C) 20: _and_(false(),A) -> U31(isBool(A)) 21: _and_(true(),A) -> U41(isBool(A),A) 22: _implies_(A,B) -> U51(and(isBool(A),isBool(B)),A,B) 23: _isEqualTo_(U,U') -> U61(and(isS(U'),isS(U)),U',U) 24: _isEqualTo_(U,U) -> U71(isS(U)) 25: _isNotEqualTo_(U,U') -> U81(and(isS(U'),isS(U)),U',U) 26: _isNotEqualTo_(U,U) -> U91(isS(U)) 27: _or_(A,B) -> U101(and(isBool(A),isBool(B)),A,B) 28: _xor_(A,A) -> U111(isBool(A)) 29: _xor_(false(),A) -> U121(isBool(A),A) 30: and(tt(),X) -> X 31: equal(X,X) -> tt() 32: if_then_else_fi(B,U,U') -> U131(and(isBool(B),and(isS(U'),isS(U))),B,U') 33: if_then_else_fi(true(),U,U') -> U141(and(isS(U'),isS(U)),U) 34: isBool(false()) -> tt() 35: isBool(true()) -> tt() 36: isBool(_and_(V1,V2)) -> and(isBool(V1),isBool(V2)) 37: isBool(_implies_(V1,V2)) -> and(isBool(V1),isBool(V2)) 38: isBool(_isEqualTo_(V1,V2)) -> and(isUniversal(V1),isUniversal(V2)) 39: isBool(_isNotEqualTo_(V1,V2)) -> and(isUniversal(V1),isUniversal(V2)) 40: isBool(_or_(V1,V2)) -> and(isBool(V1),isBool(V2)) 41: isBool(_xor_(V1,V2)) -> and(isBool(V1),isBool(V2)) 42: isBool(not_(V1)) -> isBool(V1) 43: not_(A) -> U151(isBool(A),A) 44: not_(false()) -> true() 45: not_(true()) -> false() Number of strict rules: 45 Direct POLO(bPol) ... failed. Uncurrying and U71 U91 AC symbols: _or_ _xor_ _and_ 1: U101(tt(),A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 2: U11(tt(),A) -> A 3: U111(tt()) -> false() 4: U121(tt(),A) -> A 5: U131(tt(),B,U') -> U132(equal(_isNotEqualTo_(B,true()),true()),U') 6: U132(tt(),U') -> U' 7: U141(tt(),U) -> U 8: U151(tt(),A) -> _xor_(A,true()) 9: U21(tt(),A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 10: U31(tt()) -> false() 11: U41(tt(),A) -> A 12: U51(tt(),A,B) -> not_(_xor_(A,_and_(A,B))) 13: U61(tt(),U',U) -> U62(equal(_isNotEqualTo_(U,U'),true())) 14: U62(tt()) -> false() 15: U71^1_tt() -> true() 16: U81(tt(),U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false(),true()) 17: U91^1_tt() -> false() 18: _and_(A,A) -> U11(isBool(A),A) 19: _and_(A,_xor_(B,C)) -> U21(and(isBool(A),and(isBool(B),isBool(C))),A,B,C) 20: _and_(false(),A) -> U31(isBool(A)) 21: _and_(true(),A) -> U41(isBool(A),A) 22: _implies_(A,B) -> U51(and(isBool(A),isBool(B)),A,B) 23: _isEqualTo_(U,U') -> U61(and^1_isS(U',isS(U)),U',U) 24: _isEqualTo_(U,U) -> U71^1_isS(U) 25: _isNotEqualTo_(U,U') -> U81(and^1_isS(U',isS(U)),U',U) 26: _isNotEqualTo_(U,U) -> U91^1_isS(U) 27: _or_(A,B) -> U101(and(isBool(A),isBool(B)),A,B) 28: _xor_(A,A) -> U111(isBool(A)) 29: _xor_(false(),A) -> U121(isBool(A),A) 30: and^1_tt(X) -> X 31: equal(X,X) -> tt() 32: if_then_else_fi(B,U,U') -> U131(and(isBool(B),and^1_isS(U',isS(U))),B,U') 33: if_then_else_fi(true(),U,U') -> U141(and^1_isS(U',isS(U)),U) 34: isBool(false()) -> tt() 35: isBool(true()) -> tt() 36: isBool(_and_(V1,V2)) -> and(isBool(V1),isBool(V2)) 37: isBool(_implies_(V1,V2)) -> and(isBool(V1),isBool(V2)) 38: isBool(_isEqualTo_(V1,V2)) -> and^1_isUniversal(V1,isUniversal(V2)) 39: isBool(_isNotEqualTo_(V1,V2)) -> and^1_isUniversal(V1,isUniversal(V2)) 40: isBool(_or_(V1,V2)) -> and(isBool(V1),isBool(V2)) 41: isBool(_xor_(V1,V2)) -> and(isBool(V1),isBool(V2)) 42: isBool(not_(V1)) -> isBool(V1) 43: not_(A) -> U151(isBool(A),A) 44: not_(false()) -> true() 45: not_(true()) -> false() 46: U91(tt()) ->= U91^1_tt() 47: U91(isS(_1)) ->= U91^1_isS(_1) 48: U71(tt()) ->= U71^1_tt() 49: U71(isS(_1)) ->= U71^1_isS(_1) 50: and(tt(),_1) ->= and^1_tt(_1) 51: and(isUniversal(_1),_2) ->= and^1_isUniversal(_1,_2) 52: and(isS(_1),_2) ->= and^1_isS(_1,_2) Number of strict rules: 45 Direct POLO(bPol) ... failed. Dependency Pairs: #1: #not_(A) -> #U151(isBool(A),A) #2: #not_(A) -> #isBool(A) #3: #_xor_(false(),A) -> #U121(isBool(A),A) #4: #_xor_(false(),A) -> #isBool(A) #5: #U91(tt()) ->? #U91^1_tt() #6: #isBool(not_(V1)) -> #isBool(V1) #7: #isBool(_xor_(V1,V2)) -> #and(isBool(V1),isBool(V2)) #8: #isBool(_xor_(V1,V2)) -> #isBool(V1) #9: #isBool(_xor_(V1,V2)) -> #isBool(V2) #10: #isBool(_implies_(V1,V2)) -> #and(isBool(V1),isBool(V2)) #11: #isBool(_implies_(V1,V2)) -> #isBool(V1) #12: #isBool(_implies_(V1,V2)) -> #isBool(V2) #13: #_or_(x,_or_(y,z)) ->= #_or_(_or_(x,y),z) #14: #_or_(x,_or_(y,z)) ->= #_or_(x,y) #15: #U71(tt()) ->? #U71^1_tt() #16: #_and_(x,_and_(y,z)) ->= #_and_(_and_(x,y),z) #17: #_and_(x,_and_(y,z)) ->= #_and_(x,y) #18: #isBool(_or_(V1,V2)) -> #and(isBool(V1),isBool(V2)) #19: #isBool(_or_(V1,V2)) -> #isBool(V1) #20: #isBool(_or_(V1,V2)) -> #isBool(V2) #21: #U61(tt(),U',U) -> #U62(equal(_isNotEqualTo_(U,U'),true())) #22: #U61(tt(),U',U) -> #equal(_isNotEqualTo_(U,U'),true()) #23: #U61(tt(),U',U) -> #_isNotEqualTo_(U,U') #24: #U21(tt(),A,B,C) -> #_xor_(_and_(A,B),_and_(A,C)) #25: #U21(tt(),A,B,C) -> #_and_(A,B) #26: #U21(tt(),A,B,C) -> #_and_(A,C) #27: #_isEqualTo_(U,U') -> #U61(and^1_isS(U',isS(U)),U',U) #28: #U51(tt(),A,B) -> #not_(_xor_(A,_and_(A,B))) #29: #U51(tt(),A,B) -> #_xor_(A,_and_(A,B)) #30: #U51(tt(),A,B) -> #_and_(A,B) #31: #_isNotEqualTo_(U,U') -> #U81(and^1_isS(U',isS(U)),U',U) #32: #_and_(false(),A) -> #U31(isBool(A)) #33: #_and_(false(),A) -> #isBool(A) #34: #if_then_else_fi(true(),U,U') -> #U141(and^1_isS(U',isS(U)),U) #35: #U131(tt(),B,U') -> #U132(equal(_isNotEqualTo_(B,true()),true()),U') #36: #U131(tt(),B,U') -> #equal(_isNotEqualTo_(B,true()),true()) #37: #U131(tt(),B,U') -> #_isNotEqualTo_(B,true()) #38: #_xor_(A,A) -> #U111(isBool(A)) #39: #_xor_(A,A) -> #isBool(A) #40: #_implies_(A,B) -> #U51(and(isBool(A),isBool(B)),A,B) #41: #_implies_(A,B) -> #and(isBool(A),isBool(B)) #42: #_implies_(A,B) -> #isBool(A) #43: #_implies_(A,B) -> #isBool(B) #44: #_or_(A,B) -> #U101(and(isBool(A),isBool(B)),A,B) #45: #_or_(A,B) -> #and(isBool(A),isBool(B)) #46: #_or_(A,B) -> #isBool(A) #47: #_or_(A,B) -> #isBool(B) #48: #_and_(A,_xor_(B,C)) -> #U21(and(isBool(A),and(isBool(B),isBool(C))),A,B,C) #49: #_and_(A,_xor_(B,C)) -> #and(isBool(A),and(isBool(B),isBool(C))) #50: #_and_(A,_xor_(B,C)) -> #isBool(A) #51: #_and_(A,_xor_(B,C)) -> #and(isBool(B),isBool(C)) #52: #_and_(A,_xor_(B,C)) -> #isBool(B) #53: #_and_(A,_xor_(B,C)) -> #isBool(C) #54: #if_then_else_fi(B,U,U') -> #U131(and(isBool(B),and^1_isS(U',isS(U))),B,U') #55: #if_then_else_fi(B,U,U') -> #and(isBool(B),and^1_isS(U',isS(U))) #56: #if_then_else_fi(B,U,U') -> #isBool(B) #57: #isBool(_and_(V1,V2)) -> #and(isBool(V1),isBool(V2)) #58: #isBool(_and_(V1,V2)) -> #isBool(V1) #59: #isBool(_and_(V1,V2)) -> #isBool(V2) #60: #_and_(true(),A) -> #U41(isBool(A),A) #61: #_and_(true(),A) -> #isBool(A) #62: #U81(tt(),U',U) -> #if_then_else_fi(_isEqualTo_(U,U'),false(),true()) #63: #U81(tt(),U',U) -> #_isEqualTo_(U,U') #64: #U101(tt(),A,B) -> #_xor_(_and_(A,B),_xor_(A,B)) #65: #U101(tt(),A,B) -> #_and_(A,B) #66: #U101(tt(),A,B) -> #_xor_(A,B) #67: #_xor_(x,_xor_(y,z)) ->= #_xor_(_xor_(x,y),z) #68: #_xor_(x,_xor_(y,z)) ->= #_xor_(x,y) #69: #U151(tt(),A) -> #_xor_(A,true()) #70: #and(tt(),_1) ->? #and^1_tt(_1) #71: #_and_(A,A) -> #U11(isBool(A),A) #72: #_and_(A,A) -> #isBool(A) Number of SCCs: 4, DPs: 18 SCC { #13 #14 } only weak rules. Number of SCCs: 3, DPs: 16 SCC { #67 #68 } only weak rules. Number of SCCs: 2, DPs: 14 SCC { #16 #17 #25 #26 #48 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. Finding a loop... failed.