0.66/0.60 MAYBE 0.66/0.61 Input TRS: 0.66/0.61 AC symbols: _or_ _xor_ _and_ 0.66/0.61 1: U101(tt(),A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 0.66/0.61 2: U11(tt(),A) -> A 0.66/0.61 3: U111(tt()) -> false() 0.66/0.61 4: U121(tt(),A) -> A 0.66/0.61 5: U131(tt(),B,U') -> U132(equal(_isNotEqualTo_(B,true()),true()),U') 0.66/0.61 6: U132(tt(),U') -> U' 0.66/0.61 7: U141(tt(),U) -> U 0.66/0.61 8: U151(tt(),V1,V2) -> U152(isBool(V1),V2) 0.66/0.61 9: U152(tt(),V2) -> U153(isBool(V2)) 0.66/0.61 10: U153(tt()) -> tt() 0.66/0.61 11: U161(tt(),V1,V2) -> U162(isBool(V1),V2) 0.66/0.61 12: U162(tt(),V2) -> U163(isBool(V2)) 0.66/0.61 13: U163(tt()) -> tt() 0.66/0.61 14: U171(tt(),V1,V2) -> U172(isBool(V1),V2) 0.66/0.61 15: U172(tt(),V2) -> U173(isBool(V2)) 0.66/0.61 16: U173(tt()) -> tt() 0.66/0.61 17: U181(tt(),V1,V2) -> U182(isBool(V1),V2) 0.66/0.61 18: U182(tt(),V2) -> U183(isBool(V2)) 0.66/0.61 19: U183(tt()) -> tt() 0.66/0.61 20: U191(tt(),V1) -> U192(isBool(V1)) 0.66/0.61 21: U192(tt()) -> tt() 0.66/0.61 22: U201(tt(),A) -> _xor_(A,true()) 0.66/0.61 23: U21(tt(),A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 0.66/0.61 24: U31(tt()) -> false() 0.66/0.61 25: U41(tt(),A) -> A 0.66/0.61 26: U51(tt(),A,B) -> not_(_xor_(A,_and_(A,B))) 0.66/0.61 27: U61(tt(),U',U) -> U62(equal(_isNotEqualTo_(U,U'),true())) 0.66/0.61 28: U62(tt()) -> false() 0.66/0.61 29: U71(tt()) -> true() 0.66/0.61 30: U81(tt(),U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false(),true()) 0.66/0.61 31: U91(tt()) -> false() 0.66/0.61 32: _and_(A,A) -> U11(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 33: _and_(A,_xor_(B,C)) -> U21(and(and(isBool(A),isBoolKind(A)),and(and(isBool(B),isBoolKind(B)),and(isBool(C),isBoolKind(C)))),A,B,C) 0.66/0.61 34: _and_(false(),A) -> U31(and(isBool(A),isBoolKind(A))) 0.66/0.61 35: _and_(true(),A) -> U41(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 36: _implies_(A,B) -> U51(and(and(isBool(A),isBoolKind(A)),and(isBool(B),isBoolKind(B))),A,B) 0.66/0.61 37: _isEqualTo_(U,U') -> U61(and(and(isS(U'),isSKind(U')),and(isS(U),isSKind(U))),U',U) 0.66/0.61 38: _isEqualTo_(U,U) -> U71(and(isS(U),isSKind(U))) 0.66/0.61 39: _isNotEqualTo_(U,U') -> U81(and(and(isS(U'),isSKind(U')),and(isS(U),isSKind(U))),U',U) 0.66/0.61 40: _isNotEqualTo_(U,U) -> U91(and(isS(U),isSKind(U))) 0.66/0.61 41: _or_(A,B) -> U101(and(and(isBool(A),isBoolKind(A)),and(isBool(B),isBoolKind(B))),A,B) 0.66/0.61 42: _xor_(A,A) -> U111(and(isBool(A),isBoolKind(A))) 0.66/0.61 43: _xor_(false(),A) -> U121(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 44: and(tt(),X) -> X 0.66/0.61 45: equal(X,X) -> tt() 0.66/0.61 46: if_then_else_fi(B,U,U') -> U131(and(and(isBool(B),isBoolKind(B)),and(and(isS(U'),isSKind(U')),and(isS(U),isSKind(U)))),B,U') 0.66/0.61 47: if_then_else_fi(true(),U,U') -> U141(and(and(isS(U'),isSKind(U')),and(isS(U),isSKind(U))),U) 0.66/0.61 48: isBool(false()) -> tt() 0.66/0.61 49: isBool(true()) -> tt() 0.66/0.61 50: isBool(_and_(V1,V2)) -> U151(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 51: isBool(_implies_(V1,V2)) -> U161(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 52: isBool(_isEqualTo_(V1,V2)) -> tt() 0.66/0.61 53: isBool(_isNotEqualTo_(V1,V2)) -> tt() 0.66/0.61 54: isBool(_or_(V1,V2)) -> U171(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 55: isBool(_xor_(V1,V2)) -> U181(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 56: isBool(not_(V1)) -> U191(isBoolKind(V1),V1) 0.66/0.61 57: isBoolKind(false()) -> tt() 0.66/0.61 58: isBoolKind(true()) -> tt() 0.66/0.61 59: isBoolKind(_and_(V1,V2)) -> and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 60: isBoolKind(_implies_(V1,V2)) -> and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 61: isBoolKind(_isEqualTo_(V1,V2)) -> tt() 0.66/0.61 62: isBoolKind(_isNotEqualTo_(V1,V2)) -> tt() 0.66/0.61 63: isBoolKind(_or_(V1,V2)) -> and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 64: isBoolKind(_xor_(V1,V2)) -> and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 65: isBoolKind(not_(V1)) -> isBoolKind(V1) 0.66/0.61 66: not_(A) -> U201(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 67: not_(false()) -> true() 0.66/0.61 68: not_(true()) -> false() 0.66/0.61 Number of strict rules: 68 0.66/0.61 Direct POLO(bPol) ... failed. 0.66/0.61 Uncurrying and 0.66/0.61 AC symbols: _or_ _xor_ _and_ 0.66/0.61 1: U101(tt(),A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 0.66/0.61 2: U11(tt(),A) -> A 0.66/0.61 3: U111(tt()) -> false() 0.66/0.61 4: U121(tt(),A) -> A 0.66/0.61 5: U131(tt(),B,U') -> U132(equal(_isNotEqualTo_(B,true()),true()),U') 0.66/0.61 6: U132(tt(),U') -> U' 0.66/0.61 7: U141(tt(),U) -> U 0.66/0.61 8: U151(tt(),V1,V2) -> U152(isBool(V1),V2) 0.66/0.61 9: U152(tt(),V2) -> U153(isBool(V2)) 0.66/0.61 10: U153(tt()) -> tt() 0.66/0.61 11: U161(tt(),V1,V2) -> U162(isBool(V1),V2) 0.66/0.61 12: U162(tt(),V2) -> U163(isBool(V2)) 0.66/0.61 13: U163(tt()) -> tt() 0.66/0.61 14: U171(tt(),V1,V2) -> U172(isBool(V1),V2) 0.66/0.61 15: U172(tt(),V2) -> U173(isBool(V2)) 0.66/0.61 16: U173(tt()) -> tt() 0.66/0.61 17: U181(tt(),V1,V2) -> U182(isBool(V1),V2) 0.66/0.61 18: U182(tt(),V2) -> U183(isBool(V2)) 0.66/0.61 19: U183(tt()) -> tt() 0.66/0.61 20: U191(tt(),V1) -> U192(isBool(V1)) 0.66/0.61 21: U192(tt()) -> tt() 0.66/0.61 22: U201(tt(),A) -> _xor_(A,true()) 0.66/0.61 23: U21(tt(),A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 0.66/0.61 24: U31(tt()) -> false() 0.66/0.61 25: U41(tt(),A) -> A 0.66/0.61 26: U51(tt(),A,B) -> not_(_xor_(A,_and_(A,B))) 0.66/0.61 27: U61(tt(),U',U) -> U62(equal(_isNotEqualTo_(U,U'),true())) 0.66/0.61 28: U62(tt()) -> false() 0.66/0.61 29: U71(tt()) -> true() 0.66/0.61 30: U81(tt(),U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false(),true()) 0.66/0.61 31: U91(tt()) -> false() 0.66/0.61 32: _and_(A,A) -> U11(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 33: _and_(A,_xor_(B,C)) -> U21(and(and(isBool(A),isBoolKind(A)),and(and(isBool(B),isBoolKind(B)),and(isBool(C),isBoolKind(C)))),A,B,C) 0.66/0.61 34: _and_(false(),A) -> U31(and(isBool(A),isBoolKind(A))) 0.66/0.61 35: _and_(true(),A) -> U41(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 36: _implies_(A,B) -> U51(and(and(isBool(A),isBoolKind(A)),and(isBool(B),isBoolKind(B))),A,B) 0.66/0.61 37: _isEqualTo_(U,U') -> U61(and^2_isS(U',isSKind(U'),and^1_isS(U,isSKind(U))),U',U) 0.66/0.61 38: _isEqualTo_(U,U) -> U71(and^1_isS(U,isSKind(U))) 0.66/0.61 39: _isNotEqualTo_(U,U') -> U81(and^2_isS(U',isSKind(U'),and^1_isS(U,isSKind(U))),U',U) 0.66/0.61 40: _isNotEqualTo_(U,U) -> U91(and^1_isS(U,isSKind(U))) 0.66/0.61 41: _or_(A,B) -> U101(and(and(isBool(A),isBoolKind(A)),and(isBool(B),isBoolKind(B))),A,B) 0.66/0.61 42: _xor_(A,A) -> U111(and(isBool(A),isBoolKind(A))) 0.66/0.61 43: _xor_(false(),A) -> U121(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 44: and^1_tt(X) -> X 0.66/0.61 45: equal(X,X) -> tt() 0.66/0.61 46: if_then_else_fi(B,U,U') -> U131(and(and(isBool(B),isBoolKind(B)),and^2_isS(U',isSKind(U'),and^1_isS(U,isSKind(U)))),B,U') 0.66/0.61 47: if_then_else_fi(true(),U,U') -> U141(and^2_isS(U',isSKind(U'),and^1_isS(U,isSKind(U))),U) 0.66/0.61 48: isBool(false()) -> tt() 0.66/0.61 49: isBool(true()) -> tt() 0.66/0.61 50: isBool(_and_(V1,V2)) -> U151(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 51: isBool(_implies_(V1,V2)) -> U161(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 52: isBool(_isEqualTo_(V1,V2)) -> tt() 0.66/0.61 53: isBool(_isNotEqualTo_(V1,V2)) -> tt() 0.66/0.61 54: isBool(_or_(V1,V2)) -> U171(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 55: isBool(_xor_(V1,V2)) -> U181(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 56: isBool(not_(V1)) -> U191(isBoolKind(V1),V1) 0.66/0.61 57: isBoolKind(false()) -> tt() 0.66/0.61 58: isBoolKind(true()) -> tt() 0.66/0.61 59: isBoolKind(_and_(V1,V2)) -> and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 60: isBoolKind(_implies_(V1,V2)) -> and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 61: isBoolKind(_isEqualTo_(V1,V2)) -> tt() 0.66/0.61 62: isBoolKind(_isNotEqualTo_(V1,V2)) -> tt() 0.66/0.61 63: isBoolKind(_or_(V1,V2)) -> and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 64: isBoolKind(_xor_(V1,V2)) -> and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 65: isBoolKind(not_(V1)) -> isBoolKind(V1) 0.66/0.61 66: not_(A) -> U201(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 67: not_(false()) -> true() 0.66/0.61 68: not_(true()) -> false() 0.66/0.61 69: and(tt(),_1) ->= and^1_tt(_1) 0.66/0.61 70: and(isS(_1),_2) ->= and^1_isS(_1,_2) 0.66/0.61 71: and(and^1_isS(_1,_2),_3) ->= and^2_isS(_1,_2,_3) 0.66/0.61 Number of strict rules: 68 0.66/0.61 Direct POLO(bPol) ... failed. 0.66/0.61 Dependency Pairs: 0.66/0.61 #1: #_xor_(false(),A) -> #U121(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 #2: #_xor_(false(),A) -> #and(isBool(A),isBoolKind(A)) 0.66/0.61 #3: #_xor_(false(),A) -> #isBool(A) 0.66/0.61 #4: #_xor_(false(),A) -> #isBoolKind(A) 0.66/0.61 #5: #_and_(true(),A) -> #U41(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 #6: #_and_(true(),A) -> #and(isBool(A),isBoolKind(A)) 0.66/0.61 #7: #_and_(true(),A) -> #isBool(A) 0.66/0.61 #8: #_and_(true(),A) -> #isBoolKind(A) 0.66/0.61 #9: #not_(A) -> #U201(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 #10: #not_(A) -> #and(isBool(A),isBoolKind(A)) 0.66/0.61 #11: #not_(A) -> #isBool(A) 0.66/0.61 #12: #not_(A) -> #isBoolKind(A) 0.66/0.61 #13: #if_then_else_fi(B,U,U') -> #U131(and(and(isBool(B),isBoolKind(B)),and^2_isS(U',isSKind(U'),and^1_isS(U,isSKind(U)))),B,U') 0.66/0.61 #14: #if_then_else_fi(B,U,U') -> #and(and(isBool(B),isBoolKind(B)),and^2_isS(U',isSKind(U'),and^1_isS(U,isSKind(U)))) 0.66/0.61 #15: #if_then_else_fi(B,U,U') -> #and(isBool(B),isBoolKind(B)) 0.66/0.61 #16: #if_then_else_fi(B,U,U') -> #isBool(B) 0.66/0.61 #17: #if_then_else_fi(B,U,U') -> #isBoolKind(B) 0.66/0.61 #18: #_xor_(A,A) -> #U111(and(isBool(A),isBoolKind(A))) 0.66/0.61 #19: #_xor_(A,A) -> #and(isBool(A),isBoolKind(A)) 0.66/0.61 #20: #_xor_(A,A) -> #isBool(A) 0.66/0.61 #21: #_xor_(A,A) -> #isBoolKind(A) 0.66/0.61 #22: #_or_(A,B) -> #U101(and(and(isBool(A),isBoolKind(A)),and(isBool(B),isBoolKind(B))),A,B) 0.66/0.61 #23: #_or_(A,B) -> #and(and(isBool(A),isBoolKind(A)),and(isBool(B),isBoolKind(B))) 0.66/0.61 #24: #_or_(A,B) -> #and(isBool(A),isBoolKind(A)) 0.66/0.61 #25: #_or_(A,B) -> #isBool(A) 0.66/0.61 #26: #_or_(A,B) -> #isBoolKind(A) 0.66/0.61 #27: #_or_(A,B) -> #and(isBool(B),isBoolKind(B)) 0.66/0.61 #28: #_or_(A,B) -> #isBool(B) 0.66/0.61 #29: #_or_(A,B) -> #isBoolKind(B) 0.66/0.61 #30: #_isEqualTo_(U,U') -> #U61(and^2_isS(U',isSKind(U'),and^1_isS(U,isSKind(U))),U',U) 0.66/0.61 #31: #_xor_(x,_xor_(y,z)) ->= #_xor_(_xor_(x,y),z) 0.66/0.61 #32: #_xor_(x,_xor_(y,z)) ->= #_xor_(x,y) 0.66/0.61 #33: #if_then_else_fi(true(),U,U') -> #U141(and^2_isS(U',isSKind(U'),and^1_isS(U,isSKind(U))),U) 0.66/0.61 #34: #_and_(x,_and_(y,z)) ->= #_and_(_and_(x,y),z) 0.66/0.61 #35: #_and_(x,_and_(y,z)) ->= #_and_(x,y) 0.66/0.61 #36: #_isEqualTo_(U,U) -> #U71(and^1_isS(U,isSKind(U))) 0.66/0.61 #37: #isBoolKind(_and_(V1,V2)) -> #and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 #38: #isBoolKind(_and_(V1,V2)) -> #isBoolKind(V1) 0.66/0.61 #39: #isBoolKind(_and_(V1,V2)) -> #isBoolKind(V2) 0.66/0.61 #40: #isBool(_xor_(V1,V2)) -> #U181(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 #41: #isBool(_xor_(V1,V2)) -> #and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 #42: #isBool(_xor_(V1,V2)) -> #isBoolKind(V1) 0.66/0.61 #43: #isBool(_xor_(V1,V2)) -> #isBoolKind(V2) 0.66/0.61 #44: #_isNotEqualTo_(U,U) -> #U91(and^1_isS(U,isSKind(U))) 0.66/0.61 #45: #isBool(_implies_(V1,V2)) -> #U161(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 #46: #isBool(_implies_(V1,V2)) -> #and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 #47: #isBool(_implies_(V1,V2)) -> #isBoolKind(V1) 0.66/0.61 #48: #isBool(_implies_(V1,V2)) -> #isBoolKind(V2) 0.66/0.61 #49: #U152(tt(),V2) -> #U153(isBool(V2)) 0.66/0.61 #50: #U152(tt(),V2) -> #isBool(V2) 0.66/0.61 #51: #U161(tt(),V1,V2) -> #U162(isBool(V1),V2) 0.66/0.61 #52: #U161(tt(),V1,V2) -> #isBool(V1) 0.66/0.61 #53: #U21(tt(),A,B,C) -> #_xor_(_and_(A,B),_and_(A,C)) 0.66/0.61 #54: #U21(tt(),A,B,C) -> #_and_(A,B) 0.66/0.61 #55: #U21(tt(),A,B,C) -> #_and_(A,C) 0.66/0.61 #56: #and(tt(),_1) ->? #and^1_tt(_1) 0.66/0.61 #57: #U162(tt(),V2) -> #U163(isBool(V2)) 0.66/0.61 #58: #U162(tt(),V2) -> #isBool(V2) 0.66/0.61 #59: #isBool(not_(V1)) -> #U191(isBoolKind(V1),V1) 0.66/0.61 #60: #isBool(not_(V1)) -> #isBoolKind(V1) 0.66/0.61 #61: #U171(tt(),V1,V2) -> #U172(isBool(V1),V2) 0.66/0.61 #62: #U171(tt(),V1,V2) -> #isBool(V1) 0.66/0.61 #63: #U81(tt(),U',U) -> #if_then_else_fi(_isEqualTo_(U,U'),false(),true()) 0.66/0.61 #64: #U81(tt(),U',U) -> #_isEqualTo_(U,U') 0.66/0.61 #65: #U191(tt(),V1) -> #U192(isBool(V1)) 0.66/0.61 #66: #U191(tt(),V1) -> #isBool(V1) 0.66/0.61 #67: #_isNotEqualTo_(U,U') -> #U81(and^2_isS(U',isSKind(U'),and^1_isS(U,isSKind(U))),U',U) 0.66/0.61 #68: #_and_(A,_xor_(B,C)) -> #U21(and(and(isBool(A),isBoolKind(A)),and(and(isBool(B),isBoolKind(B)),and(isBool(C),isBoolKind(C)))),A,B,C) 0.66/0.61 #69: #_and_(A,_xor_(B,C)) -> #and(and(isBool(A),isBoolKind(A)),and(and(isBool(B),isBoolKind(B)),and(isBool(C),isBoolKind(C)))) 0.66/0.61 #70: #_and_(A,_xor_(B,C)) -> #and(isBool(A),isBoolKind(A)) 0.66/0.61 #71: #_and_(A,_xor_(B,C)) -> #isBool(A) 0.66/0.61 #72: #_and_(A,_xor_(B,C)) -> #isBoolKind(A) 0.66/0.61 #73: #_and_(A,_xor_(B,C)) -> #and(and(isBool(B),isBoolKind(B)),and(isBool(C),isBoolKind(C))) 0.66/0.61 #74: #_and_(A,_xor_(B,C)) -> #and(isBool(B),isBoolKind(B)) 0.66/0.61 #75: #_and_(A,_xor_(B,C)) -> #isBool(B) 0.66/0.61 #76: #_and_(A,_xor_(B,C)) -> #isBoolKind(B) 0.66/0.61 #77: #_and_(A,_xor_(B,C)) -> #and(isBool(C),isBoolKind(C)) 0.66/0.61 #78: #_and_(A,_xor_(B,C)) -> #isBool(C) 0.66/0.61 #79: #_and_(A,_xor_(B,C)) -> #isBoolKind(C) 0.66/0.61 #80: #isBoolKind(_xor_(V1,V2)) -> #and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 #81: #isBoolKind(_xor_(V1,V2)) -> #isBoolKind(V1) 0.66/0.61 #82: #isBoolKind(_xor_(V1,V2)) -> #isBoolKind(V2) 0.66/0.61 #83: #_or_(x,_or_(y,z)) ->= #_or_(_or_(x,y),z) 0.66/0.61 #84: #_or_(x,_or_(y,z)) ->= #_or_(x,y) 0.66/0.61 #85: #U131(tt(),B,U') -> #U132(equal(_isNotEqualTo_(B,true()),true()),U') 0.66/0.61 #86: #U131(tt(),B,U') -> #equal(_isNotEqualTo_(B,true()),true()) 0.66/0.61 #87: #U131(tt(),B,U') -> #_isNotEqualTo_(B,true()) 0.66/0.61 #88: #isBoolKind(not_(V1)) -> #isBoolKind(V1) 0.66/0.61 #89: #U201(tt(),A) -> #_xor_(A,true()) 0.66/0.61 #90: #_and_(false(),A) -> #U31(and(isBool(A),isBoolKind(A))) 0.66/0.61 #91: #_and_(false(),A) -> #and(isBool(A),isBoolKind(A)) 0.66/0.61 #92: #_and_(false(),A) -> #isBool(A) 0.66/0.61 #93: #_and_(false(),A) -> #isBoolKind(A) 0.66/0.61 #94: #U61(tt(),U',U) -> #U62(equal(_isNotEqualTo_(U,U'),true())) 0.66/0.61 #95: #U61(tt(),U',U) -> #equal(_isNotEqualTo_(U,U'),true()) 0.66/0.61 #96: #U61(tt(),U',U) -> #_isNotEqualTo_(U,U') 0.66/0.61 #97: #isBoolKind(_implies_(V1,V2)) -> #and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 #98: #isBoolKind(_implies_(V1,V2)) -> #isBoolKind(V1) 0.66/0.61 #99: #isBoolKind(_implies_(V1,V2)) -> #isBoolKind(V2) 0.66/0.61 #100: #U181(tt(),V1,V2) -> #U182(isBool(V1),V2) 0.66/0.61 #101: #U181(tt(),V1,V2) -> #isBool(V1) 0.66/0.61 #102: #_and_(A,A) -> #U11(and(isBool(A),isBoolKind(A)),A) 0.66/0.61 #103: #_and_(A,A) -> #and(isBool(A),isBoolKind(A)) 0.66/0.61 #104: #_and_(A,A) -> #isBool(A) 0.66/0.61 #105: #_and_(A,A) -> #isBoolKind(A) 0.66/0.61 #106: #isBoolKind(_or_(V1,V2)) -> #and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 #107: #isBoolKind(_or_(V1,V2)) -> #isBoolKind(V1) 0.66/0.61 #108: #isBoolKind(_or_(V1,V2)) -> #isBoolKind(V2) 0.66/0.61 #109: #U51(tt(),A,B) -> #not_(_xor_(A,_and_(A,B))) 0.66/0.61 #110: #U51(tt(),A,B) -> #_xor_(A,_and_(A,B)) 0.66/0.61 #111: #U51(tt(),A,B) -> #_and_(A,B) 0.66/0.61 #112: #_implies_(A,B) -> #U51(and(and(isBool(A),isBoolKind(A)),and(isBool(B),isBoolKind(B))),A,B) 0.66/0.61 #113: #_implies_(A,B) -> #and(and(isBool(A),isBoolKind(A)),and(isBool(B),isBoolKind(B))) 0.66/0.61 #114: #_implies_(A,B) -> #and(isBool(A),isBoolKind(A)) 0.66/0.61 #115: #_implies_(A,B) -> #isBool(A) 0.66/0.61 #116: #_implies_(A,B) -> #isBoolKind(A) 0.66/0.61 #117: #_implies_(A,B) -> #and(isBool(B),isBoolKind(B)) 0.66/0.61 #118: #_implies_(A,B) -> #isBool(B) 0.66/0.61 #119: #_implies_(A,B) -> #isBoolKind(B) 0.66/0.61 #120: #U101(tt(),A,B) -> #_xor_(_and_(A,B),_xor_(A,B)) 0.66/0.61 #121: #U101(tt(),A,B) -> #_and_(A,B) 0.66/0.61 #122: #U101(tt(),A,B) -> #_xor_(A,B) 0.66/0.61 #123: #isBool(_or_(V1,V2)) -> #U171(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 #124: #isBool(_or_(V1,V2)) -> #and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 #125: #isBool(_or_(V1,V2)) -> #isBoolKind(V1) 0.66/0.61 #126: #isBool(_or_(V1,V2)) -> #isBoolKind(V2) 0.66/0.61 #127: #U151(tt(),V1,V2) -> #U152(isBool(V1),V2) 0.66/0.61 #128: #U151(tt(),V1,V2) -> #isBool(V1) 0.66/0.61 #129: #U172(tt(),V2) -> #U173(isBool(V2)) 0.66/0.61 #130: #U172(tt(),V2) -> #isBool(V2) 0.66/0.61 #131: #isBool(_and_(V1,V2)) -> #U151(and(isBoolKind(V1),isBoolKind(V2)),V1,V2) 0.66/0.61 #132: #isBool(_and_(V1,V2)) -> #and(isBoolKind(V1),isBoolKind(V2)) 0.66/0.61 #133: #isBool(_and_(V1,V2)) -> #isBoolKind(V1) 0.66/0.61 #134: #isBool(_and_(V1,V2)) -> #isBoolKind(V2) 0.66/0.61 #135: #U182(tt(),V2) -> #U183(isBool(V2)) 0.66/0.61 #136: #U182(tt(),V2) -> #isBool(V2) 0.66/0.61 Number of SCCs: 5, DPs: 36 0.66/0.61 SCC { #83 #84 } 0.66/0.61 only weak rules. 0.66/0.61 Number of SCCs: 4, DPs: 34 0.66/0.61 SCC { #31 #32 } 0.66/0.61 only weak rules. 0.66/0.61 Number of SCCs: 3, DPs: 32 0.66/0.61 SCC { #38 #39 #81 #82 #88 #98 #99 #107 #108 } 0.66/0.61 POLO(Sum)... succeeded. 0.66/0.61 #U201 w: 0 0.66/0.61 U21 w: 0 0.66/0.61 _and_ w: x1 + x2 + 1 0.66/0.61 U161 w: 0 0.66/0.61 U182 w: 0 0.66/0.61 U11 w: 0 0.66/0.61 and^1_isS w: 0 0.66/0.61 #and^1_tt w: 0 0.66/0.61 #_isNotEqualTo_ w: 0 0.66/0.61 U192 w: 0 0.66/0.61 not_ w: x1 + 1 0.66/0.61 #U152 w: 0 0.66/0.61 #U181 w: 0 0.66/0.61 #_and_ w: 0 0.66/0.61 #isBoolKind w: x1 0.66/0.61 U91 w: 0 0.66/0.61 #U101 w: 0 0.66/0.61 #equal w: 0 0.66/0.61 #U183 w: 0 0.66/0.61 U71 w: 0 0.66/0.61 #U81 w: 0 0.66/0.61 and w: 0 0.66/0.61 #isBool w: 0 0.66/0.61 U131 w: 0 0.66/0.61 _or_ w: x1 + x2 + 1 0.66/0.61 U101 w: 0 0.66/0.61 U111 w: 0 0.66/0.61 U132 w: 0 0.66/0.61 U152 w: 0 0.66/0.61 false w: 0 0.66/0.61 isBool w: 0 0.66/0.61 #U163 w: 0 0.66/0.61 #U121 w: 0 0.66/0.61 U163 w: 0 0.66/0.61 U172 w: 0 0.66/0.61 #U131 w: 0 0.66/0.61 #U173 w: 0 0.66/0.61 true w: 0 0.66/0.61 _implies_ w: x1 + x2 + 1 0.66/0.61 #_implies_ w: 0 0.66/0.61 U201 w: 0 0.66/0.61 #U141 w: 0 0.66/0.61 _isNotEqualTo_ w: 0 0.66/0.61 U141 w: 0 0.66/0.61 #U171 w: 0 0.66/0.61 #U62 w: 0 0.66/0.61 U173 w: 0 0.66/0.61 #_xor_ w: 0 0.66/0.61 _xor_ w: x1 + x2 + 1 0.66/0.61 U191 w: 0 0.66/0.61 U153 w: 0 0.66/0.61 U171 w: 0 0.66/0.61 and^2_isS w: 0 0.66/0.61 U62 w: 0 0.66/0.61 #U153 w: 0 0.66/0.61 #U182 w: 0 0.66/0.61 U151 w: 0 0.66/0.61 #U111 w: 0 0.66/0.61 #U192 w: 0 0.66/0.61 isS w: 0 0.66/0.61 isBoolKind w: 0 0.66/0.61 #if_then_else_fi w: 0 0.66/0.61 U61 w: 0 0.66/0.61 #U51 w: 0 0.66/0.61 #not_ w: 0 0.66/0.61 #U11 w: 0 0.66/0.61 U31 w: 0 0.66/0.61 U183 w: 0 0.66/0.61 #_isEqualTo_ w: 0 0.66/0.61 #U41 w: 0 0.66/0.61 equal w: 0 0.66/0.61 #U191 w: 0 0.66/0.61 isSKind w: 0 0.66/0.61 #U21 w: 0 0.66/0.61 U81 w: 0 0.66/0.61 tt w: 0 0.66/0.61 #U71 w: 0 0.66/0.61 #U151 w: 0 0.66/0.61 #U162 w: 0 0.66/0.61 #_or_ w: 0 0.66/0.61 U51 w: 0 0.66/0.61 #U161 w: 0 0.66/0.61 #U172 w: 0 0.66/0.61 U162 w: 0 0.66/0.61 U41 w: 0 0.66/0.61 _isEqualTo_ w: 0 0.66/0.61 #U31 w: 0 0.66/0.61 #and w: 0 0.66/0.61 #U91 w: 0 0.66/0.61 if_then_else_fi w: 0 0.66/0.61 #U132 w: 0 0.66/0.61 U121 w: 0 0.66/0.61 #U61 w: 0 0.66/0.61 U181 w: 0 0.66/0.61 and^1_tt w: 0 0.66/0.61 USABLE RULES: { } 0.66/0.61 Removed DPs: #38 #39 #81 #82 #88 #98 #99 #107 #108 0.66/0.61 Number of SCCs: 2, DPs: 23 0.66/0.61 SCC { #34 #35 #54 #55 #68 } 0.66/0.61 POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. 0.66/0.61 Finding a loop... failed. 0.66/0.61 EOF