MAYBE Time: 44.824 Problem: Equations: _xor_AC(_xor_AC(x8,x9),x10) -> _xor_AC(x8,_xor_AC(x9,x10)) _xor_AC(x8,x9) -> _xor_AC(x9,x8) _and_AC(_and_AC(x8,x9),x10) -> _and_AC(x8,_and_AC(x9,x10)) _and_AC(x8,x9) -> _and_AC(x9,x8) _or_AC(_or_AC(x8,x9),x10) -> _or_AC(x8,_or_AC(x9,x10)) _or_AC(x8,x9) -> _or_AC(x9,x8) _xor_AC(x8,_xor_AC(x9,x10)) -> _xor_AC(_xor_AC(x8,x9),x10) _xor_AC(x9,x8) -> _xor_AC(x8,x9) _and_AC(x8,_and_AC(x9,x10)) -> _and_AC(_and_AC(x8,x9),x10) _and_AC(x9,x8) -> _and_AC(x8,x9) _or_AC(x8,_or_AC(x9,x10)) -> _or_AC(_or_AC(x8,x9),x10) _or_AC(x9,x8) -> _or_AC(x8,x9) TRS: U101(tt(),A,B) -> U102(isBoolKind(A),A,B) U102(tt(),A,B) -> U103(isBool(B),A,B) U103(tt(),A,B) -> U104(isBoolKind(B),A,B) U104(tt(),A,B) -> _xor_AC(_and_AC(A,B),_xor_AC(A,B)) U11(tt(),A) -> U12(isBoolKind(A),A) U111(tt(),A) -> U112(isBoolKind(A)) U112(tt()) -> false() U12(tt(),A) -> A U121(tt(),A) -> U122(isBoolKind(A),A) U122(tt(),A) -> A U131(tt(),B,U',U) -> U132(isBoolKind(B),B,U',U) U132(tt(),B,U',U) -> U133(isS(U'),B,U',U) U133(tt(),B,U',U) -> U134(isSKind(U'),B,U',U) U134(tt(),B,U',U) -> U135(isS(U),B,U',U) U135(tt(),B,U',U) -> U136(isSKind(U),B,U') U136(tt(),B,U') -> U137(equal(_isNotEqualTo_(B,true()),true()),U') U137(tt(),U') -> U' U141(tt(),U',U) -> U142(isSKind(U'),U) U142(tt(),U) -> U143(isS(U),U) U143(tt(),U) -> U144(isSKind(U),U) U144(tt(),U) -> U U151(tt(),V1,V2) -> U152(isBoolKind(V1),V1,V2) U152(tt(),V1,V2) -> U153(isBoolKind(V2),V1,V2) U153(tt(),V1,V2) -> U154(isBoolKind(V2),V1,V2) U154(tt(),V1,V2) -> U155(isBool(V1),V2) U155(tt(),V2) -> U156(isBool(V2)) U156(tt()) -> tt() U161(tt(),V1,V2) -> U162(isBoolKind(V1),V1,V2) U162(tt(),V1,V2) -> U163(isBoolKind(V2),V1,V2) U163(tt(),V1,V2) -> U164(isBoolKind(V2),V1,V2) U164(tt(),V1,V2) -> U165(isBool(V1),V2) U165(tt(),V2) -> U166(isBool(V2)) U166(tt()) -> tt() U171(tt(),V1,V2) -> U172(isBoolKind(V1),V1,V2) U172(tt(),V1,V2) -> U173(isBoolKind(V2),V1,V2) U173(tt(),V1,V2) -> U174(isBoolKind(V2),V1,V2) U174(tt(),V1,V2) -> U175(isBool(V1),V2) U175(tt(),V2) -> U176(isBool(V2)) U176(tt()) -> tt() U181(tt(),V1,V2) -> U182(isBoolKind(V1),V1,V2) U182(tt(),V1,V2) -> U183(isBoolKind(V2),V1,V2) U183(tt(),V1,V2) -> U184(isBoolKind(V2),V1,V2) U184(tt(),V1,V2) -> U185(isBool(V1),V2) U185(tt(),V2) -> U186(isBool(V2)) U186(tt()) -> tt() U191(tt(),V1) -> U192(isBoolKind(V1),V1) U192(tt(),V1) -> U193(isBool(V1)) U193(tt()) -> tt() U201(tt(),V2) -> U202(isBoolKind(V2)) U202(tt()) -> tt() U21(tt(),A,B,C) -> U22(isBoolKind(A),A,B,C) U211(tt(),V2) -> U212(isBoolKind(V2)) U212(tt()) -> tt() U22(tt(),A,B,C) -> U23(isBool(B),A,B,C) U221(tt(),V2) -> U222(isBoolKind(V2)) U222(tt()) -> tt() U23(tt(),A,B,C) -> U24(isBoolKind(B),A,B,C) U231(tt(),V2) -> U232(isBoolKind(V2)) U232(tt()) -> tt() U24(tt(),A,B,C) -> U25(isBool(C),A,B,C) U241(tt()) -> tt() U25(tt(),A,B,C) -> U26(isBoolKind(C),A,B,C) U251(tt(),A) -> U252(isBoolKind(A),A) U252(tt(),A) -> _xor_AC(A,true()) U26(tt(),A,B,C) -> _xor_AC(_and_AC(A,B),_and_AC(A,C)) U31(tt(),A) -> U32(isBoolKind(A)) U32(tt()) -> false() U41(tt(),A) -> U42(isBoolKind(A),A) U42(tt(),A) -> A U51(tt(),A,B) -> U52(isBoolKind(A),A,B) U52(tt(),A,B) -> U53(isBool(B),A,B) U53(tt(),A,B) -> U54(isBoolKind(B),A,B) U54(tt(),A,B) -> not_(_xor_AC(A,_and_AC(A,B))) U61(tt(),U',U) -> U62(isSKind(U'),U',U) U62(tt(),U',U) -> U63(isS(U),U',U) U63(tt(),U',U) -> U64(isSKind(U),U',U) U64(tt(),U',U) -> U65(equal(_isNotEqualTo_(U,U'),true())) U65(tt()) -> false() U71(tt(),U) -> U72(isSKind(U)) U72(tt()) -> true() U81(tt(),U',U) -> U82(isSKind(U'),U',U) U82(tt(),U',U) -> U83(isS(U),U',U) U83(tt(),U',U) -> U84(isSKind(U),U',U) U84(tt(),U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false(),true()) U91(tt(),U) -> U92(isSKind(U)) U92(tt()) -> false() _and_AC(A,A) -> U11(isBool(A),A) _and_AC(A,_xor_AC(B,C)) -> U21(isBool(A),A,B,C) _and_AC(false(),A) -> U31(isBool(A),A) _and_AC(true(),A) -> U41(isBool(A),A) _implies_(A,B) -> U51(isBool(A),A,B) _isEqualTo_(U,U') -> U61(isS(U'),U',U) _isEqualTo_(U,U) -> U71(isS(U),U) _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) _isNotEqualTo_(U,U) -> U91(isS(U),U) _or_AC(A,B) -> U101(isBool(A),A,B) _xor_AC(A,A) -> U111(isBool(A),A) _xor_AC(false(),A) -> U121(isBool(A),A) equal(X,X) -> tt() if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) if_then_else_fi(true(),U,U') -> U141(isS(U'),U',U) isBool(false()) -> tt() isBool(true()) -> tt() isBool(_and_AC(V1,V2)) -> U151(isBoolKind(V1),V1,V2) isBool(_implies_(V1,V2)) -> U161(isBoolKind(V1),V1,V2) isBool(_isEqualTo_(V1,V2)) -> tt() isBool(_isNotEqualTo_(V1,V2)) -> tt() isBool(_or_AC(V1,V2)) -> U171(isBoolKind(V1),V1,V2) isBool(_xor_AC(V1,V2)) -> U181(isBoolKind(V1),V1,V2) isBool(not_(V1)) -> U191(isBoolKind(V1),V1) isBoolKind(false()) -> tt() isBoolKind(true()) -> tt() isBoolKind(_and_AC(V1,V2)) -> U201(isBoolKind(V1),V2) isBoolKind(_implies_(V1,V2)) -> U211(isBoolKind(V1),V2) isBoolKind(_isEqualTo_(V1,V2)) -> tt() isBoolKind(_isNotEqualTo_(V1,V2)) -> tt() isBoolKind(_or_AC(V1,V2)) -> U221(isBoolKind(V1),V2) isBoolKind(_xor_AC(V1,V2)) -> U231(isBoolKind(V1),V2) isBoolKind(not_(V1)) -> U241(isBoolKind(V1)) not_(A) -> U251(isBool(A),A) not_(false()) -> true() not_(true()) -> false() Proof: DP Processor: Equations#: _xor_{AC,#}(_xor_AC(x8,x9),x10) -> _xor_{AC,#}(x8,_xor_AC(x9,x10)) _xor_{AC,#}(x8,x9) -> _xor_{AC,#}(x9,x8) _and_{AC,#}(_and_AC(x8,x9),x10) -> _and_{AC,#}(x8,_and_AC(x9,x10)) _and_{AC,#}(x8,x9) -> _and_{AC,#}(x9,x8) _or_{AC,#}(_or_AC(x8,x9),x10) -> _or_{AC,#}(x8,_or_AC(x9,x10)) _or_{AC,#}(x8,x9) -> _or_{AC,#}(x9,x8) _xor_{AC,#}(x8,_xor_AC(x9,x10)) -> _xor_{AC,#}(_xor_AC(x8,x9),x10) _xor_{AC,#}(x9,x8) -> _xor_{AC,#}(x8,x9) _and_{AC,#}(x8,_and_AC(x9,x10)) -> _and_{AC,#}(_and_AC(x8,x9),x10) _and_{AC,#}(x9,x8) -> _and_{AC,#}(x8,x9) _or_{AC,#}(x8,_or_AC(x9,x10)) -> _or_{AC,#}(_or_AC(x8,x9),x10) _or_{AC,#}(x9,x8) -> _or_{AC,#}(x8,x9) DPs: U101#(tt(),A,B) -> isBoolKind#(A) U101#(tt(),A,B) -> U102#(isBoolKind(A),A,B) U102#(tt(),A,B) -> isBool#(B) U102#(tt(),A,B) -> U103#(isBool(B),A,B) U103#(tt(),A,B) -> isBoolKind#(B) U103#(tt(),A,B) -> U104#(isBoolKind(B),A,B) U104#(tt(),A,B) -> _xor_{AC,#}(A,B) U104#(tt(),A,B) -> _and_{AC,#}(A,B) U104#(tt(),A,B) -> _xor_{AC,#}(_and_AC(A,B),_xor_AC(A,B)) U11#(tt(),A) -> isBoolKind#(A) U11#(tt(),A) -> U12#(isBoolKind(A),A) U111#(tt(),A) -> isBoolKind#(A) U111#(tt(),A) -> U112#(isBoolKind(A)) U121#(tt(),A) -> isBoolKind#(A) U121#(tt(),A) -> U122#(isBoolKind(A),A) U131#(tt(),B,U',U) -> isBoolKind#(B) U131#(tt(),B,U',U) -> U132#(isBoolKind(B),B,U',U) U132#(tt(),B,U',U) -> U133#(isS(U'),B,U',U) U133#(tt(),B,U',U) -> U134#(isSKind(U'),B,U',U) U134#(tt(),B,U',U) -> U135#(isS(U),B,U',U) U135#(tt(),B,U',U) -> U136#(isSKind(U),B,U') U136#(tt(),B,U') -> _isNotEqualTo_#(B,true()) U136#(tt(),B,U') -> equal#(_isNotEqualTo_(B,true()),true()) U136#(tt(),B,U') -> U137#(equal(_isNotEqualTo_(B,true()),true()),U') U141#(tt(),U',U) -> U142#(isSKind(U'),U) U142#(tt(),U) -> U143#(isS(U),U) U143#(tt(),U) -> U144#(isSKind(U),U) U151#(tt(),V1,V2) -> isBoolKind#(V1) U151#(tt(),V1,V2) -> U152#(isBoolKind(V1),V1,V2) U152#(tt(),V1,V2) -> isBoolKind#(V2) U152#(tt(),V1,V2) -> U153#(isBoolKind(V2),V1,V2) U153#(tt(),V1,V2) -> isBoolKind#(V2) U153#(tt(),V1,V2) -> U154#(isBoolKind(V2),V1,V2) U154#(tt(),V1,V2) -> isBool#(V1) U154#(tt(),V1,V2) -> U155#(isBool(V1),V2) U155#(tt(),V2) -> isBool#(V2) U155#(tt(),V2) -> U156#(isBool(V2)) U161#(tt(),V1,V2) -> isBoolKind#(V1) U161#(tt(),V1,V2) -> U162#(isBoolKind(V1),V1,V2) U162#(tt(),V1,V2) -> isBoolKind#(V2) U162#(tt(),V1,V2) -> U163#(isBoolKind(V2),V1,V2) U163#(tt(),V1,V2) -> isBoolKind#(V2) U163#(tt(),V1,V2) -> U164#(isBoolKind(V2),V1,V2) U164#(tt(),V1,V2) -> isBool#(V1) U164#(tt(),V1,V2) -> U165#(isBool(V1),V2) U165#(tt(),V2) -> isBool#(V2) U165#(tt(),V2) -> U166#(isBool(V2)) U171#(tt(),V1,V2) -> isBoolKind#(V1) U171#(tt(),V1,V2) -> U172#(isBoolKind(V1),V1,V2) U172#(tt(),V1,V2) -> isBoolKind#(V2) U172#(tt(),V1,V2) -> U173#(isBoolKind(V2),V1,V2) U173#(tt(),V1,V2) -> isBoolKind#(V2) U173#(tt(),V1,V2) -> U174#(isBoolKind(V2),V1,V2) U174#(tt(),V1,V2) -> isBool#(V1) U174#(tt(),V1,V2) -> U175#(isBool(V1),V2) U175#(tt(),V2) -> isBool#(V2) U175#(tt(),V2) -> U176#(isBool(V2)) U181#(tt(),V1,V2) -> isBoolKind#(V1) U181#(tt(),V1,V2) -> U182#(isBoolKind(V1),V1,V2) U182#(tt(),V1,V2) -> isBoolKind#(V2) U182#(tt(),V1,V2) -> U183#(isBoolKind(V2),V1,V2) U183#(tt(),V1,V2) -> isBoolKind#(V2) U183#(tt(),V1,V2) -> U184#(isBoolKind(V2),V1,V2) U184#(tt(),V1,V2) -> isBool#(V1) U184#(tt(),V1,V2) -> U185#(isBool(V1),V2) U185#(tt(),V2) -> isBool#(V2) U185#(tt(),V2) -> U186#(isBool(V2)) U191#(tt(),V1) -> isBoolKind#(V1) U191#(tt(),V1) -> U192#(isBoolKind(V1),V1) U192#(tt(),V1) -> isBool#(V1) U192#(tt(),V1) -> U193#(isBool(V1)) U201#(tt(),V2) -> isBoolKind#(V2) U201#(tt(),V2) -> U202#(isBoolKind(V2)) U21#(tt(),A,B,C) -> isBoolKind#(A) U21#(tt(),A,B,C) -> U22#(isBoolKind(A),A,B,C) U211#(tt(),V2) -> isBoolKind#(V2) U211#(tt(),V2) -> U212#(isBoolKind(V2)) U22#(tt(),A,B,C) -> isBool#(B) U22#(tt(),A,B,C) -> U23#(isBool(B),A,B,C) U221#(tt(),V2) -> isBoolKind#(V2) U221#(tt(),V2) -> U222#(isBoolKind(V2)) U23#(tt(),A,B,C) -> isBoolKind#(B) U23#(tt(),A,B,C) -> U24#(isBoolKind(B),A,B,C) U231#(tt(),V2) -> isBoolKind#(V2) U231#(tt(),V2) -> U232#(isBoolKind(V2)) U24#(tt(),A,B,C) -> isBool#(C) U24#(tt(),A,B,C) -> U25#(isBool(C),A,B,C) U25#(tt(),A,B,C) -> isBoolKind#(C) U25#(tt(),A,B,C) -> U26#(isBoolKind(C),A,B,C) U251#(tt(),A) -> isBoolKind#(A) U251#(tt(),A) -> U252#(isBoolKind(A),A) U252#(tt(),A) -> _xor_{AC,#}(A,true()) U26#(tt(),A,B,C) -> _and_{AC,#}(A,C) U26#(tt(),A,B,C) -> _and_{AC,#}(A,B) U26#(tt(),A,B,C) -> _xor_{AC,#}(_and_AC(A,B),_and_AC(A,C)) U31#(tt(),A) -> isBoolKind#(A) U31#(tt(),A) -> U32#(isBoolKind(A)) U41#(tt(),A) -> isBoolKind#(A) U41#(tt(),A) -> U42#(isBoolKind(A),A) U51#(tt(),A,B) -> isBoolKind#(A) U51#(tt(),A,B) -> U52#(isBoolKind(A),A,B) U52#(tt(),A,B) -> isBool#(B) U52#(tt(),A,B) -> U53#(isBool(B),A,B) U53#(tt(),A,B) -> isBoolKind#(B) U53#(tt(),A,B) -> U54#(isBoolKind(B),A,B) U54#(tt(),A,B) -> _and_{AC,#}(A,B) U54#(tt(),A,B) -> _xor_{AC,#}(A,_and_AC(A,B)) U54#(tt(),A,B) -> not_#(_xor_AC(A,_and_AC(A,B))) U61#(tt(),U',U) -> U62#(isSKind(U'),U',U) U62#(tt(),U',U) -> U63#(isS(U),U',U) U63#(tt(),U',U) -> U64#(isSKind(U),U',U) U64#(tt(),U',U) -> _isNotEqualTo_#(U,U') U64#(tt(),U',U) -> equal#(_isNotEqualTo_(U,U'),true()) U64#(tt(),U',U) -> U65#(equal(_isNotEqualTo_(U,U'),true())) U71#(tt(),U) -> U72#(isSKind(U)) U81#(tt(),U',U) -> U82#(isSKind(U'),U',U) U82#(tt(),U',U) -> U83#(isS(U),U',U) U83#(tt(),U',U) -> U84#(isSKind(U),U',U) U84#(tt(),U',U) -> _isEqualTo_#(U,U') U84#(tt(),U',U) -> if_then_else_fi#(_isEqualTo_(U,U'),false(),true()) U91#(tt(),U) -> U92#(isSKind(U)) _and_{AC,#}(A,A) -> isBool#(A) _and_{AC,#}(A,A) -> U11#(isBool(A),A) _and_{AC,#}(A,_xor_AC(B,C)) -> isBool#(A) _and_{AC,#}(A,_xor_AC(B,C)) -> U21#(isBool(A),A,B,C) _and_{AC,#}(false(),A) -> isBool#(A) _and_{AC,#}(false(),A) -> U31#(isBool(A),A) _and_{AC,#}(true(),A) -> isBool#(A) _and_{AC,#}(true(),A) -> U41#(isBool(A),A) _implies_#(A,B) -> isBool#(A) _implies_#(A,B) -> U51#(isBool(A),A,B) _isEqualTo_#(U,U') -> U61#(isS(U'),U',U) _isEqualTo_#(U,U) -> U71#(isS(U),U) _isNotEqualTo_#(U,U') -> U81#(isS(U'),U',U) _isNotEqualTo_#(U,U) -> U91#(isS(U),U) _or_{AC,#}(A,B) -> isBool#(A) _or_{AC,#}(A,B) -> U101#(isBool(A),A,B) _xor_{AC,#}(A,A) -> isBool#(A) _xor_{AC,#}(A,A) -> U111#(isBool(A),A) _xor_{AC,#}(false(),A) -> isBool#(A) _xor_{AC,#}(false(),A) -> U121#(isBool(A),A) if_then_else_fi#(B,U,U') -> isBool#(B) if_then_else_fi#(B,U,U') -> U131#(isBool(B),B,U',U) if_then_else_fi#(true(),U,U') -> U141#(isS(U'),U',U) isBool#(_and_AC(V1,V2)) -> isBoolKind#(V1) isBool#(_and_AC(V1,V2)) -> U151#(isBoolKind(V1),V1,V2) isBool#(_implies_(V1,V2)) -> isBoolKind#(V1) isBool#(_implies_(V1,V2)) -> U161#(isBoolKind(V1),V1,V2) isBool#(_or_AC(V1,V2)) -> isBoolKind#(V1) isBool#(_or_AC(V1,V2)) -> U171#(isBoolKind(V1),V1,V2) isBool#(_xor_AC(V1,V2)) -> isBoolKind#(V1) isBool#(_xor_AC(V1,V2)) -> U181#(isBoolKind(V1),V1,V2) isBool#(not_(V1)) -> isBoolKind#(V1) isBool#(not_(V1)) -> U191#(isBoolKind(V1),V1) isBoolKind#(_and_AC(V1,V2)) -> isBoolKind#(V1) isBoolKind#(_and_AC(V1,V2)) -> U201#(isBoolKind(V1),V2) isBoolKind#(_implies_(V1,V2)) -> isBoolKind#(V1) isBoolKind#(_implies_(V1,V2)) -> U211#(isBoolKind(V1),V2) isBoolKind#(_or_AC(V1,V2)) -> isBoolKind#(V1) isBoolKind#(_or_AC(V1,V2)) -> U221#(isBoolKind(V1),V2) isBoolKind#(_xor_AC(V1,V2)) -> isBoolKind#(V1) isBoolKind#(_xor_AC(V1,V2)) -> U231#(isBoolKind(V1),V2) isBoolKind#(not_(V1)) -> isBoolKind#(V1) isBoolKind#(not_(V1)) -> U241#(isBoolKind(V1)) not_#(A) -> isBool#(A) not_#(A) -> U251#(isBool(A),A) _and_{AC,#}(x11,_and_AC(A,A)) -> isBool#(A) _and_{AC,#}(x11,_and_AC(A,A)) -> U11#(isBool(A),A) _and_{AC,#}(x11,_and_AC(A,A)) -> _and_{AC,#}(x11,U11(isBool(A),A)) _and_{AC,#}(x12,_and_AC(A,_xor_AC(B,C))) -> isBool#(A) _and_{AC,#}(x12,_and_AC(A,_xor_AC(B,C))) -> U21#(isBool(A),A,B,C) _and_{AC,#}(x12,_and_AC(A,_xor_AC(B,C))) -> _and_{AC,#}(x12,U21(isBool(A),A,B,C)) _and_{AC,#}(x13,_and_AC(false(),A)) -> isBool#(A) _and_{AC,#}(x13,_and_AC(false(),A)) -> U31#(isBool(A),A) _and_{AC,#}(x13,_and_AC(false(),A)) -> _and_{AC,#}(x13,U31(isBool(A),A)) _and_{AC,#}(x14,_and_AC(true(),A)) -> isBool#(A) _and_{AC,#}(x14,_and_AC(true(),A)) -> U41#(isBool(A),A) _and_{AC,#}(x14,_and_AC(true(),A)) -> _and_{AC,#}(x14,U41(isBool(A),A)) _or_{AC,#}(x15,_or_AC(A,B)) -> isBool#(A) _or_{AC,#}(x15,_or_AC(A,B)) -> U101#(isBool(A),A,B) _or_{AC,#}(x15,_or_AC(A,B)) -> _or_{AC,#}(x15,U101(isBool(A),A,B)) _xor_{AC,#}(x16,_xor_AC(A,A)) -> isBool#(A) _xor_{AC,#}(x16,_xor_AC(A,A)) -> U111#(isBool(A),A) _xor_{AC,#}(x16,_xor_AC(A,A)) -> _xor_{AC,#}(x16,U111(isBool(A),A)) _xor_{AC,#}(x17,_xor_AC(false(),A)) -> isBool#(A) _xor_{AC,#}(x17,_xor_AC(false(),A)) -> U121#(isBool(A),A) _xor_{AC,#}(x17,_xor_AC(false(),A)) -> _xor_{AC,#}(x17,U121(isBool(A),A)) Equations: _xor_AC(_xor_AC(x8,x9),x10) -> _xor_AC(x8,_xor_AC(x9,x10)) _xor_AC(x8,x9) -> _xor_AC(x9,x8) _and_AC(_and_AC(x8,x9),x10) -> _and_AC(x8,_and_AC(x9,x10)) _and_AC(x8,x9) -> _and_AC(x9,x8) _or_AC(_or_AC(x8,x9),x10) -> _or_AC(x8,_or_AC(x9,x10)) _or_AC(x8,x9) -> _or_AC(x9,x8) _xor_AC(x8,_xor_AC(x9,x10)) -> _xor_AC(_xor_AC(x8,x9),x10) _xor_AC(x9,x8) -> _xor_AC(x8,x9) _and_AC(x8,_and_AC(x9,x10)) -> _and_AC(_and_AC(x8,x9),x10) _and_AC(x9,x8) -> _and_AC(x8,x9) _or_AC(x8,_or_AC(x9,x10)) -> _or_AC(_or_AC(x8,x9),x10) _or_AC(x9,x8) -> _or_AC(x8,x9) TRS: U101(tt(),A,B) -> U102(isBoolKind(A),A,B) U102(tt(),A,B) -> U103(isBool(B),A,B) U103(tt(),A,B) -> U104(isBoolKind(B),A,B) U104(tt(),A,B) -> _xor_AC(_and_AC(A,B),_xor_AC(A,B)) U11(tt(),A) -> U12(isBoolKind(A),A) U111(tt(),A) -> U112(isBoolKind(A)) U112(tt()) -> false() U12(tt(),A) -> A U121(tt(),A) -> U122(isBoolKind(A),A) U122(tt(),A) -> A U131(tt(),B,U',U) -> U132(isBoolKind(B),B,U',U) U132(tt(),B,U',U) -> U133(isS(U'),B,U',U) U133(tt(),B,U',U) -> U134(isSKind(U'),B,U',U) U134(tt(),B,U',U) -> U135(isS(U),B,U',U) U135(tt(),B,U',U) -> U136(isSKind(U),B,U') U136(tt(),B,U') -> U137(equal(_isNotEqualTo_(B,true()),true()),U') U137(tt(),U') -> U' U141(tt(),U',U) -> U142(isSKind(U'),U) U142(tt(),U) -> U143(isS(U),U) U143(tt(),U) -> U144(isSKind(U),U) U144(tt(),U) -> U U151(tt(),V1,V2) -> U152(isBoolKind(V1),V1,V2) U152(tt(),V1,V2) -> U153(isBoolKind(V2),V1,V2) U153(tt(),V1,V2) -> U154(isBoolKind(V2),V1,V2) U154(tt(),V1,V2) -> U155(isBool(V1),V2) U155(tt(),V2) -> U156(isBool(V2)) U156(tt()) -> tt() U161(tt(),V1,V2) -> U162(isBoolKind(V1),V1,V2) U162(tt(),V1,V2) -> U163(isBoolKind(V2),V1,V2) U163(tt(),V1,V2) -> U164(isBoolKind(V2),V1,V2) U164(tt(),V1,V2) -> U165(isBool(V1),V2) U165(tt(),V2) -> U166(isBool(V2)) U166(tt()) -> tt() U171(tt(),V1,V2) -> U172(isBoolKind(V1),V1,V2) U172(tt(),V1,V2) -> U173(isBoolKind(V2),V1,V2) U173(tt(),V1,V2) -> U174(isBoolKind(V2),V1,V2) U174(tt(),V1,V2) -> U175(isBool(V1),V2) U175(tt(),V2) -> U176(isBool(V2)) U176(tt()) -> tt() U181(tt(),V1,V2) -> U182(isBoolKind(V1),V1,V2) U182(tt(),V1,V2) -> U183(isBoolKind(V2),V1,V2) U183(tt(),V1,V2) -> U184(isBoolKind(V2),V1,V2) U184(tt(),V1,V2) -> U185(isBool(V1),V2) U185(tt(),V2) -> U186(isBool(V2)) U186(tt()) -> tt() U191(tt(),V1) -> U192(isBoolKind(V1),V1) U192(tt(),V1) -> U193(isBool(V1)) U193(tt()) -> tt() U201(tt(),V2) -> U202(isBoolKind(V2)) U202(tt()) -> tt() U21(tt(),A,B,C) -> U22(isBoolKind(A),A,B,C) U211(tt(),V2) -> U212(isBoolKind(V2)) U212(tt()) -> tt() U22(tt(),A,B,C) -> U23(isBool(B),A,B,C) U221(tt(),V2) -> U222(isBoolKind(V2)) U222(tt()) -> tt() U23(tt(),A,B,C) -> U24(isBoolKind(B),A,B,C) U231(tt(),V2) -> U232(isBoolKind(V2)) U232(tt()) -> tt() U24(tt(),A,B,C) -> U25(isBool(C),A,B,C) U241(tt()) -> tt() U25(tt(),A,B,C) -> U26(isBoolKind(C),A,B,C) U251(tt(),A) -> U252(isBoolKind(A),A) U252(tt(),A) -> _xor_AC(A,true()) U26(tt(),A,B,C) -> _xor_AC(_and_AC(A,B),_and_AC(A,C)) U31(tt(),A) -> U32(isBoolKind(A)) U32(tt()) -> false() U41(tt(),A) -> U42(isBoolKind(A),A) U42(tt(),A) -> A U51(tt(),A,B) -> U52(isBoolKind(A),A,B) U52(tt(),A,B) -> U53(isBool(B),A,B) U53(tt(),A,B) -> U54(isBoolKind(B),A,B) U54(tt(),A,B) -> not_(_xor_AC(A,_and_AC(A,B))) U61(tt(),U',U) -> U62(isSKind(U'),U',U) U62(tt(),U',U) -> U63(isS(U),U',U) U63(tt(),U',U) -> U64(isSKind(U),U',U) U64(tt(),U',U) -> U65(equal(_isNotEqualTo_(U,U'),true())) U65(tt()) -> false() U71(tt(),U) -> U72(isSKind(U)) U72(tt()) -> true() U81(tt(),U',U) -> U82(isSKind(U'),U',U) U82(tt(),U',U) -> U83(isS(U),U',U) U83(tt(),U',U) -> U84(isSKind(U),U',U) U84(tt(),U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false(),true()) U91(tt(),U) -> U92(isSKind(U)) U92(tt()) -> false() _and_AC(A,A) -> U11(isBool(A),A) _and_AC(A,_xor_AC(B,C)) -> U21(isBool(A),A,B,C) _and_AC(false(),A) -> U31(isBool(A),A) _and_AC(true(),A) -> U41(isBool(A),A) _implies_(A,B) -> U51(isBool(A),A,B) _isEqualTo_(U,U') -> U61(isS(U'),U',U) _isEqualTo_(U,U) -> U71(isS(U),U) _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) _isNotEqualTo_(U,U) -> U91(isS(U),U) _or_AC(A,B) -> U101(isBool(A),A,B) _xor_AC(A,A) -> U111(isBool(A),A) _xor_AC(false(),A) -> U121(isBool(A),A) equal(X,X) -> tt() if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) if_then_else_fi(true(),U,U') -> U141(isS(U'),U',U) isBool(false()) -> tt() isBool(true()) -> tt() isBool(_and_AC(V1,V2)) -> U151(isBoolKind(V1),V1,V2) isBool(_implies_(V1,V2)) -> U161(isBoolKind(V1),V1,V2) isBool(_isEqualTo_(V1,V2)) -> tt() isBool(_isNotEqualTo_(V1,V2)) -> tt() isBool(_or_AC(V1,V2)) -> U171(isBoolKind(V1),V1,V2) isBool(_xor_AC(V1,V2)) -> U181(isBoolKind(V1),V1,V2) isBool(not_(V1)) -> U191(isBoolKind(V1),V1) isBoolKind(false()) -> tt() isBoolKind(true()) -> tt() isBoolKind(_and_AC(V1,V2)) -> U201(isBoolKind(V1),V2) isBoolKind(_implies_(V1,V2)) -> U211(isBoolKind(V1),V2) isBoolKind(_isEqualTo_(V1,V2)) -> tt() isBoolKind(_isNotEqualTo_(V1,V2)) -> tt() isBoolKind(_or_AC(V1,V2)) -> U221(isBoolKind(V1),V2) isBoolKind(_xor_AC(V1,V2)) -> U231(isBoolKind(V1),V2) isBoolKind(not_(V1)) -> U241(isBoolKind(V1)) not_(A) -> U251(isBool(A),A) not_(false()) -> true() not_(true()) -> false() S: _xor_{AC,#}(_xor_AC(x18,x19),x20) -> _xor_{AC,#}(x18,x19) _xor_{AC,#}(x18,_xor_AC(x19,x20)) -> _xor_{AC,#}(x19,x20) _and_{AC,#}(_and_AC(x18,x19),x20) -> _and_{AC,#}(x18,x19) _and_{AC,#}(x18,_and_AC(x19,x20)) -> _and_{AC,#}(x19,x20) _or_{AC,#}(_or_AC(x18,x19),x20) -> _or_{AC,#}(x18,x19) _or_{AC,#}(x18,_or_AC(x19,x20)) -> _or_{AC,#}(x19,x20) AC-EDG Processor: Equations#: _xor_{AC,#}(_xor_AC(x8,x9),x10) -> _xor_{AC,#}(x8,_xor_AC(x9,x10)) _xor_{AC,#}(x8,x9) -> _xor_{AC,#}(x9,x8) _and_{AC,#}(_and_AC(x8,x9),x10) -> _and_{AC,#}(x8,_and_AC(x9,x10)) _and_{AC,#}(x8,x9) -> _and_{AC,#}(x9,x8) _or_{AC,#}(_or_AC(x8,x9),x10) -> _or_{AC,#}(x8,_or_AC(x9,x10)) _or_{AC,#}(x8,x9) -> _or_{AC,#}(x9,x8) _xor_{AC,#}(x8,_xor_AC(x9,x10)) -> _xor_{AC,#}(_xor_AC(x8,x9),x10) _xor_{AC,#}(x9,x8) -> _xor_{AC,#}(x8,x9) _and_{AC,#}(x8,_and_AC(x9,x10)) -> _and_{AC,#}(_and_AC(x8,x9),x10) _and_{AC,#}(x9,x8) -> _and_{AC,#}(x8,x9) _or_{AC,#}(x8,_or_AC(x9,x10)) -> _or_{AC,#}(_or_AC(x8,x9),x10) _or_{AC,#}(x9,x8) -> _or_{AC,#}(x8,x9) DPs: U101#(tt(),A,B) -> isBoolKind#(A) U101#(tt(),A,B) -> U102#(isBoolKind(A),A,B) U102#(tt(),A,B) -> isBool#(B) U102#(tt(),A,B) -> U103#(isBool(B),A,B) U103#(tt(),A,B) -> isBoolKind#(B) U103#(tt(),A,B) -> U104#(isBoolKind(B),A,B) U104#(tt(),A,B) -> _xor_{AC,#}(A,B) U104#(tt(),A,B) -> _and_{AC,#}(A,B) U104#(tt(),A,B) -> _xor_{AC,#}(_and_AC(A,B),_xor_AC(A,B)) U11#(tt(),A) -> isBoolKind#(A) U11#(tt(),A) -> U12#(isBoolKind(A),A) U111#(tt(),A) -> isBoolKind#(A) U111#(tt(),A) -> U112#(isBoolKind(A)) U121#(tt(),A) -> isBoolKind#(A) U121#(tt(),A) -> U122#(isBoolKind(A),A) U131#(tt(),B,U',U) -> isBoolKind#(B) U131#(tt(),B,U',U) -> U132#(isBoolKind(B),B,U',U) U132#(tt(),B,U',U) -> U133#(isS(U'),B,U',U) U133#(tt(),B,U',U) -> U134#(isSKind(U'),B,U',U) U134#(tt(),B,U',U) -> U135#(isS(U),B,U',U) U135#(tt(),B,U',U) -> U136#(isSKind(U),B,U') U136#(tt(),B,U') -> _isNotEqualTo_#(B,true()) U136#(tt(),B,U') -> equal#(_isNotEqualTo_(B,true()),true()) U136#(tt(),B,U') -> U137#(equal(_isNotEqualTo_(B,true()),true()),U') U141#(tt(),U',U) -> U142#(isSKind(U'),U) U142#(tt(),U) -> U143#(isS(U),U) U143#(tt(),U) -> U144#(isSKind(U),U) U151#(tt(),V1,V2) -> isBoolKind#(V1) U151#(tt(),V1,V2) -> U152#(isBoolKind(V1),V1,V2) U152#(tt(),V1,V2) -> isBoolKind#(V2) U152#(tt(),V1,V2) -> U153#(isBoolKind(V2),V1,V2) U153#(tt(),V1,V2) -> isBoolKind#(V2) U153#(tt(),V1,V2) -> U154#(isBoolKind(V2),V1,V2) U154#(tt(),V1,V2) -> isBool#(V1) U154#(tt(),V1,V2) -> U155#(isBool(V1),V2) U155#(tt(),V2) -> isBool#(V2) U155#(tt(),V2) -> U156#(isBool(V2)) U161#(tt(),V1,V2) -> isBoolKind#(V1) U161#(tt(),V1,V2) -> U162#(isBoolKind(V1),V1,V2) U162#(tt(),V1,V2) -> isBoolKind#(V2) U162#(tt(),V1,V2) -> U163#(isBoolKind(V2),V1,V2) U163#(tt(),V1,V2) -> isBoolKind#(V2) U163#(tt(),V1,V2) -> U164#(isBoolKind(V2),V1,V2) U164#(tt(),V1,V2) -> isBool#(V1) U164#(tt(),V1,V2) -> U165#(isBool(V1),V2) U165#(tt(),V2) -> isBool#(V2) U165#(tt(),V2) -> U166#(isBool(V2)) U171#(tt(),V1,V2) -> isBoolKind#(V1) U171#(tt(),V1,V2) -> U172#(isBoolKind(V1),V1,V2) U172#(tt(),V1,V2) -> isBoolKind#(V2) U172#(tt(),V1,V2) -> U173#(isBoolKind(V2),V1,V2) U173#(tt(),V1,V2) -> isBoolKind#(V2) U173#(tt(),V1,V2) -> U174#(isBoolKind(V2),V1,V2) U174#(tt(),V1,V2) -> isBool#(V1) U174#(tt(),V1,V2) -> U175#(isBool(V1),V2) U175#(tt(),V2) -> isBool#(V2) U175#(tt(),V2) -> U176#(isBool(V2)) U181#(tt(),V1,V2) -> isBoolKind#(V1) U181#(tt(),V1,V2) -> U182#(isBoolKind(V1),V1,V2) U182#(tt(),V1,V2) -> isBoolKind#(V2) U182#(tt(),V1,V2) -> U183#(isBoolKind(V2),V1,V2) U183#(tt(),V1,V2) -> isBoolKind#(V2) U183#(tt(),V1,V2) -> U184#(isBoolKind(V2),V1,V2) U184#(tt(),V1,V2) -> isBool#(V1) U184#(tt(),V1,V2) -> U185#(isBool(V1),V2) U185#(tt(),V2) -> isBool#(V2) U185#(tt(),V2) -> U186#(isBool(V2)) U191#(tt(),V1) -> isBoolKind#(V1) U191#(tt(),V1) -> U192#(isBoolKind(V1),V1) U192#(tt(),V1) -> isBool#(V1) U192#(tt(),V1) -> U193#(isBool(V1)) U201#(tt(),V2) -> isBoolKind#(V2) U201#(tt(),V2) -> U202#(isBoolKind(V2)) U21#(tt(),A,B,C) -> isBoolKind#(A) U21#(tt(),A,B,C) -> U22#(isBoolKind(A),A,B,C) U211#(tt(),V2) -> isBoolKind#(V2) U211#(tt(),V2) -> U212#(isBoolKind(V2)) U22#(tt(),A,B,C) -> isBool#(B) U22#(tt(),A,B,C) -> U23#(isBool(B),A,B,C) U221#(tt(),V2) -> isBoolKind#(V2) U221#(tt(),V2) -> U222#(isBoolKind(V2)) U23#(tt(),A,B,C) -> isBoolKind#(B) U23#(tt(),A,B,C) -> U24#(isBoolKind(B),A,B,C) U231#(tt(),V2) -> isBoolKind#(V2) U231#(tt(),V2) -> U232#(isBoolKind(V2)) U24#(tt(),A,B,C) -> isBool#(C) U24#(tt(),A,B,C) -> U25#(isBool(C),A,B,C) U25#(tt(),A,B,C) -> isBoolKind#(C) U25#(tt(),A,B,C) -> U26#(isBoolKind(C),A,B,C) U251#(tt(),A) -> isBoolKind#(A) U251#(tt(),A) -> U252#(isBoolKind(A),A) U252#(tt(),A) -> _xor_{AC,#}(A,true()) U26#(tt(),A,B,C) -> _and_{AC,#}(A,C) U26#(tt(),A,B,C) -> _and_{AC,#}(A,B) U26#(tt(),A,B,C) -> _xor_{AC,#}(_and_AC(A,B),_and_AC(A,C)) U31#(tt(),A) -> isBoolKind#(A) U31#(tt(),A) -> U32#(isBoolKind(A)) U41#(tt(),A) -> isBoolKind#(A) U41#(tt(),A) -> U42#(isBoolKind(A),A) U51#(tt(),A,B) -> isBoolKind#(A) U51#(tt(),A,B) -> U52#(isBoolKind(A),A,B) U52#(tt(),A,B) -> isBool#(B) U52#(tt(),A,B) -> U53#(isBool(B),A,B) U53#(tt(),A,B) -> isBoolKind#(B) U53#(tt(),A,B) -> U54#(isBoolKind(B),A,B) U54#(tt(),A,B) -> _and_{AC,#}(A,B) U54#(tt(),A,B) -> _xor_{AC,#}(A,_and_AC(A,B)) U54#(tt(),A,B) -> not_#(_xor_AC(A,_and_AC(A,B))) U61#(tt(),U',U) -> U62#(isSKind(U'),U',U) U62#(tt(),U',U) -> U63#(isS(U),U',U) U63#(tt(),U',U) -> U64#(isSKind(U),U',U) U64#(tt(),U',U) -> _isNotEqualTo_#(U,U') U64#(tt(),U',U) -> equal#(_isNotEqualTo_(U,U'),true()) U64#(tt(),U',U) -> U65#(equal(_isNotEqualTo_(U,U'),true())) U71#(tt(),U) -> U72#(isSKind(U)) U81#(tt(),U',U) -> U82#(isSKind(U'),U',U) U82#(tt(),U',U) -> U83#(isS(U),U',U) U83#(tt(),U',U) -> U84#(isSKind(U),U',U) U84#(tt(),U',U) -> _isEqualTo_#(U,U') U84#(tt(),U',U) -> if_then_else_fi#(_isEqualTo_(U,U'),false(),true()) U91#(tt(),U) -> U92#(isSKind(U)) _and_{AC,#}(A,A) -> isBool#(A) _and_{AC,#}(A,A) -> U11#(isBool(A),A) _and_{AC,#}(A,_xor_AC(B,C)) -> isBool#(A) _and_{AC,#}(A,_xor_AC(B,C)) -> U21#(isBool(A),A,B,C) _and_{AC,#}(false(),A) -> isBool#(A) _and_{AC,#}(false(),A) -> U31#(isBool(A),A) _and_{AC,#}(true(),A) -> isBool#(A) _and_{AC,#}(true(),A) -> U41#(isBool(A),A) _implies_#(A,B) -> isBool#(A) _implies_#(A,B) -> U51#(isBool(A),A,B) _isEqualTo_#(U,U') -> U61#(isS(U'),U',U) _isEqualTo_#(U,U) -> U71#(isS(U),U) _isNotEqualTo_#(U,U') -> U81#(isS(U'),U',U) _isNotEqualTo_#(U,U) -> U91#(isS(U),U) _or_{AC,#}(A,B) -> isBool#(A) _or_{AC,#}(A,B) -> U101#(isBool(A),A,B) _xor_{AC,#}(A,A) -> isBool#(A) _xor_{AC,#}(A,A) -> U111#(isBool(A),A) _xor_{AC,#}(false(),A) -> isBool#(A) _xor_{AC,#}(false(),A) -> U121#(isBool(A),A) if_then_else_fi#(B,U,U') -> isBool#(B) if_then_else_fi#(B,U,U') -> U131#(isBool(B),B,U',U) if_then_else_fi#(true(),U,U') -> U141#(isS(U'),U',U) isBool#(_and_AC(V1,V2)) -> isBoolKind#(V1) isBool#(_and_AC(V1,V2)) -> U151#(isBoolKind(V1),V1,V2) isBool#(_implies_(V1,V2)) -> isBoolKind#(V1) isBool#(_implies_(V1,V2)) -> U161#(isBoolKind(V1),V1,V2) isBool#(_or_AC(V1,V2)) -> isBoolKind#(V1) isBool#(_or_AC(V1,V2)) -> U171#(isBoolKind(V1),V1,V2) isBool#(_xor_AC(V1,V2)) -> isBoolKind#(V1) isBool#(_xor_AC(V1,V2)) -> U181#(isBoolKind(V1),V1,V2) isBool#(not_(V1)) -> isBoolKind#(V1) isBool#(not_(V1)) -> U191#(isBoolKind(V1),V1) isBoolKind#(_and_AC(V1,V2)) -> isBoolKind#(V1) isBoolKind#(_and_AC(V1,V2)) -> U201#(isBoolKind(V1),V2) isBoolKind#(_implies_(V1,V2)) -> isBoolKind#(V1) isBoolKind#(_implies_(V1,V2)) -> U211#(isBoolKind(V1),V2) isBoolKind#(_or_AC(V1,V2)) -> isBoolKind#(V1) isBoolKind#(_or_AC(V1,V2)) -> U221#(isBoolKind(V1),V2) isBoolKind#(_xor_AC(V1,V2)) -> isBoolKind#(V1) isBoolKind#(_xor_AC(V1,V2)) -> U231#(isBoolKind(V1),V2) isBoolKind#(not_(V1)) -> isBoolKind#(V1) isBoolKind#(not_(V1)) -> U241#(isBoolKind(V1)) not_#(A) -> isBool#(A) not_#(A) -> U251#(isBool(A),A) _and_{AC,#}(x11,_and_AC(A,A)) -> isBool#(A) _and_{AC,#}(x11,_and_AC(A,A)) -> U11#(isBool(A),A) _and_{AC,#}(x11,_and_AC(A,A)) -> _and_{AC,#}(x11,U11(isBool(A),A)) _and_{AC,#}(x12,_and_AC(A,_xor_AC(B,C))) -> isBool#(A) _and_{AC,#}(x12,_and_AC(A,_xor_AC(B,C))) -> U21#(isBool(A),A,B,C) _and_{AC,#}(x12,_and_AC(A,_xor_AC(B,C))) -> _and_{AC,#}(x12,U21(isBool(A),A,B,C)) _and_{AC,#}(x13,_and_AC(false(),A)) -> isBool#(A) _and_{AC,#}(x13,_and_AC(false(),A)) -> U31#(isBool(A),A) _and_{AC,#}(x13,_and_AC(false(),A)) -> _and_{AC,#}(x13,U31(isBool(A),A)) _and_{AC,#}(x14,_and_AC(true(),A)) -> isBool#(A) _and_{AC,#}(x14,_and_AC(true(),A)) -> U41#(isBool(A),A) _and_{AC,#}(x14,_and_AC(true(),A)) -> _and_{AC,#}(x14,U41(isBool(A),A)) _or_{AC,#}(x15,_or_AC(A,B)) -> isBool#(A) _or_{AC,#}(x15,_or_AC(A,B)) -> U101#(isBool(A),A,B) _or_{AC,#}(x15,_or_AC(A,B)) -> _or_{AC,#}(x15,U101(isBool(A),A,B)) _xor_{AC,#}(x16,_xor_AC(A,A)) -> isBool#(A) _xor_{AC,#}(x16,_xor_AC(A,A)) -> U111#(isBool(A),A) _xor_{AC,#}(x16,_xor_AC(A,A)) -> _xor_{AC,#}(x16,U111(isBool(A),A)) _xor_{AC,#}(x17,_xor_AC(false(),A)) -> isBool#(A) _xor_{AC,#}(x17,_xor_AC(false(),A)) -> U121#(isBool(A),A) _xor_{AC,#}(x17,_xor_AC(false(),A)) -> _xor_{AC,#}(x17,U121(isBool(A),A)) Equations: _xor_AC(_xor_AC(x8,x9),x10) -> _xor_AC(x8,_xor_AC(x9,x10)) _xor_AC(x8,x9) -> _xor_AC(x9,x8) _and_AC(_and_AC(x8,x9),x10) -> _and_AC(x8,_and_AC(x9,x10)) _and_AC(x8,x9) -> _and_AC(x9,x8) _or_AC(_or_AC(x8,x9),x10) -> _or_AC(x8,_or_AC(x9,x10)) _or_AC(x8,x9) -> _or_AC(x9,x8) _xor_AC(x8,_xor_AC(x9,x10)) -> _xor_AC(_xor_AC(x8,x9),x10) _xor_AC(x9,x8) -> _xor_AC(x8,x9) _and_AC(x8,_and_AC(x9,x10)) -> _and_AC(_and_AC(x8,x9),x10) _and_AC(x9,x8) -> _and_AC(x8,x9) _or_AC(x8,_or_AC(x9,x10)) -> _or_AC(_or_AC(x8,x9),x10) _or_AC(x9,x8) -> _or_AC(x8,x9) TRS: U101(tt(),A,B) -> U102(isBoolKind(A),A,B) U102(tt(),A,B) -> U103(isBool(B),A,B) U103(tt(),A,B) -> U104(isBoolKind(B),A,B) U104(tt(),A,B) -> _xor_AC(_and_AC(A,B),_xor_AC(A,B)) U11(tt(),A) -> U12(isBoolKind(A),A) U111(tt(),A) -> U112(isBoolKind(A)) U112(tt()) -> false() U12(tt(),A) -> A U121(tt(),A) -> U122(isBoolKind(A),A) U122(tt(),A) -> A U131(tt(),B,U',U) -> U132(isBoolKind(B),B,U',U) U132(tt(),B,U',U) -> U133(isS(U'),B,U',U) U133(tt(),B,U',U) -> U134(isSKind(U'),B,U',U) U134(tt(),B,U',U) -> U135(isS(U),B,U',U) U135(tt(),B,U',U) -> U136(isSKind(U),B,U') U136(tt(),B,U') -> U137(equal(_isNotEqualTo_(B,true()),true()),U') U137(tt(),U') -> U' U141(tt(),U',U) -> U142(isSKind(U'),U) U142(tt(),U) -> U143(isS(U),U) U143(tt(),U) -> U144(isSKind(U),U) U144(tt(),U) -> U U151(tt(),V1,V2) -> U152(isBoolKind(V1),V1,V2) U152(tt(),V1,V2) -> U153(isBoolKind(V2),V1,V2) U153(tt(),V1,V2) -> U154(isBoolKind(V2),V1,V2) U154(tt(),V1,V2) -> U155(isBool(V1),V2) U155(tt(),V2) -> U156(isBool(V2)) U156(tt()) -> tt() U161(tt(),V1,V2) -> U162(isBoolKind(V1),V1,V2) U162(tt(),V1,V2) -> U163(isBoolKind(V2),V1,V2) U163(tt(),V1,V2) -> U164(isBoolKind(V2),V1,V2) U164(tt(),V1,V2) -> U165(isBool(V1),V2) U165(tt(),V2) -> U166(isBool(V2)) U166(tt()) -> tt() U171(tt(),V1,V2) -> U172(isBoolKind(V1),V1,V2) U172(tt(),V1,V2) -> U173(isBoolKind(V2),V1,V2) U173(tt(),V1,V2) -> U174(isBoolKind(V2),V1,V2) U174(tt(),V1,V2) -> U175(isBool(V1),V2) U175(tt(),V2) -> U176(isBool(V2)) U176(tt()) -> tt() U181(tt(),V1,V2) -> U182(isBoolKind(V1),V1,V2) U182(tt(),V1,V2) -> U183(isBoolKind(V2),V1,V2) U183(tt(),V1,V2) -> U184(isBoolKind(V2),V1,V2) U184(tt(),V1,V2) -> U185(isBool(V1),V2) U185(tt(),V2) -> U186(isBool(V2)) U186(tt()) -> tt() U191(tt(),V1) -> U192(isBoolKind(V1),V1) U192(tt(),V1) -> U193(isBool(V1)) U193(tt()) -> tt() U201(tt(),V2) -> U202(isBoolKind(V2)) U202(tt()) -> tt() U21(tt(),A,B,C) -> U22(isBoolKind(A),A,B,C) U211(tt(),V2) -> U212(isBoolKind(V2)) U212(tt()) -> tt() U22(tt(),A,B,C) -> U23(isBool(B),A,B,C) U221(tt(),V2) -> U222(isBoolKind(V2)) U222(tt()) -> tt() U23(tt(),A,B,C) -> U24(isBoolKind(B),A,B,C) U231(tt(),V2) -> U232(isBoolKind(V2)) U232(tt()) -> tt() U24(tt(),A,B,C) -> U25(isBool(C),A,B,C) U241(tt()) -> tt() U25(tt(),A,B,C) -> U26(isBoolKind(C),A,B,C) U251(tt(),A) -> U252(isBoolKind(A),A) U252(tt(),A) -> _xor_AC(A,true()) U26(tt(),A,B,C) -> _xor_AC(_and_AC(A,B),_and_AC(A,C)) U31(tt(),A) -> U32(isBoolKind(A)) U32(tt()) -> false() U41(tt(),A) -> U42(isBoolKind(A),A) U42(tt(),A) -> A U51(tt(),A,B) -> U52(isBoolKind(A),A,B) U52(tt(),A,B) -> U53(isBool(B),A,B) U53(tt(),A,B) -> U54(isBoolKind(B),A,B) U54(tt(),A,B) -> not_(_xor_AC(A,_and_AC(A,B))) U61(tt(),U',U) -> U62(isSKind(U'),U',U) U62(tt(),U',U) -> U63(isS(U),U',U) U63(tt(),U',U) -> U64(isSKind(U),U',U) U64(tt(),U',U) -> U65(equal(_isNotEqualTo_(U,U'),true())) U65(tt()) -> false() U71(tt(),U) -> U72(isSKind(U)) U72(tt()) -> true() U81(tt(),U',U) -> U82(isSKind(U'),U',U) U82(tt(),U',U) -> U83(isS(U),U',U) U83(tt(),U',U) -> U84(isSKind(U),U',U) U84(tt(),U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false(),true()) U91(tt(),U) -> U92(isSKind(U)) U92(tt()) -> false() _and_AC(A,A) -> U11(isBool(A),A) _and_AC(A,_xor_AC(B,C)) -> U21(isBool(A),A,B,C) _and_AC(false(),A) -> U31(isBool(A),A) _and_AC(true(),A) -> U41(isBool(A),A) _implies_(A,B) -> U51(isBool(A),A,B) _isEqualTo_(U,U') -> U61(isS(U'),U',U) _isEqualTo_(U,U) -> U71(isS(U),U) _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) _isNotEqualTo_(U,U) -> U91(isS(U),U) _or_AC(A,B) -> U101(isBool(A),A,B) _xor_AC(A,A) -> U111(isBool(A),A) _xor_AC(false(),A) -> U121(isBool(A),A) equal(X,X) -> tt() if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) if_then_else_fi(true(),U,U') -> U141(isS(U'),U',U) isBool(false()) -> tt() isBool(true()) -> tt() isBool(_and_AC(V1,V2)) -> U151(isBoolKind(V1),V1,V2) isBool(_implies_(V1,V2)) -> U161(isBoolKind(V1),V1,V2) isBool(_isEqualTo_(V1,V2)) -> tt() isBool(_isNotEqualTo_(V1,V2)) -> tt() isBool(_or_AC(V1,V2)) -> U171(isBoolKind(V1),V1,V2) isBool(_xor_AC(V1,V2)) -> U181(isBoolKind(V1),V1,V2) isBool(not_(V1)) -> U191(isBoolKind(V1),V1) isBoolKind(false()) -> tt() isBoolKind(true()) -> tt() isBoolKind(_and_AC(V1,V2)) -> U201(isBoolKind(V1),V2) isBoolKind(_implies_(V1,V2)) -> U211(isBoolKind(V1),V2) isBoolKind(_isEqualTo_(V1,V2)) -> tt() isBoolKind(_isNotEqualTo_(V1,V2)) -> tt() isBoolKind(_or_AC(V1,V2)) -> U221(isBoolKind(V1),V2) isBoolKind(_xor_AC(V1,V2)) -> U231(isBoolKind(V1),V2) isBoolKind(not_(V1)) -> U241(isBoolKind(V1)) not_(A) -> U251(isBool(A),A) not_(false()) -> true() not_(true()) -> false() S: _xor_{AC,#}(_xor_AC(x18,x19),x20) -> _xor_{AC,#}(x18,x19) _xor_{AC,#}(x18,_xor_AC(x19,x20)) -> _xor_{AC,#}(x19,x20) _and_{AC,#}(_and_AC(x18,x19),x20) -> _and_{AC,#}(x18,x19) _and_{AC,#}(x18,_and_AC(x19,x20)) -> _and_{AC,#}(x19,x20) _or_{AC,#}(_or_AC(x18,x19),x20) -> _or_{AC,#}(x18,x19) _or_{AC,#}(x18,_or_AC(x19,x20)) -> _or_{AC,#}(x19,x20) Open