18.21/19.72 YES 18.21/19.72 18.21/19.72 Problem 1: 18.21/19.72 18.21/19.72 (VAR A B C U U' V1 V2 X) 18.21/19.72 (THEORY 18.21/19.72 (AC _and_ _or_ _xor_)) 18.21/19.72 (RULES 18.21/19.72 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.72 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.72 U11(tt,A) -> A 18.21/19.72 U111(tt) -> false 18.21/19.72 U121(tt,A) -> A 18.21/19.72 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.72 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.72 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.72 U134(tt,U') -> U' 18.21/19.72 U141(tt,U) -> U142(isS(U),U) 18.21/19.72 U142(tt,U) -> U 18.21/19.72 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.72 U152(tt) -> tt 18.21/19.72 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.72 U162(tt) -> tt 18.21/19.72 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.72 U172(tt) -> tt 18.21/19.72 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.72 U182(tt) -> tt 18.21/19.72 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.72 U192(tt) -> tt 18.21/19.72 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.72 U202(tt) -> tt 18.21/19.72 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.72 U211(tt) -> tt 18.21/19.72 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.72 U221(tt,A) -> _xor_(A,true) 18.21/19.72 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.72 U31(tt) -> false 18.21/19.72 U41(tt,A) -> A 18.21/19.72 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.72 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.72 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.72 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.72 U63(tt) -> false 18.21/19.72 U71(tt) -> true 18.21/19.72 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.72 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.72 U91(tt) -> false 18.21/19.72 _and_(false,A) -> U31(isBool(A)) 18.21/19.72 _and_(true,A) -> U41(isBool(A),A) 18.21/19.72 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.72 _and_(A,A) -> U11(isBool(A),A) 18.21/19.72 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.72 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.72 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.72 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.72 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.72 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.72 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.72 _xor_(A,A) -> U111(isBool(A)) 18.21/19.72 equal(X,X) -> tt 18.21/19.72 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.72 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.72 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.72 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.72 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.72 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.72 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.72 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.72 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.72 isBool(false) -> tt 18.21/19.72 isBool(true) -> tt 18.21/19.72 not_(false) -> true 18.21/19.72 not_(true) -> false 18.21/19.72 not_(A) -> U221(isBool(A),A) 18.21/19.72 ) 18.21/19.72 18.21/19.72 Problem 1: 18.21/19.72 18.21/19.72 Dependency Pairs Processor: 18.21/19.72 -> FAxioms: 18.21/19.72 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.72 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.72 _OR_(_or_(x8,x9),x10) = _OR_(x8,_or_(x9,x10)) 18.21/19.72 _OR_(x8,x9) = _OR_(x9,x8) 18.21/19.72 _XOR_(_xor_(x8,x9),x10) = _XOR_(x8,_xor_(x9,x10)) 18.21/19.72 _XOR_(x8,x9) = _XOR_(x9,x8) 18.21/19.72 -> Pairs: 18.21/19.72 U101#(tt,A,B) -> U102#(isBool(B),A,B) 18.21/19.72 U101#(tt,A,B) -> ISBOOL(B) 18.21/19.72 U102#(tt,A,B) -> _AND_(A,B) 18.21/19.72 U102#(tt,A,B) -> _XOR_(_and_(A,B),_xor_(A,B)) 18.21/19.72 U102#(tt,A,B) -> _XOR_(A,B) 18.21/19.72 U131#(tt,B,U',U) -> U132#(isS(U'),B,U',U) 18.21/19.72 U132#(tt,B,U',U) -> U133#(isS(U),B,U') 18.21/19.72 U133#(tt,B,U') -> U134#(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.72 U133#(tt,B,U') -> _ISNOTEQUALTO_(B,true) 18.21/19.72 U133#(tt,B,U') -> EQUAL(_isNotEqualTo_(B,true),true) 18.21/19.72 U141#(tt,U) -> U142#(isS(U),U) 18.21/19.72 U151#(tt,V2) -> U152#(isBool(V2)) 18.21/19.72 U151#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U161#(tt,V2) -> U162#(isBool(V2)) 18.21/19.72 U161#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U171#(tt,V2) -> U172#(isUniversal(V2)) 18.21/19.72 U181#(tt,V2) -> U182#(isUniversal(V2)) 18.21/19.72 U191#(tt,V2) -> U192#(isBool(V2)) 18.21/19.72 U191#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U201#(tt,V2) -> U202#(isBool(V2)) 18.21/19.72 U201#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U21#(tt,A,B,C) -> U22#(isBool(B),A,B,C) 18.21/19.72 U21#(tt,A,B,C) -> ISBOOL(B) 18.21/19.72 U22#(tt,A,B,C) -> U23#(isBool(C),A,B,C) 18.21/19.72 U22#(tt,A,B,C) -> ISBOOL(C) 18.21/19.72 U221#(tt,A) -> _XOR_(A,true) 18.21/19.72 U23#(tt,A,B,C) -> _AND_(A,B) 18.21/19.72 U23#(tt,A,B,C) -> _AND_(A,C) 18.21/19.72 U23#(tt,A,B,C) -> _XOR_(_and_(A,B),_and_(A,C)) 18.21/19.72 U51#(tt,A,B) -> U52#(isBool(B),A,B) 18.21/19.72 U51#(tt,A,B) -> ISBOOL(B) 18.21/19.72 U52#(tt,A,B) -> _AND_(A,B) 18.21/19.72 U52#(tt,A,B) -> _XOR_(A,_and_(A,B)) 18.21/19.72 U52#(tt,A,B) -> NOT_(_xor_(A,_and_(A,B))) 18.21/19.72 U61#(tt,U',U) -> U62#(isS(U),U',U) 18.21/19.72 U62#(tt,U',U) -> U63#(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.72 U62#(tt,U',U) -> _ISNOTEQUALTO_(U,U') 18.21/19.72 U62#(tt,U',U) -> EQUAL(_isNotEqualTo_(U,U'),true) 18.21/19.72 U81#(tt,U',U) -> U82#(isS(U),U',U) 18.21/19.72 U82#(tt,U',U) -> _ISEQUALTO_(U,U') 18.21/19.72 U82#(tt,U',U) -> IF_THEN_ELSE_FI(_isEqualTo_(U,U'),false,true) 18.21/19.72 _AND_(_and_(false,A),x8) -> U31#(isBool(A)) 18.21/19.72 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.72 _AND_(_and_(false,A),x8) -> ISBOOL(A) 18.21/19.72 _AND_(_and_(true,A),x8) -> U41#(isBool(A),A) 18.21/19.72 _AND_(_and_(true,A),x8) -> _AND_(U41(isBool(A),A),x8) 18.21/19.72 _AND_(_and_(true,A),x8) -> ISBOOL(A) 18.21/19.72 _AND_(_and_(A,_xor_(B,C)),x8) -> U21#(isBool(A),A,B,C) 18.21/19.72 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.72 _AND_(_and_(A,_xor_(B,C)),x8) -> ISBOOL(A) 18.21/19.72 _AND_(_and_(A,A),x8) -> U11#(isBool(A),A) 18.21/19.72 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.72 _AND_(_and_(A,A),x8) -> ISBOOL(A) 18.21/19.72 _AND_(false,A) -> U31#(isBool(A)) 18.21/19.72 _AND_(false,A) -> ISBOOL(A) 18.21/19.72 _AND_(true,A) -> U41#(isBool(A),A) 18.21/19.72 _AND_(true,A) -> ISBOOL(A) 18.21/19.72 _AND_(A,_xor_(B,C)) -> U21#(isBool(A),A,B,C) 18.21/19.72 _AND_(A,_xor_(B,C)) -> ISBOOL(A) 18.21/19.72 _AND_(A,A) -> U11#(isBool(A),A) 18.21/19.72 _AND_(A,A) -> ISBOOL(A) 18.21/19.72 _IMPLIES_(A,B) -> U51#(isBool(A),A,B) 18.21/19.72 _IMPLIES_(A,B) -> ISBOOL(A) 18.21/19.72 _ISEQUALTO_(U,U) -> U71#(isS(U)) 18.21/19.72 _ISEQUALTO_(U,U') -> U61#(isS(U'),U',U) 18.21/19.72 _ISNOTEQUALTO_(U,U) -> U91#(isS(U)) 18.21/19.72 _ISNOTEQUALTO_(U,U') -> U81#(isS(U'),U',U) 18.21/19.72 _OR_(_or_(A,B),x8) -> U101#(isBool(A),A,B) 18.21/19.72 _OR_(_or_(A,B),x8) -> _OR_(U101(isBool(A),A,B),x8) 18.21/19.72 _OR_(_or_(A,B),x8) -> ISBOOL(A) 18.21/19.72 _OR_(A,B) -> U101#(isBool(A),A,B) 18.21/19.72 _OR_(A,B) -> ISBOOL(A) 18.21/19.72 _XOR_(_xor_(false,A),x8) -> U121#(isBool(A),A) 18.21/19.72 _XOR_(_xor_(false,A),x8) -> _XOR_(U121(isBool(A),A),x8) 18.21/19.72 _XOR_(_xor_(false,A),x8) -> ISBOOL(A) 18.21/19.72 _XOR_(_xor_(A,A),x8) -> U111#(isBool(A)) 18.21/19.72 _XOR_(_xor_(A,A),x8) -> _XOR_(U111(isBool(A)),x8) 18.21/19.72 _XOR_(_xor_(A,A),x8) -> ISBOOL(A) 18.21/19.72 _XOR_(false,A) -> U121#(isBool(A),A) 18.21/19.72 _XOR_(false,A) -> ISBOOL(A) 18.21/19.72 _XOR_(A,A) -> U111#(isBool(A)) 18.21/19.72 _XOR_(A,A) -> ISBOOL(A) 18.21/19.72 IF_THEN_ELSE_FI(true,U,U') -> U141#(isS(U'),U) 18.21/19.72 IF_THEN_ELSE_FI(B,U,U') -> U131#(isBool(B),B,U',U) 18.21/19.72 IF_THEN_ELSE_FI(B,U,U') -> ISBOOL(B) 18.21/19.72 ISBOOL(_and_(V1,V2)) -> U151#(isBool(V1),V2) 18.21/19.72 ISBOOL(_and_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(_implies_(V1,V2)) -> U161#(isBool(V1),V2) 18.21/19.72 ISBOOL(_implies_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(_isEqualTo_(V1,V2)) -> U171#(isUniversal(V1),V2) 18.21/19.72 ISBOOL(_isNotEqualTo_(V1,V2)) -> U181#(isUniversal(V1),V2) 18.21/19.72 ISBOOL(_or_(V1,V2)) -> U191#(isBool(V1),V2) 18.21/19.72 ISBOOL(_or_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(_xor_(V1,V2)) -> U201#(isBool(V1),V2) 18.21/19.72 ISBOOL(_xor_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(not_(V1)) -> U211#(isBool(V1)) 18.21/19.72 ISBOOL(not_(V1)) -> ISBOOL(V1) 18.21/19.72 NOT_(A) -> U221#(isBool(A),A) 18.21/19.72 NOT_(A) -> ISBOOL(A) 18.21/19.72 -> EAxioms: 18.21/19.72 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.72 _and_(x8,x9) = _and_(x9,x8) 18.21/19.72 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.72 _or_(x8,x9) = _or_(x9,x8) 18.21/19.72 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.72 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.72 -> Rules: 18.21/19.72 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.72 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.72 U11(tt,A) -> A 18.21/19.72 U111(tt) -> false 18.21/19.72 U121(tt,A) -> A 18.21/19.72 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.72 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.72 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.72 U134(tt,U') -> U' 18.21/19.72 U141(tt,U) -> U142(isS(U),U) 18.21/19.72 U142(tt,U) -> U 18.21/19.72 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.72 U152(tt) -> tt 18.21/19.72 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.72 U162(tt) -> tt 18.21/19.72 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.72 U172(tt) -> tt 18.21/19.72 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.72 U182(tt) -> tt 18.21/19.72 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.72 U192(tt) -> tt 18.21/19.72 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.72 U202(tt) -> tt 18.21/19.72 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.72 U211(tt) -> tt 18.21/19.72 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.72 U221(tt,A) -> _xor_(A,true) 18.21/19.72 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.72 U31(tt) -> false 18.21/19.72 U41(tt,A) -> A 18.21/19.72 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.72 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.72 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.72 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.72 U63(tt) -> false 18.21/19.72 U71(tt) -> true 18.21/19.72 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.72 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.72 U91(tt) -> false 18.21/19.72 _and_(false,A) -> U31(isBool(A)) 18.21/19.72 _and_(true,A) -> U41(isBool(A),A) 18.21/19.72 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.72 _and_(A,A) -> U11(isBool(A),A) 18.21/19.72 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.72 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.72 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.72 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.72 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.72 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.72 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.72 _xor_(A,A) -> U111(isBool(A)) 18.21/19.72 equal(X,X) -> tt 18.21/19.72 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.72 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.72 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.72 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.72 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.72 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.72 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.72 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.72 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.72 isBool(false) -> tt 18.21/19.72 isBool(true) -> tt 18.21/19.72 not_(false) -> true 18.21/19.72 not_(true) -> false 18.21/19.72 not_(A) -> U221(isBool(A),A) 18.21/19.72 -> SRules: 18.21/19.72 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.72 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.72 _OR_(_or_(x8,x9),x10) -> _OR_(x8,x9) 18.21/19.72 _OR_(x8,_or_(x9,x10)) -> _OR_(x9,x10) 18.21/19.72 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,x9) 18.21/19.72 _XOR_(x8,_xor_(x9,x10)) -> _XOR_(x9,x10) 18.21/19.72 18.21/19.72 Problem 1: 18.21/19.72 18.21/19.72 SCC Processor: 18.21/19.72 -> FAxioms: 18.21/19.72 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.72 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.72 _OR_(_or_(x8,x9),x10) = _OR_(x8,_or_(x9,x10)) 18.21/19.72 _OR_(x8,x9) = _OR_(x9,x8) 18.21/19.72 _XOR_(_xor_(x8,x9),x10) = _XOR_(x8,_xor_(x9,x10)) 18.21/19.72 _XOR_(x8,x9) = _XOR_(x9,x8) 18.21/19.72 -> Pairs: 18.21/19.72 U101#(tt,A,B) -> U102#(isBool(B),A,B) 18.21/19.72 U101#(tt,A,B) -> ISBOOL(B) 18.21/19.72 U102#(tt,A,B) -> _AND_(A,B) 18.21/19.72 U102#(tt,A,B) -> _XOR_(_and_(A,B),_xor_(A,B)) 18.21/19.72 U102#(tt,A,B) -> _XOR_(A,B) 18.21/19.72 U131#(tt,B,U',U) -> U132#(isS(U'),B,U',U) 18.21/19.72 U132#(tt,B,U',U) -> U133#(isS(U),B,U') 18.21/19.72 U133#(tt,B,U') -> U134#(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.72 U133#(tt,B,U') -> _ISNOTEQUALTO_(B,true) 18.21/19.72 U133#(tt,B,U') -> EQUAL(_isNotEqualTo_(B,true),true) 18.21/19.72 U141#(tt,U) -> U142#(isS(U),U) 18.21/19.72 U151#(tt,V2) -> U152#(isBool(V2)) 18.21/19.72 U151#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U161#(tt,V2) -> U162#(isBool(V2)) 18.21/19.72 U161#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U171#(tt,V2) -> U172#(isUniversal(V2)) 18.21/19.72 U181#(tt,V2) -> U182#(isUniversal(V2)) 18.21/19.72 U191#(tt,V2) -> U192#(isBool(V2)) 18.21/19.72 U191#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U201#(tt,V2) -> U202#(isBool(V2)) 18.21/19.72 U201#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U21#(tt,A,B,C) -> U22#(isBool(B),A,B,C) 18.21/19.72 U21#(tt,A,B,C) -> ISBOOL(B) 18.21/19.72 U22#(tt,A,B,C) -> U23#(isBool(C),A,B,C) 18.21/19.72 U22#(tt,A,B,C) -> ISBOOL(C) 18.21/19.72 U221#(tt,A) -> _XOR_(A,true) 18.21/19.72 U23#(tt,A,B,C) -> _AND_(A,B) 18.21/19.72 U23#(tt,A,B,C) -> _AND_(A,C) 18.21/19.72 U23#(tt,A,B,C) -> _XOR_(_and_(A,B),_and_(A,C)) 18.21/19.72 U51#(tt,A,B) -> U52#(isBool(B),A,B) 18.21/19.72 U51#(tt,A,B) -> ISBOOL(B) 18.21/19.72 U52#(tt,A,B) -> _AND_(A,B) 18.21/19.72 U52#(tt,A,B) -> _XOR_(A,_and_(A,B)) 18.21/19.72 U52#(tt,A,B) -> NOT_(_xor_(A,_and_(A,B))) 18.21/19.72 U61#(tt,U',U) -> U62#(isS(U),U',U) 18.21/19.72 U62#(tt,U',U) -> U63#(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.72 U62#(tt,U',U) -> _ISNOTEQUALTO_(U,U') 18.21/19.72 U62#(tt,U',U) -> EQUAL(_isNotEqualTo_(U,U'),true) 18.21/19.72 U81#(tt,U',U) -> U82#(isS(U),U',U) 18.21/19.72 U82#(tt,U',U) -> _ISEQUALTO_(U,U') 18.21/19.72 U82#(tt,U',U) -> IF_THEN_ELSE_FI(_isEqualTo_(U,U'),false,true) 18.21/19.72 _AND_(_and_(false,A),x8) -> U31#(isBool(A)) 18.21/19.72 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.72 _AND_(_and_(false,A),x8) -> ISBOOL(A) 18.21/19.72 _AND_(_and_(true,A),x8) -> U41#(isBool(A),A) 18.21/19.72 _AND_(_and_(true,A),x8) -> _AND_(U41(isBool(A),A),x8) 18.21/19.72 _AND_(_and_(true,A),x8) -> ISBOOL(A) 18.21/19.72 _AND_(_and_(A,_xor_(B,C)),x8) -> U21#(isBool(A),A,B,C) 18.21/19.72 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.72 _AND_(_and_(A,_xor_(B,C)),x8) -> ISBOOL(A) 18.21/19.72 _AND_(_and_(A,A),x8) -> U11#(isBool(A),A) 18.21/19.72 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.72 _AND_(_and_(A,A),x8) -> ISBOOL(A) 18.21/19.72 _AND_(false,A) -> U31#(isBool(A)) 18.21/19.72 _AND_(false,A) -> ISBOOL(A) 18.21/19.72 _AND_(true,A) -> U41#(isBool(A),A) 18.21/19.72 _AND_(true,A) -> ISBOOL(A) 18.21/19.72 _AND_(A,_xor_(B,C)) -> U21#(isBool(A),A,B,C) 18.21/19.72 _AND_(A,_xor_(B,C)) -> ISBOOL(A) 18.21/19.72 _AND_(A,A) -> U11#(isBool(A),A) 18.21/19.72 _AND_(A,A) -> ISBOOL(A) 18.21/19.72 _IMPLIES_(A,B) -> U51#(isBool(A),A,B) 18.21/19.72 _IMPLIES_(A,B) -> ISBOOL(A) 18.21/19.72 _ISEQUALTO_(U,U) -> U71#(isS(U)) 18.21/19.72 _ISEQUALTO_(U,U') -> U61#(isS(U'),U',U) 18.21/19.72 _ISNOTEQUALTO_(U,U) -> U91#(isS(U)) 18.21/19.72 _ISNOTEQUALTO_(U,U') -> U81#(isS(U'),U',U) 18.21/19.72 _OR_(_or_(A,B),x8) -> U101#(isBool(A),A,B) 18.21/19.72 _OR_(_or_(A,B),x8) -> _OR_(U101(isBool(A),A,B),x8) 18.21/19.72 _OR_(_or_(A,B),x8) -> ISBOOL(A) 18.21/19.72 _OR_(A,B) -> U101#(isBool(A),A,B) 18.21/19.72 _OR_(A,B) -> ISBOOL(A) 18.21/19.72 _XOR_(_xor_(false,A),x8) -> U121#(isBool(A),A) 18.21/19.72 _XOR_(_xor_(false,A),x8) -> _XOR_(U121(isBool(A),A),x8) 18.21/19.72 _XOR_(_xor_(false,A),x8) -> ISBOOL(A) 18.21/19.72 _XOR_(_xor_(A,A),x8) -> U111#(isBool(A)) 18.21/19.72 _XOR_(_xor_(A,A),x8) -> _XOR_(U111(isBool(A)),x8) 18.21/19.72 _XOR_(_xor_(A,A),x8) -> ISBOOL(A) 18.21/19.72 _XOR_(false,A) -> U121#(isBool(A),A) 18.21/19.72 _XOR_(false,A) -> ISBOOL(A) 18.21/19.72 _XOR_(A,A) -> U111#(isBool(A)) 18.21/19.72 _XOR_(A,A) -> ISBOOL(A) 18.21/19.72 IF_THEN_ELSE_FI(true,U,U') -> U141#(isS(U'),U) 18.21/19.72 IF_THEN_ELSE_FI(B,U,U') -> U131#(isBool(B),B,U',U) 18.21/19.72 IF_THEN_ELSE_FI(B,U,U') -> ISBOOL(B) 18.21/19.72 ISBOOL(_and_(V1,V2)) -> U151#(isBool(V1),V2) 18.21/19.72 ISBOOL(_and_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(_implies_(V1,V2)) -> U161#(isBool(V1),V2) 18.21/19.72 ISBOOL(_implies_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(_isEqualTo_(V1,V2)) -> U171#(isUniversal(V1),V2) 18.21/19.72 ISBOOL(_isNotEqualTo_(V1,V2)) -> U181#(isUniversal(V1),V2) 18.21/19.72 ISBOOL(_or_(V1,V2)) -> U191#(isBool(V1),V2) 18.21/19.72 ISBOOL(_or_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(_xor_(V1,V2)) -> U201#(isBool(V1),V2) 18.21/19.72 ISBOOL(_xor_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(not_(V1)) -> U211#(isBool(V1)) 18.21/19.72 ISBOOL(not_(V1)) -> ISBOOL(V1) 18.21/19.72 NOT_(A) -> U221#(isBool(A),A) 18.21/19.72 NOT_(A) -> ISBOOL(A) 18.21/19.72 -> EAxioms: 18.21/19.72 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.72 _and_(x8,x9) = _and_(x9,x8) 18.21/19.72 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.72 _or_(x8,x9) = _or_(x9,x8) 18.21/19.72 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.72 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.72 -> Rules: 18.21/19.72 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.72 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.72 U11(tt,A) -> A 18.21/19.72 U111(tt) -> false 18.21/19.72 U121(tt,A) -> A 18.21/19.72 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.72 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.72 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.72 U134(tt,U') -> U' 18.21/19.72 U141(tt,U) -> U142(isS(U),U) 18.21/19.72 U142(tt,U) -> U 18.21/19.72 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.72 U152(tt) -> tt 18.21/19.72 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.72 U162(tt) -> tt 18.21/19.72 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.72 U172(tt) -> tt 18.21/19.72 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.72 U182(tt) -> tt 18.21/19.72 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.72 U192(tt) -> tt 18.21/19.72 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.72 U202(tt) -> tt 18.21/19.72 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.72 U211(tt) -> tt 18.21/19.72 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.72 U221(tt,A) -> _xor_(A,true) 18.21/19.72 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.72 U31(tt) -> false 18.21/19.72 U41(tt,A) -> A 18.21/19.72 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.72 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.72 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.72 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.72 U63(tt) -> false 18.21/19.72 U71(tt) -> true 18.21/19.72 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.72 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.72 U91(tt) -> false 18.21/19.72 _and_(false,A) -> U31(isBool(A)) 18.21/19.72 _and_(true,A) -> U41(isBool(A),A) 18.21/19.72 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.72 _and_(A,A) -> U11(isBool(A),A) 18.21/19.72 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.72 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.72 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.72 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.72 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.72 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.72 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.72 _xor_(A,A) -> U111(isBool(A)) 18.21/19.72 equal(X,X) -> tt 18.21/19.72 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.72 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.72 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.72 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.72 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.72 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.72 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.72 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.72 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.72 isBool(false) -> tt 18.21/19.72 isBool(true) -> tt 18.21/19.72 not_(false) -> true 18.21/19.72 not_(true) -> false 18.21/19.72 not_(A) -> U221(isBool(A),A) 18.21/19.72 -> SRules: 18.21/19.72 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.72 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.72 _OR_(_or_(x8,x9),x10) -> _OR_(x8,x9) 18.21/19.72 _OR_(x8,_or_(x9,x10)) -> _OR_(x9,x10) 18.21/19.72 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,x9) 18.21/19.72 _XOR_(x8,_xor_(x9,x10)) -> _XOR_(x9,x10) 18.21/19.72 ->Strongly Connected Components: 18.21/19.72 ->->Cycle: 18.21/19.72 ->->-> Pairs: 18.21/19.72 U151#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U161#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U191#(tt,V2) -> ISBOOL(V2) 18.21/19.72 U201#(tt,V2) -> ISBOOL(V2) 18.21/19.72 ISBOOL(_and_(V1,V2)) -> U151#(isBool(V1),V2) 18.21/19.72 ISBOOL(_and_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(_implies_(V1,V2)) -> U161#(isBool(V1),V2) 18.21/19.72 ISBOOL(_implies_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(_or_(V1,V2)) -> U191#(isBool(V1),V2) 18.21/19.72 ISBOOL(_or_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(_xor_(V1,V2)) -> U201#(isBool(V1),V2) 18.21/19.72 ISBOOL(_xor_(V1,V2)) -> ISBOOL(V1) 18.21/19.72 ISBOOL(not_(V1)) -> ISBOOL(V1) 18.21/19.72 -> FAxioms: 18.21/19.72 _and_(_and_(x8,x9),x10) -> _and_(x8,_and_(x9,x10)) 18.21/19.72 _and_(x8,x9) -> _and_(x9,x8) 18.21/19.72 _or_(_or_(x8,x9),x10) -> _or_(x8,_or_(x9,x10)) 18.21/19.72 _or_(x8,x9) -> _or_(x9,x8) 18.21/19.72 _xor_(_xor_(x8,x9),x10) -> _xor_(x8,_xor_(x9,x10)) 18.21/19.72 _xor_(x8,x9) -> _xor_(x9,x8) 18.21/19.72 -> EAxioms: 18.21/19.72 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.72 _and_(x8,x9) = _and_(x9,x8) 18.21/19.72 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.72 _or_(x8,x9) = _or_(x9,x8) 18.21/19.72 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.72 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.72 ->->-> Rules: 18.21/19.72 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.72 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.72 U11(tt,A) -> A 18.21/19.72 U111(tt) -> false 18.21/19.72 U121(tt,A) -> A 18.21/19.72 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.72 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.72 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.72 U134(tt,U') -> U' 18.21/19.72 U141(tt,U) -> U142(isS(U),U) 18.21/19.72 U142(tt,U) -> U 18.21/19.72 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.72 U152(tt) -> tt 18.21/19.72 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.72 U162(tt) -> tt 18.21/19.72 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.72 U172(tt) -> tt 18.21/19.72 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.72 U182(tt) -> tt 18.21/19.72 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.72 U192(tt) -> tt 18.21/19.72 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.72 U202(tt) -> tt 18.21/19.72 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.72 U211(tt) -> tt 18.21/19.72 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.72 U221(tt,A) -> _xor_(A,true) 18.21/19.72 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.72 U31(tt) -> false 18.21/19.72 U41(tt,A) -> A 18.21/19.72 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.72 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.72 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.72 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.72 U63(tt) -> false 18.21/19.72 U71(tt) -> true 18.21/19.72 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.72 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.72 U91(tt) -> false 18.21/19.72 _and_(false,A) -> U31(isBool(A)) 18.21/19.72 _and_(true,A) -> U41(isBool(A),A) 18.21/19.72 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.72 _and_(A,A) -> U11(isBool(A),A) 18.21/19.72 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.72 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.72 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.72 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.72 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.72 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.72 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.72 _xor_(A,A) -> U111(isBool(A)) 18.21/19.72 equal(X,X) -> tt 18.21/19.72 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.72 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.72 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.72 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.72 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.72 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.72 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.72 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.72 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.72 isBool(false) -> tt 18.21/19.72 isBool(true) -> tt 18.21/19.72 not_(false) -> true 18.21/19.72 not_(true) -> false 18.21/19.72 not_(A) -> U221(isBool(A),A) 18.21/19.72 -> SRules: 18.21/19.72 Empty 18.21/19.72 ->->Cycle: 18.21/19.72 ->->-> Pairs: 18.21/19.72 _XOR_(_xor_(false,A),x8) -> _XOR_(U121(isBool(A),A),x8) 18.21/19.72 _XOR_(_xor_(A,A),x8) -> _XOR_(U111(isBool(A)),x8) 18.21/19.72 -> FAxioms: 18.21/19.72 _and_(_and_(x8,x9),x10) -> _and_(x8,_and_(x9,x10)) 18.21/19.72 _and_(x8,x9) -> _and_(x9,x8) 18.21/19.72 _or_(_or_(x8,x9),x10) -> _or_(x8,_or_(x9,x10)) 18.21/19.72 _or_(x8,x9) -> _or_(x9,x8) 18.21/19.72 _xor_(_xor_(x8,x9),x10) -> _xor_(x8,_xor_(x9,x10)) 18.21/19.72 _xor_(x8,x9) -> _xor_(x9,x8) 18.21/19.72 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,_xor_(x9,x10)) 18.21/19.72 _XOR_(x8,x9) -> _XOR_(x9,x8) 18.21/19.72 -> EAxioms: 18.21/19.72 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.72 _and_(x8,x9) = _and_(x9,x8) 18.21/19.72 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.72 _or_(x8,x9) = _or_(x9,x8) 18.21/19.72 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.72 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.72 ->->-> Rules: 18.21/19.72 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.72 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.72 U11(tt,A) -> A 18.21/19.72 U111(tt) -> false 18.21/19.72 U121(tt,A) -> A 18.21/19.72 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.72 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.72 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.72 U134(tt,U') -> U' 18.21/19.72 U141(tt,U) -> U142(isS(U),U) 18.21/19.72 U142(tt,U) -> U 18.21/19.72 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.72 U152(tt) -> tt 18.21/19.72 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.72 U162(tt) -> tt 18.21/19.72 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.72 U172(tt) -> tt 18.21/19.72 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.72 U182(tt) -> tt 18.21/19.72 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.72 U192(tt) -> tt 18.21/19.72 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.72 U202(tt) -> tt 18.21/19.72 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.72 U211(tt) -> tt 18.21/19.72 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.72 U221(tt,A) -> _xor_(A,true) 18.21/19.72 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.72 U31(tt) -> false 18.21/19.72 U41(tt,A) -> A 18.21/19.72 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.72 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.72 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.72 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.72 U63(tt) -> false 18.21/19.72 U71(tt) -> true 18.21/19.72 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.72 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.72 U91(tt) -> false 18.21/19.72 _and_(false,A) -> U31(isBool(A)) 18.21/19.72 _and_(true,A) -> U41(isBool(A),A) 18.21/19.72 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.72 _and_(A,A) -> U11(isBool(A),A) 18.21/19.72 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.72 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.72 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.72 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.72 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.72 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.72 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.72 _xor_(A,A) -> U111(isBool(A)) 18.21/19.72 equal(X,X) -> tt 18.21/19.72 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.72 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.72 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.72 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.72 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.72 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.72 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.72 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.72 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.72 isBool(false) -> tt 18.21/19.72 isBool(true) -> tt 18.21/19.72 not_(false) -> true 18.21/19.72 not_(true) -> false 18.21/19.72 not_(A) -> U221(isBool(A),A) 18.21/19.72 -> SRules: 18.21/19.72 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,x9) 18.21/19.72 _XOR_(x8,_xor_(x9,x10)) -> _XOR_(x9,x10) 18.21/19.72 ->->Cycle: 18.21/19.72 ->->-> Pairs: 18.21/19.72 U21#(tt,A,B,C) -> U22#(isBool(B),A,B,C) 18.21/19.72 U22#(tt,A,B,C) -> U23#(isBool(C),A,B,C) 18.21/19.72 U23#(tt,A,B,C) -> _AND_(A,B) 18.21/19.72 U23#(tt,A,B,C) -> _AND_(A,C) 18.21/19.72 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.72 _AND_(_and_(true,A),x8) -> _AND_(U41(isBool(A),A),x8) 18.21/19.72 _AND_(_and_(A,_xor_(B,C)),x8) -> U21#(isBool(A),A,B,C) 18.21/19.72 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.72 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.72 _AND_(A,_xor_(B,C)) -> U21#(isBool(A),A,B,C) 18.21/19.72 -> FAxioms: 18.21/19.72 _and_(_and_(x8,x9),x10) -> _and_(x8,_and_(x9,x10)) 18.21/19.72 _and_(x8,x9) -> _and_(x9,x8) 18.21/19.72 _or_(_or_(x8,x9),x10) -> _or_(x8,_or_(x9,x10)) 18.21/19.72 _or_(x8,x9) -> _or_(x9,x8) 18.21/19.72 _xor_(_xor_(x8,x9),x10) -> _xor_(x8,_xor_(x9,x10)) 18.21/19.72 _xor_(x8,x9) -> _xor_(x9,x8) 18.21/19.72 _AND_(_and_(x8,x9),x10) -> _AND_(x8,_and_(x9,x10)) 18.21/19.72 _AND_(x8,x9) -> _AND_(x9,x8) 18.21/19.72 -> EAxioms: 18.21/19.72 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.72 _and_(x8,x9) = _and_(x9,x8) 18.21/19.72 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.72 _or_(x8,x9) = _or_(x9,x8) 18.21/19.72 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.72 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.72 ->->-> Rules: 18.21/19.72 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.72 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.72 U11(tt,A) -> A 18.21/19.72 U111(tt) -> false 18.21/19.72 U121(tt,A) -> A 18.21/19.72 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.72 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.72 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.72 U134(tt,U') -> U' 18.21/19.72 U141(tt,U) -> U142(isS(U),U) 18.21/19.72 U142(tt,U) -> U 18.21/19.72 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.72 U152(tt) -> tt 18.21/19.72 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.72 U162(tt) -> tt 18.21/19.72 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.72 U172(tt) -> tt 18.21/19.72 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.72 U182(tt) -> tt 18.21/19.72 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.72 U192(tt) -> tt 18.21/19.72 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.72 U202(tt) -> tt 18.21/19.72 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.72 U211(tt) -> tt 18.21/19.72 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.72 U221(tt,A) -> _xor_(A,true) 18.21/19.72 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.72 U31(tt) -> false 18.21/19.72 U41(tt,A) -> A 18.21/19.72 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.72 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.72 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.72 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.72 U63(tt) -> false 18.21/19.72 U71(tt) -> true 18.21/19.72 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.72 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.72 U91(tt) -> false 18.21/19.72 _and_(false,A) -> U31(isBool(A)) 18.21/19.72 _and_(true,A) -> U41(isBool(A),A) 18.21/19.72 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.72 _and_(A,A) -> U11(isBool(A),A) 18.21/19.72 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.72 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.72 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.72 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.72 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.72 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.72 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.72 _xor_(A,A) -> U111(isBool(A)) 18.21/19.72 equal(X,X) -> tt 18.21/19.72 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.72 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.72 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.72 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.72 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.72 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.72 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.72 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.72 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.72 isBool(false) -> tt 18.21/19.72 isBool(true) -> tt 18.21/19.72 not_(false) -> true 18.21/19.72 not_(true) -> false 18.21/19.72 not_(A) -> U221(isBool(A),A) 18.21/19.72 -> SRules: 18.21/19.72 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.72 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.72 ->->Cycle: 18.21/19.72 ->->-> Pairs: 18.21/19.72 _OR_(_or_(A,B),x8) -> _OR_(U101(isBool(A),A,B),x8) 18.21/19.72 -> FAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) -> _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) -> _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) -> _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) -> _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) -> _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) -> _xor_(x9,x8) 18.21/19.73 _OR_(_or_(x8,x9),x10) -> _OR_(x8,_or_(x9,x10)) 18.21/19.73 _OR_(x8,x9) -> _OR_(x9,x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 ->->-> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 _OR_(_or_(x8,x9),x10) -> _OR_(x8,x9) 18.21/19.73 _OR_(x8,_or_(x9,x10)) -> _OR_(x9,x10) 18.21/19.73 18.21/19.73 18.21/19.73 The problem is decomposed in 4 subproblems. 18.21/19.73 18.21/19.73 Problem 1.1: 18.21/19.73 18.21/19.73 Subterm Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 Empty 18.21/19.73 -> Pairs: 18.21/19.73 U151#(tt,V2) -> ISBOOL(V2) 18.21/19.73 U161#(tt,V2) -> ISBOOL(V2) 18.21/19.73 U191#(tt,V2) -> ISBOOL(V2) 18.21/19.73 U201#(tt,V2) -> ISBOOL(V2) 18.21/19.73 ISBOOL(_and_(V1,V2)) -> U151#(isBool(V1),V2) 18.21/19.73 ISBOOL(_and_(V1,V2)) -> ISBOOL(V1) 18.21/19.73 ISBOOL(_implies_(V1,V2)) -> U161#(isBool(V1),V2) 18.21/19.73 ISBOOL(_implies_(V1,V2)) -> ISBOOL(V1) 18.21/19.73 ISBOOL(_or_(V1,V2)) -> U191#(isBool(V1),V2) 18.21/19.73 ISBOOL(_or_(V1,V2)) -> ISBOOL(V1) 18.21/19.73 ISBOOL(_xor_(V1,V2)) -> U201#(isBool(V1),V2) 18.21/19.73 ISBOOL(_xor_(V1,V2)) -> ISBOOL(V1) 18.21/19.73 ISBOOL(not_(V1)) -> ISBOOL(V1) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 Empty 18.21/19.73 ->Projection: 18.21/19.73 pi(U151#) = [2] 18.21/19.73 pi(U161#) = [2] 18.21/19.73 pi(U191#) = [2] 18.21/19.73 pi(U201#) = [2] 18.21/19.73 pi(ISBOOL) = [1] 18.21/19.73 18.21/19.73 Problem 1.1: 18.21/19.73 18.21/19.73 SCC Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 Empty 18.21/19.73 -> Pairs: 18.21/19.73 U151#(tt,V2) -> ISBOOL(V2) 18.21/19.73 U161#(tt,V2) -> ISBOOL(V2) 18.21/19.73 U191#(tt,V2) -> ISBOOL(V2) 18.21/19.73 U201#(tt,V2) -> ISBOOL(V2) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 Empty 18.21/19.73 ->Strongly Connected Components: 18.21/19.73 There is no strongly connected component 18.21/19.73 18.21/19.73 The problem is finite. 18.21/19.73 18.21/19.73 Problem 1.2: 18.21/19.73 18.21/19.73 Reduction Pairs Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _XOR_(_xor_(x8,x9),x10) = _XOR_(x8,_xor_(x9,x10)) 18.21/19.73 _XOR_(x8,x9) = _XOR_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 _XOR_(_xor_(false,A),x8) -> _XOR_(U121(isBool(A),A),x8) 18.21/19.73 _XOR_(_xor_(A,A),x8) -> _XOR_(U111(isBool(A)),x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Usable Equations: 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> Usable Rules: 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U211(tt) -> tt 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 -> SRules: 18.21/19.73 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,x9) 18.21/19.73 _XOR_(x8,_xor_(x9,x10)) -> _XOR_(x9,x10) 18.21/19.73 ->Interpretation type: 18.21/19.73 Linear 18.21/19.73 ->Coefficients: 18.21/19.73 Natural Numbers 18.21/19.73 ->Dimension: 18.21/19.73 1 18.21/19.73 ->Bound: 18.21/19.73 2 18.21/19.73 ->Interpretation: 18.21/19.73 18.21/19.73 [U101](X1,X2,X3) = 0 18.21/19.73 [U102](X1,X2,X3) = 0 18.21/19.73 [U11](X1,X2) = 0 18.21/19.73 [U111](X) = 2 18.21/19.73 [U121](X1,X2) = X2 + 1 18.21/19.73 [U131](X1,X2,X3,X4) = 0 18.21/19.73 [U132](X1,X2,X3,X4) = 0 18.21/19.73 [U133](X1,X2,X3) = 0 18.21/19.73 [U134](X1,X2) = 0 18.21/19.73 [U141](X1,X2) = 0 18.21/19.73 [U142](X1,X2) = 0 18.21/19.73 [U151](X1,X2) = X1 + 2.X2 + 2 18.21/19.73 [U152](X) = 2.X 18.21/19.73 [U161](X1,X2) = 2.X1 + X2 18.21/19.73 [U162](X) = X 18.21/19.73 [U171](X1,X2) = 2.X2 + 1 18.21/19.73 [U172](X) = 2.X 18.21/19.73 [U181](X1,X2) = 2.X2 + 2 18.21/19.73 [U182](X) = X + 1 18.21/19.73 [U191](X1,X2) = 2.X1 + 2.X2 18.21/19.73 [U192](X) = 2 18.21/19.73 [U201](X1,X2) = X1 + X2 18.21/19.73 [U202](X) = 2 18.21/19.73 [U21](X1,X2,X3,X4) = 0 18.21/19.73 [U211](X) = X + 2 18.21/19.73 [U22](X1,X2,X3,X4) = 0 18.21/19.73 [U221](X1,X2) = 0 18.21/19.73 [U23](X1,X2,X3,X4) = 0 18.21/19.73 [U31](X) = 0 18.21/19.73 [U41](X1,X2) = 0 18.21/19.73 [U51](X1,X2,X3) = 0 18.21/19.73 [U52](X1,X2,X3) = 0 18.21/19.73 [U61](X1,X2,X3) = 0 18.21/19.73 [U62](X1,X2,X3) = 0 18.21/19.73 [U63](X) = 0 18.21/19.73 [U71](X) = 0 18.21/19.73 [U81](X1,X2,X3) = 0 18.21/19.73 [U82](X1,X2,X3) = 0 18.21/19.73 [U91](X) = 0 18.21/19.73 [_and_](X1,X2) = 2.X1 + 2.X2 + 2 18.21/19.73 [_implies_](X1,X2) = 2.X1 + X2 + 2 18.21/19.73 [_isEqualTo_](X1,X2) = X1 + 2.X2 + 2 18.21/19.73 [_isNotEqualTo_](X1,X2) = X1 + 2.X2 18.21/19.73 [_or_](X1,X2) = 2.X1 + 2.X2 + 2 18.21/19.73 [_xor_](X1,X2) = X1 + X2 + 2 18.21/19.73 [equal](X1,X2) = 0 18.21/19.73 [if_then_else_fi](X1,X2,X3) = 0 18.21/19.73 [isBool](X) = X + 2 18.21/19.73 [not_](X) = 2.X + 2 18.21/19.73 [false] = 0 18.21/19.73 [isS](X) = 0 18.21/19.73 [isUniversal](X) = X 18.21/19.73 [true] = 1 18.21/19.73 [tt] = 2 18.21/19.73 [U101#](X1,X2,X3) = 0 18.21/19.73 [U102#](X1,X2,X3) = 0 18.21/19.73 [U11#](X1,X2) = 0 18.21/19.73 [U111#](X) = 0 18.21/19.73 [U121#](X1,X2) = 0 18.21/19.73 [U131#](X1,X2,X3,X4) = 0 18.21/19.73 [U132#](X1,X2,X3,X4) = 0 18.21/19.73 [U133#](X1,X2,X3) = 0 18.21/19.73 [U134#](X1,X2) = 0 18.21/19.73 [U141#](X1,X2) = 0 18.21/19.73 [U142#](X1,X2) = 0 18.21/19.73 [U151#](X1,X2) = 0 18.21/19.73 [U152#](X) = 0 18.21/19.73 [U161#](X1,X2) = 0 18.21/19.73 [U162#](X) = 0 18.21/19.73 [U171#](X1,X2) = 0 18.21/19.73 [U172#](X) = 0 18.21/19.73 [U181#](X1,X2) = 0 18.21/19.73 [U182#](X) = 0 18.21/19.73 [U191#](X1,X2) = 0 18.21/19.73 [U192#](X) = 0 18.21/19.73 [U201#](X1,X2) = 0 18.21/19.73 [U202#](X) = 0 18.21/19.73 [U21#](X1,X2,X3,X4) = 0 18.21/19.73 [U211#](X) = 0 18.21/19.73 [U22#](X1,X2,X3,X4) = 0 18.21/19.73 [U221#](X1,X2) = 0 18.21/19.73 [U23#](X1,X2,X3,X4) = 0 18.21/19.73 [U31#](X) = 0 18.21/19.73 [U41#](X1,X2) = 0 18.21/19.73 [U51#](X1,X2,X3) = 0 18.21/19.73 [U52#](X1,X2,X3) = 0 18.21/19.73 [U61#](X1,X2,X3) = 0 18.21/19.73 [U62#](X1,X2,X3) = 0 18.21/19.73 [U63#](X) = 0 18.21/19.73 [U71#](X) = 0 18.21/19.73 [U81#](X1,X2,X3) = 0 18.21/19.73 [U82#](X1,X2,X3) = 0 18.21/19.73 [U91#](X) = 0 18.21/19.73 [_AND_](X1,X2) = 0 18.21/19.73 [_IMPLIES_](X1,X2) = 0 18.21/19.73 [_ISEQUALTO_](X1,X2) = 0 18.21/19.73 [_ISNOTEQUALTO_](X1,X2) = 0 18.21/19.73 [_OR_](X1,X2) = 0 18.21/19.73 [_XOR_](X1,X2) = 2.X1 + 2.X2 18.21/19.73 [EQUAL](X1,X2) = 0 18.21/19.73 [IF_THEN_ELSE_FI](X1,X2,X3) = 0 18.21/19.73 [ISBOOL](X) = 0 18.21/19.73 [NOT_](X) = 0 18.21/19.73 18.21/19.73 Problem 1.2: 18.21/19.73 18.21/19.73 SCC Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _XOR_(_xor_(x8,x9),x10) = _XOR_(x8,_xor_(x9,x10)) 18.21/19.73 _XOR_(x8,x9) = _XOR_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 _XOR_(_xor_(A,A),x8) -> _XOR_(U111(isBool(A)),x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,x9) 18.21/19.73 _XOR_(x8,_xor_(x9,x10)) -> _XOR_(x9,x10) 18.21/19.73 ->Strongly Connected Components: 18.21/19.73 ->->Cycle: 18.21/19.73 ->->-> Pairs: 18.21/19.73 _XOR_(_xor_(A,A),x8) -> _XOR_(U111(isBool(A)),x8) 18.21/19.73 -> FAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) -> _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) -> _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) -> _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) -> _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) -> _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) -> _xor_(x9,x8) 18.21/19.73 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,_xor_(x9,x10)) 18.21/19.73 _XOR_(x8,x9) -> _XOR_(x9,x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 ->->-> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,x9) 18.21/19.73 _XOR_(x8,_xor_(x9,x10)) -> _XOR_(x9,x10) 18.21/19.73 18.21/19.73 Problem 1.2: 18.21/19.73 18.21/19.73 Reduction Pairs Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _XOR_(_xor_(x8,x9),x10) = _XOR_(x8,_xor_(x9,x10)) 18.21/19.73 _XOR_(x8,x9) = _XOR_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 _XOR_(_xor_(A,A),x8) -> _XOR_(U111(isBool(A)),x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Usable Equations: 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> Usable Rules: 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U211(tt) -> tt 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 -> SRules: 18.21/19.73 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,x9) 18.21/19.73 _XOR_(x8,_xor_(x9,x10)) -> _XOR_(x9,x10) 18.21/19.73 ->Interpretation type: 18.21/19.73 Linear 18.21/19.73 ->Coefficients: 18.21/19.73 Natural Numbers 18.21/19.73 ->Dimension: 18.21/19.73 1 18.21/19.73 ->Bound: 18.21/19.73 2 18.21/19.73 ->Interpretation: 18.21/19.73 18.21/19.73 [U101](X1,X2,X3) = 0 18.21/19.73 [U102](X1,X2,X3) = 0 18.21/19.73 [U11](X1,X2) = 0 18.21/19.73 [U111](X) = 1 18.21/19.73 [U121](X1,X2) = X2 + 2 18.21/19.73 [U131](X1,X2,X3,X4) = 0 18.21/19.73 [U132](X1,X2,X3,X4) = 0 18.21/19.73 [U133](X1,X2,X3) = 0 18.21/19.73 [U134](X1,X2) = 0 18.21/19.73 [U141](X1,X2) = 0 18.21/19.73 [U142](X1,X2) = 0 18.21/19.73 [U151](X1,X2) = X1 + 2 18.21/19.73 [U152](X) = 2 18.21/19.73 [U161](X1,X2) = X1 + X2 + 2 18.21/19.73 [U162](X) = 2 18.21/19.73 [U171](X1,X2) = X1 + 2.X2 + 2 18.21/19.73 [U172](X) = X + 2 18.21/19.73 [U181](X1,X2) = X1 + X2 + 1 18.21/19.73 [U182](X) = 2 18.21/19.73 [U191](X1,X2) = 2.X1 + 2.X2 + 2 18.21/19.73 [U192](X) = X + 2 18.21/19.73 [U201](X1,X2) = X1 + 2.X2 18.21/19.73 [U202](X) = X 18.21/19.73 [U21](X1,X2,X3,X4) = 0 18.21/19.73 [U211](X) = X + 2 18.21/19.73 [U22](X1,X2,X3,X4) = 0 18.21/19.73 [U221](X1,X2) = 0 18.21/19.73 [U23](X1,X2,X3,X4) = 0 18.21/19.73 [U31](X) = 0 18.21/19.73 [U41](X1,X2) = 0 18.21/19.73 [U51](X1,X2,X3) = 0 18.21/19.73 [U52](X1,X2,X3) = 0 18.21/19.73 [U61](X1,X2,X3) = 0 18.21/19.73 [U62](X1,X2,X3) = 0 18.21/19.73 [U63](X) = 0 18.21/19.73 [U71](X) = 0 18.21/19.73 [U81](X1,X2,X3) = 0 18.21/19.73 [U82](X1,X2,X3) = 0 18.21/19.73 [U91](X) = 0 18.21/19.73 [_and_](X1,X2) = X1 + 2.X2 + 1 18.21/19.73 [_implies_](X1,X2) = X1 + X2 + 1 18.21/19.73 [_isEqualTo_](X1,X2) = 2.X1 + 2.X2 + 2 18.21/19.73 [_isNotEqualTo_](X1,X2) = 2.X1 + X2 + 2 18.21/19.73 [_or_](X1,X2) = 2.X1 + 2.X2 + 2 18.21/19.73 [_xor_](X1,X2) = X1 + X2 + 2 18.21/19.73 [equal](X1,X2) = 0 18.21/19.73 [if_then_else_fi](X1,X2,X3) = 0 18.21/19.73 [isBool](X) = 2.X 18.21/19.73 [not_](X) = X + 2 18.21/19.73 [false] = 1 18.21/19.73 [isS](X) = 0 18.21/19.73 [isUniversal](X) = 2.X + 2 18.21/19.73 [true] = 2 18.21/19.73 [tt] = 2 18.21/19.73 [U101#](X1,X2,X3) = 0 18.21/19.73 [U102#](X1,X2,X3) = 0 18.21/19.73 [U11#](X1,X2) = 0 18.21/19.73 [U111#](X) = 0 18.21/19.73 [U121#](X1,X2) = 0 18.21/19.73 [U131#](X1,X2,X3,X4) = 0 18.21/19.73 [U132#](X1,X2,X3,X4) = 0 18.21/19.73 [U133#](X1,X2,X3) = 0 18.21/19.73 [U134#](X1,X2) = 0 18.21/19.73 [U141#](X1,X2) = 0 18.21/19.73 [U142#](X1,X2) = 0 18.21/19.73 [U151#](X1,X2) = 0 18.21/19.73 [U152#](X) = 0 18.21/19.73 [U161#](X1,X2) = 0 18.21/19.73 [U162#](X) = 0 18.21/19.73 [U171#](X1,X2) = 0 18.21/19.73 [U172#](X) = 0 18.21/19.73 [U181#](X1,X2) = 0 18.21/19.73 [U182#](X) = 0 18.21/19.73 [U191#](X1,X2) = 0 18.21/19.73 [U192#](X) = 0 18.21/19.73 [U201#](X1,X2) = 0 18.21/19.73 [U202#](X) = 0 18.21/19.73 [U21#](X1,X2,X3,X4) = 0 18.21/19.73 [U211#](X) = 0 18.21/19.73 [U22#](X1,X2,X3,X4) = 0 18.21/19.73 [U221#](X1,X2) = 0 18.21/19.73 [U23#](X1,X2,X3,X4) = 0 18.21/19.73 [U31#](X) = 0 18.21/19.73 [U41#](X1,X2) = 0 18.21/19.73 [U51#](X1,X2,X3) = 0 18.21/19.73 [U52#](X1,X2,X3) = 0 18.21/19.73 [U61#](X1,X2,X3) = 0 18.21/19.73 [U62#](X1,X2,X3) = 0 18.21/19.73 [U63#](X) = 0 18.21/19.73 [U71#](X) = 0 18.21/19.73 [U81#](X1,X2,X3) = 0 18.21/19.73 [U82#](X1,X2,X3) = 0 18.21/19.73 [U91#](X) = 0 18.21/19.73 [_AND_](X1,X2) = 0 18.21/19.73 [_IMPLIES_](X1,X2) = 0 18.21/19.73 [_ISEQUALTO_](X1,X2) = 0 18.21/19.73 [_ISNOTEQUALTO_](X1,X2) = 0 18.21/19.73 [_OR_](X1,X2) = 0 18.21/19.73 [_XOR_](X1,X2) = 2.X1 + 2.X2 18.21/19.73 [EQUAL](X1,X2) = 0 18.21/19.73 [IF_THEN_ELSE_FI](X1,X2,X3) = 0 18.21/19.73 [ISBOOL](X) = 0 18.21/19.73 [NOT_](X) = 0 18.21/19.73 18.21/19.73 Problem 1.2: 18.21/19.73 18.21/19.73 SCC Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _XOR_(_xor_(x8,x9),x10) = _XOR_(x8,_xor_(x9,x10)) 18.21/19.73 _XOR_(x8,x9) = _XOR_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 Empty 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 _XOR_(_xor_(x8,x9),x10) -> _XOR_(x8,x9) 18.21/19.73 _XOR_(x8,_xor_(x9,x10)) -> _XOR_(x9,x10) 18.21/19.73 ->Strongly Connected Components: 18.21/19.73 There is no strongly connected component 18.21/19.73 18.21/19.73 The problem is finite. 18.21/19.73 18.21/19.73 Problem 1.3: 18.21/19.73 18.21/19.73 Reduction Pairs Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.73 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 U21#(tt,A,B,C) -> U22#(isBool(B),A,B,C) 18.21/19.73 U22#(tt,A,B,C) -> U23#(isBool(C),A,B,C) 18.21/19.73 U23#(tt,A,B,C) -> _AND_(A,B) 18.21/19.73 U23#(tt,A,B,C) -> _AND_(A,C) 18.21/19.73 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.73 _AND_(_and_(true,A),x8) -> _AND_(U41(isBool(A),A),x8) 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> U21#(isBool(A),A,B,C) 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.73 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.73 _AND_(A,_xor_(B,C)) -> U21#(isBool(A),A,B,C) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Usable Equations: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> Usable Rules: 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 -> SRules: 18.21/19.73 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.73 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.73 ->Interpretation type: 18.21/19.73 Simple mixed 18.21/19.73 ->Coefficients: 18.21/19.73 Natural Numbers 18.21/19.73 ->Dimension: 18.21/19.73 1 18.21/19.73 ->Bound: 18.21/19.73 1 18.21/19.73 ->Interpretation: 18.21/19.73 18.21/19.73 [U101](X1,X2,X3) = 0 18.21/19.73 [U102](X1,X2,X3) = 0 18.21/19.73 [U11](X1,X2) = X2 18.21/19.73 [U111](X) = 1 18.21/19.73 [U121](X1,X2) = X1 + X2 + 1 18.21/19.73 [U131](X1,X2,X3,X4) = 0 18.21/19.73 [U132](X1,X2,X3,X4) = 0 18.21/19.73 [U133](X1,X2,X3) = 0 18.21/19.73 [U134](X1,X2) = 0 18.21/19.73 [U141](X1,X2) = 0 18.21/19.73 [U142](X1,X2) = 0 18.21/19.73 [U151](X1,X2) = X1 18.21/19.73 [U152](X) = 1 18.21/19.73 [U161](X1,X2) = X1 18.21/19.73 [U162](X) = X 18.21/19.73 [U171](X1,X2) = X1.X2 + X1 18.21/19.73 [U172](X) = X + 1 18.21/19.73 [U181](X1,X2) = X1.X2 + X1 18.21/19.73 [U182](X) = X.X + X 18.21/19.73 [U191](X1,X2) = X1 18.21/19.73 [U192](X) = X 18.21/19.73 [U201](X1,X2) = X1 18.21/19.73 [U202](X) = 1 18.21/19.73 [U21](X1,X2,X3,X4) = X1.X2.X3 + X1.X2.X4 + X1.X2 + X1 + X2 + X3 + X4 18.21/19.73 [U211](X) = X.X 18.21/19.73 [U22](X1,X2,X3,X4) = X1.X2.X3 + X1.X2 + X2.X4 + X1 + X2 + X3 + X4 18.21/19.73 [U221](X1,X2) = 0 18.21/19.73 [U23](X1,X2,X3,X4) = X1.X2.X3 + X1.X2 + X1.X3 + X1.X4 + X2.X4 + X2 + 1 18.21/19.73 [U31](X) = X.X 18.21/19.73 [U41](X1,X2) = X1.X2 + X2 + 1 18.21/19.73 [U51](X1,X2,X3) = 0 18.21/19.73 [U52](X1,X2,X3) = 0 18.21/19.73 [U61](X1,X2,X3) = 0 18.21/19.73 [U62](X1,X2,X3) = 0 18.21/19.73 [U63](X) = 0 18.21/19.73 [U71](X) = 0 18.21/19.73 [U81](X1,X2,X3) = 0 18.21/19.73 [U82](X1,X2,X3) = 0 18.21/19.73 [U91](X) = 0 18.21/19.73 [_and_](X1,X2) = X1.X2 + X1 + X2 18.21/19.73 [_implies_](X1,X2) = X1.X2 + X1 + X2 + 1 18.21/19.73 [_isEqualTo_](X1,X2) = X1.X2 + X2 18.21/19.73 [_isNotEqualTo_](X1,X2) = X1.X2 + 1 18.21/19.73 [_or_](X1,X2) = X1 + X2 + 1 18.21/19.73 [_xor_](X1,X2) = X1 + X2 + 1 18.21/19.73 [equal](X1,X2) = 0 18.21/19.73 [if_then_else_fi](X1,X2,X3) = 0 18.21/19.73 [isBool](X) = 1 18.21/19.73 [not_](X) = X.X 18.21/19.73 [false] = 1 18.21/19.73 [isS](X) = 0 18.21/19.73 [isUniversal](X) = 0 18.21/19.73 [true] = 1 18.21/19.73 [tt] = 1 18.21/19.73 [U101#](X1,X2,X3) = 0 18.21/19.73 [U102#](X1,X2,X3) = 0 18.21/19.73 [U11#](X1,X2) = 0 18.21/19.73 [U111#](X) = 0 18.21/19.73 [U121#](X1,X2) = 0 18.21/19.73 [U131#](X1,X2,X3,X4) = 0 18.21/19.73 [U132#](X1,X2,X3,X4) = 0 18.21/19.73 [U133#](X1,X2,X3) = 0 18.21/19.73 [U134#](X1,X2) = 0 18.21/19.73 [U141#](X1,X2) = 0 18.21/19.73 [U142#](X1,X2) = 0 18.21/19.73 [U151#](X1,X2) = 0 18.21/19.73 [U152#](X) = 0 18.21/19.73 [U161#](X1,X2) = 0 18.21/19.73 [U162#](X) = 0 18.21/19.73 [U171#](X1,X2) = 0 18.21/19.73 [U172#](X) = 0 18.21/19.73 [U181#](X1,X2) = 0 18.21/19.73 [U182#](X) = 0 18.21/19.73 [U191#](X1,X2) = 0 18.21/19.73 [U192#](X) = 0 18.21/19.73 [U201#](X1,X2) = 0 18.21/19.73 [U202#](X) = 0 18.21/19.73 [U21#](X1,X2,X3,X4) = X1.X2.X3 + X1.X2.X4 + X1.X2 + X1.X4 + X1 + X2 + X3 + 1 18.21/19.73 [U211#](X) = 0 18.21/19.73 [U22#](X1,X2,X3,X4) = X1.X2.X3 + X1.X2 + X2.X4 + X1 + X2 + X3 + X4 18.21/19.73 [U221#](X1,X2) = 0 18.21/19.73 [U23#](X1,X2,X3,X4) = X1.X2.X3 + X1.X2 + X1.X3 + X1.X4 + X2.X4 + X2 + 1 18.21/19.73 [U31#](X) = 0 18.21/19.73 [U41#](X1,X2) = 0 18.21/19.73 [U51#](X1,X2,X3) = 0 18.21/19.73 [U52#](X1,X2,X3) = 0 18.21/19.73 [U61#](X1,X2,X3) = 0 18.21/19.73 [U62#](X1,X2,X3) = 0 18.21/19.73 [U63#](X) = 0 18.21/19.73 [U71#](X) = 0 18.21/19.73 [U81#](X1,X2,X3) = 0 18.21/19.73 [U82#](X1,X2,X3) = 0 18.21/19.73 [U91#](X) = 0 18.21/19.73 [_AND_](X1,X2) = X1.X2 + X1 + X2 + 1 18.21/19.73 [_IMPLIES_](X1,X2) = 0 18.21/19.73 [_ISEQUALTO_](X1,X2) = 0 18.21/19.73 [_ISNOTEQUALTO_](X1,X2) = 0 18.21/19.73 [_OR_](X1,X2) = 0 18.21/19.73 [_XOR_](X1,X2) = 0 18.21/19.73 [EQUAL](X1,X2) = 0 18.21/19.73 [IF_THEN_ELSE_FI](X1,X2,X3) = 0 18.21/19.73 [ISBOOL](X) = 0 18.21/19.73 [NOT_](X) = 0 18.21/19.73 18.21/19.73 Problem 1.3: 18.21/19.73 18.21/19.73 SCC Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.73 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 U22#(tt,A,B,C) -> U23#(isBool(C),A,B,C) 18.21/19.73 U23#(tt,A,B,C) -> _AND_(A,B) 18.21/19.73 U23#(tt,A,B,C) -> _AND_(A,C) 18.21/19.73 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.73 _AND_(_and_(true,A),x8) -> _AND_(U41(isBool(A),A),x8) 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> U21#(isBool(A),A,B,C) 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.73 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.73 _AND_(A,_xor_(B,C)) -> U21#(isBool(A),A,B,C) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.73 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.73 ->Strongly Connected Components: 18.21/19.73 ->->Cycle: 18.21/19.73 ->->-> Pairs: 18.21/19.73 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.73 _AND_(_and_(true,A),x8) -> _AND_(U41(isBool(A),A),x8) 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.73 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.73 -> FAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) -> _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) -> _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) -> _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) -> _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) -> _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) -> _xor_(x9,x8) 18.21/19.73 _AND_(_and_(x8,x9),x10) -> _AND_(x8,_and_(x9,x10)) 18.21/19.73 _AND_(x8,x9) -> _AND_(x9,x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 ->->-> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.73 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.73 18.21/19.73 Problem 1.3: 18.21/19.73 18.21/19.73 Reduction Pairs Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.73 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.73 _AND_(_and_(true,A),x8) -> _AND_(U41(isBool(A),A),x8) 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.73 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Usable Equations: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> Usable Rules: 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 -> SRules: 18.21/19.73 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.73 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.73 ->Interpretation type: 18.21/19.73 Simple mixed 18.21/19.73 ->Coefficients: 18.21/19.73 Natural Numbers 18.21/19.73 ->Dimension: 18.21/19.73 1 18.21/19.73 ->Bound: 18.21/19.73 1 18.21/19.73 ->Interpretation: 18.21/19.73 18.21/19.73 [U101](X1,X2,X3) = 0 18.21/19.73 [U102](X1,X2,X3) = 0 18.21/19.73 [U11](X1,X2) = X1.X2 + X2 18.21/19.73 [U111](X) = 1 18.21/19.73 [U121](X1,X2) = X1.X2 + 1 18.21/19.73 [U131](X1,X2,X3,X4) = 0 18.21/19.73 [U132](X1,X2,X3,X4) = 0 18.21/19.73 [U133](X1,X2,X3) = 0 18.21/19.73 [U134](X1,X2) = 0 18.21/19.73 [U141](X1,X2) = 0 18.21/19.73 [U142](X1,X2) = 0 18.21/19.73 [U151](X1,X2) = 1 18.21/19.73 [U152](X) = 1 18.21/19.73 [U161](X1,X2) = X1 18.21/19.73 [U162](X) = 1 18.21/19.73 [U171](X1,X2) = 1 18.21/19.73 [U172](X) = X 18.21/19.73 [U181](X1,X2) = X1 18.21/19.73 [U182](X) = 1 18.21/19.73 [U191](X1,X2) = X1 18.21/19.73 [U192](X) = 1 18.21/19.73 [U201](X1,X2) = X1 18.21/19.73 [U202](X) = 1 18.21/19.73 [U21](X1,X2,X3,X4) = X1.X2.X4 + X1.X2 + X1.X4 + X2.X3 + X2 + X3 + 1 18.21/19.73 [U211](X) = 1 18.21/19.73 [U22](X1,X2,X3,X4) = X1.X2.X3 + X1.X2 + X2.X4 + X2 + X3 + X4 + 1 18.21/19.73 [U221](X1,X2) = 0 18.21/19.73 [U23](X1,X2,X3,X4) = X1.X2.X3 + X1.X2 + X1.X4 + X2.X4 + X1 + X2 + X3 18.21/19.73 [U31](X) = X.X 18.21/19.73 [U41](X1,X2) = X2 18.21/19.73 [U51](X1,X2,X3) = 0 18.21/19.73 [U52](X1,X2,X3) = 0 18.21/19.73 [U61](X1,X2,X3) = 0 18.21/19.73 [U62](X1,X2,X3) = 0 18.21/19.73 [U63](X) = 0 18.21/19.73 [U71](X) = 0 18.21/19.73 [U81](X1,X2,X3) = 0 18.21/19.73 [U82](X1,X2,X3) = 0 18.21/19.73 [U91](X) = 0 18.21/19.73 [_and_](X1,X2) = X1.X2 + X1 + X2 18.21/19.73 [_implies_](X1,X2) = X1.X2 + X2 + 1 18.21/19.73 [_isEqualTo_](X1,X2) = X2 + 1 18.21/19.73 [_isNotEqualTo_](X1,X2) = X2 18.21/19.73 [_or_](X1,X2) = X1.X2 + X1 + X2 18.21/19.73 [_xor_](X1,X2) = X1 + X2 + 1 18.21/19.73 [equal](X1,X2) = 0 18.21/19.73 [if_then_else_fi](X1,X2,X3) = 0 18.21/19.73 [isBool](X) = 1 18.21/19.73 [not_](X) = 0 18.21/19.73 [false] = 1 18.21/19.73 [isS](X) = 0 18.21/19.73 [isUniversal](X) = 1 18.21/19.73 [true] = 1 18.21/19.73 [tt] = 1 18.21/19.73 [U101#](X1,X2,X3) = 0 18.21/19.73 [U102#](X1,X2,X3) = 0 18.21/19.73 [U11#](X1,X2) = 0 18.21/19.73 [U111#](X) = 0 18.21/19.73 [U121#](X1,X2) = 0 18.21/19.73 [U131#](X1,X2,X3,X4) = 0 18.21/19.73 [U132#](X1,X2,X3,X4) = 0 18.21/19.73 [U133#](X1,X2,X3) = 0 18.21/19.73 [U134#](X1,X2) = 0 18.21/19.73 [U141#](X1,X2) = 0 18.21/19.73 [U142#](X1,X2) = 0 18.21/19.73 [U151#](X1,X2) = 0 18.21/19.73 [U152#](X) = 0 18.21/19.73 [U161#](X1,X2) = 0 18.21/19.73 [U162#](X) = 0 18.21/19.73 [U171#](X1,X2) = 0 18.21/19.73 [U172#](X) = 0 18.21/19.73 [U181#](X1,X2) = 0 18.21/19.73 [U182#](X) = 0 18.21/19.73 [U191#](X1,X2) = 0 18.21/19.73 [U192#](X) = 0 18.21/19.73 [U201#](X1,X2) = 0 18.21/19.73 [U202#](X) = 0 18.21/19.73 [U21#](X1,X2,X3,X4) = 0 18.21/19.73 [U211#](X) = 0 18.21/19.73 [U22#](X1,X2,X3,X4) = 0 18.21/19.73 [U221#](X1,X2) = 0 18.21/19.73 [U23#](X1,X2,X3,X4) = 0 18.21/19.73 [U31#](X) = 0 18.21/19.73 [U41#](X1,X2) = 0 18.21/19.73 [U51#](X1,X2,X3) = 0 18.21/19.73 [U52#](X1,X2,X3) = 0 18.21/19.73 [U61#](X1,X2,X3) = 0 18.21/19.73 [U62#](X1,X2,X3) = 0 18.21/19.73 [U63#](X) = 0 18.21/19.73 [U71#](X) = 0 18.21/19.73 [U81#](X1,X2,X3) = 0 18.21/19.73 [U82#](X1,X2,X3) = 0 18.21/19.73 [U91#](X) = 0 18.21/19.73 [_AND_](X1,X2) = X1.X2 + X1 + X2 18.21/19.73 [_IMPLIES_](X1,X2) = 0 18.21/19.73 [_ISEQUALTO_](X1,X2) = 0 18.21/19.73 [_ISNOTEQUALTO_](X1,X2) = 0 18.21/19.73 [_OR_](X1,X2) = 0 18.21/19.73 [_XOR_](X1,X2) = 0 18.21/19.73 [EQUAL](X1,X2) = 0 18.21/19.73 [IF_THEN_ELSE_FI](X1,X2,X3) = 0 18.21/19.73 [ISBOOL](X) = 0 18.21/19.73 [NOT_](X) = 0 18.21/19.73 18.21/19.73 Problem 1.3: 18.21/19.73 18.21/19.73 SCC Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.73 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.73 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.73 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.73 ->Strongly Connected Components: 18.21/19.73 ->->Cycle: 18.21/19.73 ->->-> Pairs: 18.21/19.73 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.73 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.73 -> FAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) -> _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) -> _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) -> _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) -> _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) -> _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) -> _xor_(x9,x8) 18.21/19.73 _AND_(_and_(x8,x9),x10) -> _AND_(x8,_and_(x9,x10)) 18.21/19.73 _AND_(x8,x9) -> _AND_(x9,x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 ->->-> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> SRules: 18.21/19.73 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.73 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.73 18.21/19.73 Problem 1.3: 18.21/19.73 18.21/19.73 Reduction Pairs Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.73 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 _AND_(_and_(false,A),x8) -> _AND_(U31(isBool(A)),x8) 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.73 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Usable Equations: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.73 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.73 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.73 U63(tt) -> false 18.21/19.73 U71(tt) -> true 18.21/19.73 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.73 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.73 U91(tt) -> false 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.73 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.73 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.73 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.73 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.73 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 equal(X,X) -> tt 18.21/19.73 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.73 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 not_(false) -> true 18.21/19.73 not_(true) -> false 18.21/19.73 not_(A) -> U221(isBool(A),A) 18.21/19.73 -> Usable Rules: 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 _and_(false,A) -> U31(isBool(A)) 18.21/19.73 _and_(true,A) -> U41(isBool(A),A) 18.21/19.73 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.73 _and_(A,A) -> U11(isBool(A),A) 18.21/19.73 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.73 _xor_(A,A) -> U111(isBool(A)) 18.21/19.73 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.73 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.73 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.73 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.73 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.73 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.73 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.73 isBool(false) -> tt 18.21/19.73 isBool(true) -> tt 18.21/19.73 -> SRules: 18.21/19.73 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.73 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.73 ->Interpretation type: 18.21/19.73 Simple mixed 18.21/19.73 ->Coefficients: 18.21/19.73 All rationals 18.21/19.73 ->Dimension: 18.21/19.73 1 18.21/19.73 ->Bound: 18.21/19.73 3 18.21/19.73 ->Interpretation: 18.21/19.73 18.21/19.73 [U101](X1,X2,X3) = 0 18.21/19.73 [U102](X1,X2,X3) = 0 18.21/19.73 [U11](X1,X2) = 2.X2 + 1/2 18.21/19.73 [U111](X) = 2/3 18.21/19.73 [U121](X1,X2) = X2 + 3/2 18.21/19.73 [U131](X1,X2,X3,X4) = 0 18.21/19.73 [U132](X1,X2,X3,X4) = 0 18.21/19.73 [U133](X1,X2,X3) = 0 18.21/19.73 [U134](X1,X2) = 0 18.21/19.73 [U141](X1,X2) = 0 18.21/19.73 [U142](X1,X2) = 0 18.21/19.73 [U151](X1,X2) = 1/2.X1 + 3/2.X2 + 2/3 18.21/19.73 [U152](X) = 2/3 18.21/19.73 [U161](X1,X2) = 1/2.X1 + 3/2.X2 + 1/2 18.21/19.73 [U162](X) = 0 18.21/19.73 [U171](X1,X2) = 3.X1.X2 + 1/3.X2 + 3/2 18.21/19.73 [U172](X) = 1/3 18.21/19.73 [U181](X1,X2) = 2/3.X1 + X2 + 1/2 18.21/19.73 [U182](X) = 2/3.X.X 18.21/19.73 [U191](X1,X2) = 1 18.21/19.73 [U192](X) = 0 18.21/19.73 [U201](X1,X2) = 3/2.X2 + 3 18.21/19.73 [U202](X) = 1/2 18.21/19.73 [U21](X1,X2,X3,X4) = 3/2.X2.X3 + 3/2.X2.X4 + 3.X2 + 3/2.X3 + 3/2.X4 + 3 18.21/19.73 [U211](X) = 1/3.X 18.21/19.73 [U22](X1,X2,X3,X4) = 3/2.X2.X3 + 3/2.X2.X4 + 3.X2 + 3/2.X3 + 3/2.X4 + 3 18.21/19.73 [U221](X1,X2) = 0 18.21/19.73 [U23](X1,X2,X3,X4) = 3/2.X2.X3 + 3/2.X2.X4 + 3.X2 + 3/2.X3 + 3/2.X4 + 3 18.21/19.73 [U31](X) = 1/3 18.21/19.73 [U41](X1,X2) = 3/2.X2 + 2/3 18.21/19.73 [U51](X1,X2,X3) = 0 18.21/19.73 [U52](X1,X2,X3) = 0 18.21/19.73 [U61](X1,X2,X3) = 0 18.21/19.73 [U62](X1,X2,X3) = 0 18.21/19.73 [U63](X) = 0 18.21/19.73 [U71](X) = 0 18.21/19.73 [U81](X1,X2,X3) = 0 18.21/19.73 [U82](X1,X2,X3) = 0 18.21/19.73 [U91](X) = 0 18.21/19.73 [_and_](X1,X2) = 3/2.X1.X2 + 3/2.X1 + 3/2.X2 + 1/2 18.21/19.73 [_implies_](X1,X2) = 2.X1.X2 + 3.X1 + 3.X2 + 3/2 18.21/19.73 [_isEqualTo_](X1,X2) = 2/3.X1.X2 + 2.X1 + 1/3.X2 + 2/3 18.21/19.73 [_isNotEqualTo_](X1,X2) = 3/2.X1.X2 + 2.X2 + 2/3 18.21/19.73 [_or_](X1,X2) = 2/3.X1.X2 + 3.X1 + X2 + 1/2 18.21/19.73 [_xor_](X1,X2) = X1 + X2 + 2 18.21/19.73 [equal](X1,X2) = 0 18.21/19.73 [if_then_else_fi](X1,X2,X3) = 0 18.21/19.73 [isBool](X) = 1/3.X.X + X + 2 18.21/19.73 [not_](X) = 1/2.X.X + 2/3.X + 2/3 18.21/19.73 [false] = 0 18.21/19.73 [isS](X) = 0 18.21/19.73 [isUniversal](X) = 0 18.21/19.73 [true] = 3 18.21/19.73 [tt] = 0 18.21/19.73 [U101#](X1,X2,X3) = 0 18.21/19.73 [U102#](X1,X2,X3) = 0 18.21/19.73 [U11#](X1,X2) = 0 18.21/19.73 [U111#](X) = 0 18.21/19.73 [U121#](X1,X2) = 0 18.21/19.73 [U131#](X1,X2,X3,X4) = 0 18.21/19.73 [U132#](X1,X2,X3,X4) = 0 18.21/19.73 [U133#](X1,X2,X3) = 0 18.21/19.73 [U134#](X1,X2) = 0 18.21/19.73 [U141#](X1,X2) = 0 18.21/19.73 [U142#](X1,X2) = 0 18.21/19.73 [U151#](X1,X2) = 0 18.21/19.73 [U152#](X) = 0 18.21/19.73 [U161#](X1,X2) = 0 18.21/19.73 [U162#](X) = 0 18.21/19.73 [U171#](X1,X2) = 0 18.21/19.73 [U172#](X) = 0 18.21/19.73 [U181#](X1,X2) = 0 18.21/19.73 [U182#](X) = 0 18.21/19.73 [U191#](X1,X2) = 0 18.21/19.73 [U192#](X) = 0 18.21/19.73 [U201#](X1,X2) = 0 18.21/19.73 [U202#](X) = 0 18.21/19.73 [U21#](X1,X2,X3,X4) = 0 18.21/19.73 [U211#](X) = 0 18.21/19.73 [U22#](X1,X2,X3,X4) = 0 18.21/19.73 [U221#](X1,X2) = 0 18.21/19.73 [U23#](X1,X2,X3,X4) = 0 18.21/19.73 [U31#](X) = 0 18.21/19.73 [U41#](X1,X2) = 0 18.21/19.73 [U51#](X1,X2,X3) = 0 18.21/19.73 [U52#](X1,X2,X3) = 0 18.21/19.73 [U61#](X1,X2,X3) = 0 18.21/19.73 [U62#](X1,X2,X3) = 0 18.21/19.73 [U63#](X) = 0 18.21/19.73 [U71#](X) = 0 18.21/19.73 [U81#](X1,X2,X3) = 0 18.21/19.73 [U82#](X1,X2,X3) = 0 18.21/19.73 [U91#](X) = 0 18.21/19.73 [_AND_](X1,X2) = 3/2.X1.X2 + 3/2.X1 + 3/2.X2 18.21/19.73 [_IMPLIES_](X1,X2) = 0 18.21/19.73 [_ISEQUALTO_](X1,X2) = 0 18.21/19.73 [_ISNOTEQUALTO_](X1,X2) = 0 18.21/19.73 [_OR_](X1,X2) = 0 18.21/19.73 [_XOR_](X1,X2) = 0 18.21/19.73 [EQUAL](X1,X2) = 0 18.21/19.73 [IF_THEN_ELSE_FI](X1,X2,X3) = 0 18.21/19.73 [ISBOOL](X) = 0 18.21/19.73 [NOT_](X) = 0 18.21/19.73 18.21/19.73 Problem 1.3: 18.21/19.73 18.21/19.73 SCC Processor: 18.21/19.73 -> FAxioms: 18.21/19.73 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.73 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.73 -> Pairs: 18.21/19.73 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.73 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.73 -> EAxioms: 18.21/19.73 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.73 _and_(x8,x9) = _and_(x9,x8) 18.21/19.73 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.73 _or_(x8,x9) = _or_(x9,x8) 18.21/19.73 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.73 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.73 -> Rules: 18.21/19.73 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.73 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.73 U11(tt,A) -> A 18.21/19.73 U111(tt) -> false 18.21/19.73 U121(tt,A) -> A 18.21/19.73 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.73 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.73 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.73 U134(tt,U') -> U' 18.21/19.73 U141(tt,U) -> U142(isS(U),U) 18.21/19.73 U142(tt,U) -> U 18.21/19.73 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.73 U152(tt) -> tt 18.21/19.73 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.73 U162(tt) -> tt 18.21/19.73 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.73 U172(tt) -> tt 18.21/19.73 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.73 U182(tt) -> tt 18.21/19.73 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.73 U192(tt) -> tt 18.21/19.73 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.73 U202(tt) -> tt 18.21/19.73 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.73 U211(tt) -> tt 18.21/19.73 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.73 U221(tt,A) -> _xor_(A,true) 18.21/19.73 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.73 U31(tt) -> false 18.21/19.73 U41(tt,A) -> A 18.21/19.73 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.73 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.74 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.74 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.74 U63(tt) -> false 18.21/19.74 U71(tt) -> true 18.21/19.74 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.74 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.74 U91(tt) -> false 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.74 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.74 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.74 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.74 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 equal(X,X) -> tt 18.21/19.74 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.74 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 not_(false) -> true 18.21/19.74 not_(true) -> false 18.21/19.74 not_(A) -> U221(isBool(A),A) 18.21/19.74 -> SRules: 18.21/19.74 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.74 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.74 ->Strongly Connected Components: 18.21/19.74 ->->Cycle: 18.21/19.74 ->->-> Pairs: 18.21/19.74 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.74 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.74 -> FAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) -> _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) -> _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) -> _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) -> _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) -> _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) -> _xor_(x9,x8) 18.21/19.74 _AND_(_and_(x8,x9),x10) -> _AND_(x8,_and_(x9,x10)) 18.21/19.74 _AND_(x8,x9) -> _AND_(x9,x8) 18.21/19.74 -> EAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) = _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 ->->-> Rules: 18.21/19.74 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.74 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.74 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.74 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.74 U134(tt,U') -> U' 18.21/19.74 U141(tt,U) -> U142(isS(U),U) 18.21/19.74 U142(tt,U) -> U 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U221(tt,A) -> _xor_(A,true) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.74 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.74 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.74 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.74 U63(tt) -> false 18.21/19.74 U71(tt) -> true 18.21/19.74 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.74 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.74 U91(tt) -> false 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.74 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.74 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.74 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.74 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 equal(X,X) -> tt 18.21/19.74 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.74 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 not_(false) -> true 18.21/19.74 not_(true) -> false 18.21/19.74 not_(A) -> U221(isBool(A),A) 18.21/19.74 -> SRules: 18.21/19.74 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.74 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.74 18.21/19.74 Problem 1.3: 18.21/19.74 18.21/19.74 Reduction Pairs Processor: 18.21/19.74 -> FAxioms: 18.21/19.74 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.74 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.74 -> Pairs: 18.21/19.74 _AND_(_and_(A,_xor_(B,C)),x8) -> _AND_(U21(isBool(A),A,B,C),x8) 18.21/19.74 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.74 -> EAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) = _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 -> Usable Equations: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 -> Rules: 18.21/19.74 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.74 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.74 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.74 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.74 U134(tt,U') -> U' 18.21/19.74 U141(tt,U) -> U142(isS(U),U) 18.21/19.74 U142(tt,U) -> U 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U221(tt,A) -> _xor_(A,true) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.74 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.74 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.74 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.74 U63(tt) -> false 18.21/19.74 U71(tt) -> true 18.21/19.74 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.74 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.74 U91(tt) -> false 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.74 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.74 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.74 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.74 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 equal(X,X) -> tt 18.21/19.74 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.74 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 not_(false) -> true 18.21/19.74 not_(true) -> false 18.21/19.74 not_(A) -> U221(isBool(A),A) 18.21/19.74 -> Usable Rules: 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 -> SRules: 18.21/19.74 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.74 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.74 ->Interpretation type: 18.21/19.74 Simple mixed 18.21/19.74 ->Coefficients: 18.21/19.74 All rationals 18.21/19.74 ->Dimension: 18.21/19.74 1 18.21/19.74 ->Bound: 18.21/19.74 3 18.21/19.74 ->Interpretation: 18.21/19.74 18.21/19.74 [U101](X1,X2,X3) = 0 18.21/19.74 [U102](X1,X2,X3) = 0 18.21/19.74 [U11](X1,X2) = 3/2.X1.X2 + X2 18.21/19.74 [U111](X) = 2 18.21/19.74 [U121](X1,X2) = X2 + 2/3 18.21/19.74 [U131](X1,X2,X3,X4) = 0 18.21/19.74 [U132](X1,X2,X3,X4) = 0 18.21/19.74 [U133](X1,X2,X3) = 0 18.21/19.74 [U134](X1,X2) = 0 18.21/19.74 [U141](X1,X2) = 0 18.21/19.74 [U142](X1,X2) = 0 18.21/19.74 [U151](X1,X2) = X1 + 1/3.X2 18.21/19.74 [U152](X) = 1/3.X + 1/2 18.21/19.74 [U161](X1,X2) = 1/2.X1.X2 + 1/3.X2 + 1/2 18.21/19.74 [U162](X) = X 18.21/19.74 [U171](X1,X2) = 3.X1.X2 + 3/2.X1 + 2/3.X2 + 2/3 18.21/19.74 [U172](X) = 1 18.21/19.74 [U181](X1,X2) = X1.X2 + 2.X1 + 1/3.X2 + 2 18.21/19.74 [U182](X) = 2.X.X + 1/3.X + 3 18.21/19.74 [U191](X1,X2) = 2/3.X1.X2 + 3/2.X2 + 2 18.21/19.74 [U192](X) = 1/2.X + 2/3 18.21/19.74 [U201](X1,X2) = X1 + 2/3.X2 + 3/2 18.21/19.74 [U202](X) = 2/3.X + 1 18.21/19.74 [U21](X1,X2,X3,X4) = 3.X2.X3 + 3.X2.X4 + 3.X1 + 2.X2 + X3 + X4 + 1 18.21/19.74 [U211](X) = 2/3.X.X + 1/2 18.21/19.74 [U22](X1,X2,X3,X4) = 3.X2.X3 + 3.X2.X4 + 2.X2 + X3 + X4 + 3 18.21/19.74 [U221](X1,X2) = 0 18.21/19.74 [U23](X1,X2,X3,X4) = 3.X2.X3 + 3.X2.X4 + 2.X2 + X3 + X4 + 3 18.21/19.74 [U31](X) = 3/2.X + 1 18.21/19.74 [U41](X1,X2) = X2 + 3 18.21/19.74 [U51](X1,X2,X3) = 0 18.21/19.74 [U52](X1,X2,X3) = 0 18.21/19.74 [U61](X1,X2,X3) = 0 18.21/19.74 [U62](X1,X2,X3) = 0 18.21/19.74 [U63](X) = 0 18.21/19.74 [U71](X) = 0 18.21/19.74 [U81](X1,X2,X3) = 0 18.21/19.74 [U82](X1,X2,X3) = 0 18.21/19.74 [U91](X) = 0 18.21/19.74 [_and_](X1,X2) = 3.X1.X2 + X1 + X2 18.21/19.74 [_implies_](X1,X2) = 3.X1.X2 + 2.X1 + 2.X2 + 1/2 18.21/19.74 [_isEqualTo_](X1,X2) = 2.X1 + X2 + 2/3 18.21/19.74 [_isNotEqualTo_](X1,X2) = 1/3.X1.X2 + 2/3.X1 + 2/3.X2 + 3 18.21/19.74 [_or_](X1,X2) = 3.X1.X2 + X1 + 3.X2 + 3 18.21/19.74 [_xor_](X1,X2) = X1 + X2 + 3 18.21/19.74 [equal](X1,X2) = 0 18.21/19.74 [if_then_else_fi](X1,X2,X3) = 0 18.21/19.74 [isBool](X) = 2/3.X + 1/2 18.21/19.74 [not_](X) = 1/2.X.X + 3.X + 1/3 18.21/19.74 [false] = 2 18.21/19.74 [isS](X) = 0 18.21/19.74 [isUniversal](X) = 0 18.21/19.74 [true] = 3 18.21/19.74 [tt] = 2/3 18.21/19.74 [U101#](X1,X2,X3) = 0 18.21/19.74 [U102#](X1,X2,X3) = 0 18.21/19.74 [U11#](X1,X2) = 0 18.21/19.74 [U111#](X) = 0 18.21/19.74 [U121#](X1,X2) = 0 18.21/19.74 [U131#](X1,X2,X3,X4) = 0 18.21/19.74 [U132#](X1,X2,X3,X4) = 0 18.21/19.74 [U133#](X1,X2,X3) = 0 18.21/19.74 [U134#](X1,X2) = 0 18.21/19.74 [U141#](X1,X2) = 0 18.21/19.74 [U142#](X1,X2) = 0 18.21/19.74 [U151#](X1,X2) = 0 18.21/19.74 [U152#](X) = 0 18.21/19.74 [U161#](X1,X2) = 0 18.21/19.74 [U162#](X) = 0 18.21/19.74 [U171#](X1,X2) = 0 18.21/19.74 [U172#](X) = 0 18.21/19.74 [U181#](X1,X2) = 0 18.21/19.74 [U182#](X) = 0 18.21/19.74 [U191#](X1,X2) = 0 18.21/19.74 [U192#](X) = 0 18.21/19.74 [U201#](X1,X2) = 0 18.21/19.74 [U202#](X) = 0 18.21/19.74 [U21#](X1,X2,X3,X4) = 0 18.21/19.74 [U211#](X) = 0 18.21/19.74 [U22#](X1,X2,X3,X4) = 0 18.21/19.74 [U221#](X1,X2) = 0 18.21/19.74 [U23#](X1,X2,X3,X4) = 0 18.21/19.74 [U31#](X) = 0 18.21/19.74 [U41#](X1,X2) = 0 18.21/19.74 [U51#](X1,X2,X3) = 0 18.21/19.74 [U52#](X1,X2,X3) = 0 18.21/19.74 [U61#](X1,X2,X3) = 0 18.21/19.74 [U62#](X1,X2,X3) = 0 18.21/19.74 [U63#](X) = 0 18.21/19.74 [U71#](X) = 0 18.21/19.74 [U81#](X1,X2,X3) = 0 18.21/19.74 [U82#](X1,X2,X3) = 0 18.21/19.74 [U91#](X) = 0 18.21/19.74 [_AND_](X1,X2) = X1.X2 + 1/3.X1 + 1/3.X2 18.21/19.74 [_IMPLIES_](X1,X2) = 0 18.21/19.74 [_ISEQUALTO_](X1,X2) = 0 18.21/19.74 [_ISNOTEQUALTO_](X1,X2) = 0 18.21/19.74 [_OR_](X1,X2) = 0 18.21/19.74 [_XOR_](X1,X2) = 0 18.21/19.74 [EQUAL](X1,X2) = 0 18.21/19.74 [IF_THEN_ELSE_FI](X1,X2,X3) = 0 18.21/19.74 [ISBOOL](X) = 0 18.21/19.74 [NOT_](X) = 0 18.21/19.74 18.21/19.74 Problem 1.3: 18.21/19.74 18.21/19.74 SCC Processor: 18.21/19.74 -> FAxioms: 18.21/19.74 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.74 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.74 -> Pairs: 18.21/19.74 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.74 -> EAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) = _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 -> Rules: 18.21/19.74 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.74 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.74 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.74 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.74 U134(tt,U') -> U' 18.21/19.74 U141(tt,U) -> U142(isS(U),U) 18.21/19.74 U142(tt,U) -> U 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U221(tt,A) -> _xor_(A,true) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.74 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.74 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.74 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.74 U63(tt) -> false 18.21/19.74 U71(tt) -> true 18.21/19.74 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.74 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.74 U91(tt) -> false 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.74 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.74 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.74 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.74 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 equal(X,X) -> tt 18.21/19.74 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.74 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 not_(false) -> true 18.21/19.74 not_(true) -> false 18.21/19.74 not_(A) -> U221(isBool(A),A) 18.21/19.74 -> SRules: 18.21/19.74 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.74 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.74 ->Strongly Connected Components: 18.21/19.74 ->->Cycle: 18.21/19.74 ->->-> Pairs: 18.21/19.74 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.74 -> FAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) -> _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) -> _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) -> _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) -> _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) -> _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) -> _xor_(x9,x8) 18.21/19.74 _AND_(_and_(x8,x9),x10) -> _AND_(x8,_and_(x9,x10)) 18.21/19.74 _AND_(x8,x9) -> _AND_(x9,x8) 18.21/19.74 -> EAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) = _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 ->->-> Rules: 18.21/19.74 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.74 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.74 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.74 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.74 U134(tt,U') -> U' 18.21/19.74 U141(tt,U) -> U142(isS(U),U) 18.21/19.74 U142(tt,U) -> U 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U221(tt,A) -> _xor_(A,true) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.74 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.74 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.74 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.74 U63(tt) -> false 18.21/19.74 U71(tt) -> true 18.21/19.74 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.74 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.74 U91(tt) -> false 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.74 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.74 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.74 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.74 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 equal(X,X) -> tt 18.21/19.74 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.74 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 not_(false) -> true 18.21/19.74 not_(true) -> false 18.21/19.74 not_(A) -> U221(isBool(A),A) 18.21/19.74 -> SRules: 18.21/19.74 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.74 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.74 18.21/19.74 Problem 1.3: 18.21/19.74 18.21/19.74 Reduction Pairs Processor: 18.21/19.74 -> FAxioms: 18.21/19.74 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.74 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.74 -> Pairs: 18.21/19.74 _AND_(_and_(A,A),x8) -> _AND_(U11(isBool(A),A),x8) 18.21/19.74 -> EAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) = _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 -> Usable Equations: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 -> Rules: 18.21/19.74 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.74 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.74 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.74 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.74 U134(tt,U') -> U' 18.21/19.74 U141(tt,U) -> U142(isS(U),U) 18.21/19.74 U142(tt,U) -> U 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U221(tt,A) -> _xor_(A,true) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.74 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.74 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.74 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.74 U63(tt) -> false 18.21/19.74 U71(tt) -> true 18.21/19.74 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.74 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.74 U91(tt) -> false 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.74 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.74 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.74 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.74 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 equal(X,X) -> tt 18.21/19.74 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.74 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 not_(false) -> true 18.21/19.74 not_(true) -> false 18.21/19.74 not_(A) -> U221(isBool(A),A) 18.21/19.74 -> Usable Rules: 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 -> SRules: 18.21/19.74 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.74 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.74 ->Interpretation type: 18.21/19.74 Simple mixed 18.21/19.74 ->Coefficients: 18.21/19.74 All rationals 18.21/19.74 ->Dimension: 18.21/19.74 1 18.21/19.74 ->Bound: 18.21/19.74 3 18.21/19.74 ->Interpretation: 18.21/19.74 18.21/19.74 [U101](X1,X2,X3) = 0 18.21/19.74 [U102](X1,X2,X3) = 0 18.21/19.74 [U11](X1,X2) = X2 + 1/3 18.21/19.74 [U111](X) = 1/3 18.21/19.74 [U121](X1,X2) = X2 + 1 18.21/19.74 [U131](X1,X2,X3,X4) = 0 18.21/19.74 [U132](X1,X2,X3,X4) = 0 18.21/19.74 [U133](X1,X2,X3) = 0 18.21/19.74 [U134](X1,X2) = 0 18.21/19.74 [U141](X1,X2) = 0 18.21/19.74 [U142](X1,X2) = 0 18.21/19.74 [U151](X1,X2) = X1.X2 + 1/2.X1 + 2.X2 + 2/3 18.21/19.74 [U152](X) = 2/3 18.21/19.74 [U161](X1,X2) = 1/3.X2 + 2/3 18.21/19.74 [U162](X) = 0 18.21/19.74 [U171](X1,X2) = 2/3.X2 + 1/2 18.21/19.74 [U172](X) = 1/2 18.21/19.74 [U181](X1,X2) = X2 + 1 18.21/19.74 [U182](X) = 1 18.21/19.74 [U191](X1,X2) = 1/2.X1 + 2/3.X2 + 2 18.21/19.74 [U192](X) = 0 18.21/19.74 [U201](X1,X2) = 1/3.X1 + 1/2.X2 + 1 18.21/19.74 [U202](X) = 2/3 18.21/19.74 [U21](X1,X2,X3,X4) = 3/2.X2.X3 + 3/2.X2.X4 + 3.X2 + 3/2.X3 + 3/2.X4 + 3 18.21/19.74 [U211](X) = 1/3.X 18.21/19.74 [U22](X1,X2,X3,X4) = 3/2.X2.X3 + 3/2.X2.X4 + 3.X2 + 3/2.X3 + 3/2.X4 + 3 18.21/19.74 [U221](X1,X2) = 0 18.21/19.74 [U23](X1,X2,X3,X4) = 3/2.X2.X3 + 3/2.X2.X4 + 3.X2 + 3/2.X3 + 3/2.X4 + 3 18.21/19.74 [U31](X) = 1/3 18.21/19.74 [U41](X1,X2) = 2.X2 + 1 18.21/19.74 [U51](X1,X2,X3) = 0 18.21/19.74 [U52](X1,X2,X3) = 0 18.21/19.74 [U61](X1,X2,X3) = 0 18.21/19.74 [U62](X1,X2,X3) = 0 18.21/19.74 [U63](X) = 0 18.21/19.74 [U71](X) = 0 18.21/19.74 [U81](X1,X2,X3) = 0 18.21/19.74 [U82](X1,X2,X3) = 0 18.21/19.74 [U91](X) = 0 18.21/19.74 [_and_](X1,X2) = 3/2.X1.X2 + 3/2.X1 + 3/2.X2 + 1/2 18.21/19.74 [_implies_](X1,X2) = 1/2.X1.X2 + 3.X2 + 2/3 18.21/19.74 [_isEqualTo_](X1,X2) = X1.X2 + 1/3.X1 + 2.X2 + 1/3 18.21/19.74 [_isNotEqualTo_](X1,X2) = 1/3.X1 + 2/3.X2 + 2/3 18.21/19.74 [_or_](X1,X2) = 3.X1 + X2 + 3/2 18.21/19.74 [_xor_](X1,X2) = X1 + X2 + 2 18.21/19.74 [equal](X1,X2) = 0 18.21/19.74 [if_then_else_fi](X1,X2,X3) = 0 18.21/19.74 [isBool](X) = 2.X.X + 1/3 18.21/19.74 [not_](X) = 1/2.X.X + 1/3 18.21/19.74 [false] = 1/3 18.21/19.74 [isS](X) = 0 18.21/19.74 [isUniversal](X) = 2.X 18.21/19.74 [true] = 1/3 18.21/19.74 [tt] = 0 18.21/19.74 [U101#](X1,X2,X3) = 0 18.21/19.74 [U102#](X1,X2,X3) = 0 18.21/19.74 [U11#](X1,X2) = 0 18.21/19.74 [U111#](X) = 0 18.21/19.74 [U121#](X1,X2) = 0 18.21/19.74 [U131#](X1,X2,X3,X4) = 0 18.21/19.74 [U132#](X1,X2,X3,X4) = 0 18.21/19.74 [U133#](X1,X2,X3) = 0 18.21/19.74 [U134#](X1,X2) = 0 18.21/19.74 [U141#](X1,X2) = 0 18.21/19.74 [U142#](X1,X2) = 0 18.21/19.74 [U151#](X1,X2) = 0 18.21/19.74 [U152#](X) = 0 18.21/19.74 [U161#](X1,X2) = 0 18.21/19.74 [U162#](X) = 0 18.21/19.74 [U171#](X1,X2) = 0 18.21/19.74 [U172#](X) = 0 18.21/19.74 [U181#](X1,X2) = 0 18.21/19.74 [U182#](X) = 0 18.21/19.74 [U191#](X1,X2) = 0 18.21/19.74 [U192#](X) = 0 18.21/19.74 [U201#](X1,X2) = 0 18.21/19.74 [U202#](X) = 0 18.21/19.74 [U21#](X1,X2,X3,X4) = 0 18.21/19.74 [U211#](X) = 0 18.21/19.74 [U22#](X1,X2,X3,X4) = 0 18.21/19.74 [U221#](X1,X2) = 0 18.21/19.74 [U23#](X1,X2,X3,X4) = 0 18.21/19.74 [U31#](X) = 0 18.21/19.74 [U41#](X1,X2) = 0 18.21/19.74 [U51#](X1,X2,X3) = 0 18.21/19.74 [U52#](X1,X2,X3) = 0 18.21/19.74 [U61#](X1,X2,X3) = 0 18.21/19.74 [U62#](X1,X2,X3) = 0 18.21/19.74 [U63#](X) = 0 18.21/19.74 [U71#](X) = 0 18.21/19.74 [U81#](X1,X2,X3) = 0 18.21/19.74 [U82#](X1,X2,X3) = 0 18.21/19.74 [U91#](X) = 0 18.21/19.74 [_AND_](X1,X2) = 1/3.X1.X2 + 1/3.X1 + 1/3.X2 18.21/19.74 [_IMPLIES_](X1,X2) = 0 18.21/19.74 [_ISEQUALTO_](X1,X2) = 0 18.21/19.74 [_ISNOTEQUALTO_](X1,X2) = 0 18.21/19.74 [_OR_](X1,X2) = 0 18.21/19.74 [_XOR_](X1,X2) = 0 18.21/19.74 [EQUAL](X1,X2) = 0 18.21/19.74 [IF_THEN_ELSE_FI](X1,X2,X3) = 0 18.21/19.74 [ISBOOL](X) = 0 18.21/19.74 [NOT_](X) = 0 18.21/19.74 18.21/19.74 Problem 1.3: 18.21/19.74 18.21/19.74 SCC Processor: 18.21/19.74 -> FAxioms: 18.21/19.74 _AND_(_and_(x8,x9),x10) = _AND_(x8,_and_(x9,x10)) 18.21/19.74 _AND_(x8,x9) = _AND_(x9,x8) 18.21/19.74 -> Pairs: 18.21/19.74 Empty 18.21/19.74 -> EAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) = _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 -> Rules: 18.21/19.74 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.74 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.74 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.74 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.74 U134(tt,U') -> U' 18.21/19.74 U141(tt,U) -> U142(isS(U),U) 18.21/19.74 U142(tt,U) -> U 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U221(tt,A) -> _xor_(A,true) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.74 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.74 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.74 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.74 U63(tt) -> false 18.21/19.74 U71(tt) -> true 18.21/19.74 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.74 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.74 U91(tt) -> false 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.74 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.74 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.74 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.74 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 equal(X,X) -> tt 18.21/19.74 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.74 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 not_(false) -> true 18.21/19.74 not_(true) -> false 18.21/19.74 not_(A) -> U221(isBool(A),A) 18.21/19.74 -> SRules: 18.21/19.74 _AND_(_and_(x8,x9),x10) -> _AND_(x8,x9) 18.21/19.74 _AND_(x8,_and_(x9,x10)) -> _AND_(x9,x10) 18.21/19.74 ->Strongly Connected Components: 18.21/19.74 There is no strongly connected component 18.21/19.74 18.21/19.74 The problem is finite. 18.21/19.74 18.21/19.74 Problem 1.4: 18.21/19.74 18.21/19.74 Reduction Pairs Processor: 18.21/19.74 -> FAxioms: 18.21/19.74 _OR_(_or_(x8,x9),x10) = _OR_(x8,_or_(x9,x10)) 18.21/19.74 _OR_(x8,x9) = _OR_(x9,x8) 18.21/19.74 -> Pairs: 18.21/19.74 _OR_(_or_(A,B),x8) -> _OR_(U101(isBool(A),A,B),x8) 18.21/19.74 -> EAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) = _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 -> Usable Equations: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) = _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 -> Rules: 18.21/19.74 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.74 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.74 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.74 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.74 U134(tt,U') -> U' 18.21/19.74 U141(tt,U) -> U142(isS(U),U) 18.21/19.74 U142(tt,U) -> U 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U221(tt,A) -> _xor_(A,true) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.74 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.74 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.74 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.74 U63(tt) -> false 18.21/19.74 U71(tt) -> true 18.21/19.74 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.74 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.74 U91(tt) -> false 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.74 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.74 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.74 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.74 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 equal(X,X) -> tt 18.21/19.74 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.74 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 not_(false) -> true 18.21/19.74 not_(true) -> false 18.21/19.74 not_(A) -> U221(isBool(A),A) 18.21/19.74 -> Usable Rules: 18.21/19.74 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.74 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 -> SRules: 18.21/19.74 _OR_(_or_(x8,x9),x10) -> _OR_(x8,x9) 18.21/19.74 _OR_(x8,_or_(x9,x10)) -> _OR_(x9,x10) 18.21/19.74 ->Interpretation type: 18.21/19.74 Simple mixed 18.21/19.74 ->Coefficients: 18.21/19.74 All rationals 18.21/19.74 ->Dimension: 18.21/19.74 1 18.21/19.74 ->Bound: 18.21/19.74 3 18.21/19.74 ->Interpretation: 18.21/19.74 18.21/19.74 [U101](X1,X2,X3) = 3.X2.X3 + 3.X2 + 3.X3 + 1 18.21/19.74 [U102](X1,X2,X3) = 3.X2.X3 + 3.X2 + 3.X3 + 2/3 18.21/19.74 [U11](X1,X2) = X2 18.21/19.74 [U111](X) = 1/3 18.21/19.74 [U121](X1,X2) = X2 + 2/3 18.21/19.74 [U131](X1,X2,X3,X4) = 0 18.21/19.74 [U132](X1,X2,X3,X4) = 0 18.21/19.74 [U133](X1,X2,X3) = 0 18.21/19.74 [U134](X1,X2) = 0 18.21/19.74 [U141](X1,X2) = 0 18.21/19.74 [U142](X1,X2) = 0 18.21/19.74 [U151](X1,X2) = 3/2.X1.X2 + X1 18.21/19.74 [U152](X) = 1/3 18.21/19.74 [U161](X1,X2) = 1/3.X1.X2 + X1 + 2/3.X2 + 2 18.21/19.74 [U162](X) = 1/3 18.21/19.74 [U171](X1,X2) = 3.X1.X2 + 3/2.X1 + X2 18.21/19.74 [U172](X) = 1/2 18.21/19.74 [U181](X1,X2) = 3.X2 + 1 18.21/19.74 [U182](X) = 1 18.21/19.74 [U191](X1,X2) = X1.X2 + 2/3.X1 + X2 + 2/3 18.21/19.74 [U192](X) = 1/3 18.21/19.74 [U201](X1,X2) = 3.X2 + 3 18.21/19.74 [U202](X) = 3 18.21/19.74 [U21](X1,X2,X3,X4) = 3.X2.X3 + 3.X2.X4 + 2.X2 + X3 + X4 + 1/3 18.21/19.74 [U211](X) = 1/3 18.21/19.74 [U22](X1,X2,X3,X4) = 3.X2.X3 + 3.X2.X4 + 2.X2 + X3 + X4 + 1/3 18.21/19.74 [U221](X1,X2) = 0 18.21/19.74 [U23](X1,X2,X3,X4) = 3.X2.X3 + 3.X2.X4 + 2.X2 + X3 + X4 + 1/3 18.21/19.74 [U31](X) = 1/3 18.21/19.74 [U41](X1,X2) = 3.X2 + 2/3 18.21/19.74 [U51](X1,X2,X3) = 0 18.21/19.74 [U52](X1,X2,X3) = 0 18.21/19.74 [U61](X1,X2,X3) = 0 18.21/19.74 [U62](X1,X2,X3) = 0 18.21/19.74 [U63](X) = 0 18.21/19.74 [U71](X) = 0 18.21/19.74 [U81](X1,X2,X3) = 0 18.21/19.74 [U82](X1,X2,X3) = 0 18.21/19.74 [U91](X) = 0 18.21/19.74 [_and_](X1,X2) = 3.X1.X2 + X1 + X2 18.21/19.74 [_implies_](X1,X2) = 1/3.X1.X2 + 2.X1 + 1/2.X2 + 2 18.21/19.74 [_isEqualTo_](X1,X2) = 2.X1.X2 + 2.X1 + 1/2.X2 18.21/19.74 [_isNotEqualTo_](X1,X2) = 1/2.X1.X2 + 1/3.X1 + 3.X2 + 2/3 18.21/19.74 [_or_](X1,X2) = 3.X1.X2 + 3.X1 + 3.X2 + 2 18.21/19.74 [_xor_](X1,X2) = X1 + X2 + 1/3 18.21/19.74 [equal](X1,X2) = 0 18.21/19.74 [if_then_else_fi](X1,X2,X3) = 0 18.21/19.74 [isBool](X) = 1/3.X.X + 3.X + 2 18.21/19.74 [not_](X) = 2.X.X + 1/2 18.21/19.74 [false] = 1/3 18.21/19.74 [isS](X) = 0 18.21/19.74 [isUniversal](X) = 1/2.X.X 18.21/19.74 [true] = 1 18.21/19.74 [tt] = 1/3 18.21/19.74 [U101#](X1,X2,X3) = 0 18.21/19.74 [U102#](X1,X2,X3) = 0 18.21/19.74 [U11#](X1,X2) = 0 18.21/19.74 [U111#](X) = 0 18.21/19.74 [U121#](X1,X2) = 0 18.21/19.74 [U131#](X1,X2,X3,X4) = 0 18.21/19.74 [U132#](X1,X2,X3,X4) = 0 18.21/19.74 [U133#](X1,X2,X3) = 0 18.21/19.74 [U134#](X1,X2) = 0 18.21/19.74 [U141#](X1,X2) = 0 18.21/19.74 [U142#](X1,X2) = 0 18.21/19.74 [U151#](X1,X2) = 0 18.21/19.74 [U152#](X) = 0 18.21/19.74 [U161#](X1,X2) = 0 18.21/19.74 [U162#](X) = 0 18.21/19.74 [U171#](X1,X2) = 0 18.21/19.74 [U172#](X) = 0 18.21/19.74 [U181#](X1,X2) = 0 18.21/19.74 [U182#](X) = 0 18.21/19.74 [U191#](X1,X2) = 0 18.21/19.74 [U192#](X) = 0 18.21/19.74 [U201#](X1,X2) = 0 18.21/19.74 [U202#](X) = 0 18.21/19.74 [U21#](X1,X2,X3,X4) = 0 18.21/19.74 [U211#](X) = 0 18.21/19.74 [U22#](X1,X2,X3,X4) = 0 18.21/19.74 [U221#](X1,X2) = 0 18.21/19.74 [U23#](X1,X2,X3,X4) = 0 18.21/19.74 [U31#](X) = 0 18.21/19.74 [U41#](X1,X2) = 0 18.21/19.74 [U51#](X1,X2,X3) = 0 18.21/19.74 [U52#](X1,X2,X3) = 0 18.21/19.74 [U61#](X1,X2,X3) = 0 18.21/19.74 [U62#](X1,X2,X3) = 0 18.21/19.74 [U63#](X) = 0 18.21/19.74 [U71#](X) = 0 18.21/19.74 [U81#](X1,X2,X3) = 0 18.21/19.74 [U82#](X1,X2,X3) = 0 18.21/19.74 [U91#](X) = 0 18.21/19.74 [_AND_](X1,X2) = 0 18.21/19.74 [_IMPLIES_](X1,X2) = 0 18.21/19.74 [_ISEQUALTO_](X1,X2) = 0 18.21/19.74 [_ISNOTEQUALTO_](X1,X2) = 0 18.21/19.74 [_OR_](X1,X2) = 2.X1.X2 + 2.X1 + 2.X2 18.21/19.74 [_XOR_](X1,X2) = 0 18.21/19.74 [EQUAL](X1,X2) = 0 18.21/19.74 [IF_THEN_ELSE_FI](X1,X2,X3) = 0 18.21/19.74 [ISBOOL](X) = 0 18.21/19.74 [NOT_](X) = 0 18.21/19.74 18.21/19.74 Problem 1.4: 18.21/19.74 18.21/19.74 SCC Processor: 18.21/19.74 -> FAxioms: 18.21/19.74 _OR_(_or_(x8,x9),x10) = _OR_(x8,_or_(x9,x10)) 18.21/19.74 _OR_(x8,x9) = _OR_(x9,x8) 18.21/19.74 -> Pairs: 18.21/19.74 Empty 18.21/19.74 -> EAxioms: 18.21/19.74 _and_(_and_(x8,x9),x10) = _and_(x8,_and_(x9,x10)) 18.21/19.74 _and_(x8,x9) = _and_(x9,x8) 18.21/19.74 _or_(_or_(x8,x9),x10) = _or_(x8,_or_(x9,x10)) 18.21/19.74 _or_(x8,x9) = _or_(x9,x8) 18.21/19.74 _xor_(_xor_(x8,x9),x10) = _xor_(x8,_xor_(x9,x10)) 18.21/19.74 _xor_(x8,x9) = _xor_(x9,x8) 18.21/19.74 -> Rules: 18.21/19.74 U101(tt,A,B) -> U102(isBool(B),A,B) 18.21/19.74 U102(tt,A,B) -> _xor_(_and_(A,B),_xor_(A,B)) 18.21/19.74 U11(tt,A) -> A 18.21/19.74 U111(tt) -> false 18.21/19.74 U121(tt,A) -> A 18.21/19.74 U131(tt,B,U',U) -> U132(isS(U'),B,U',U) 18.21/19.74 U132(tt,B,U',U) -> U133(isS(U),B,U') 18.21/19.74 U133(tt,B,U') -> U134(equal(_isNotEqualTo_(B,true),true),U') 18.21/19.74 U134(tt,U') -> U' 18.21/19.74 U141(tt,U) -> U142(isS(U),U) 18.21/19.74 U142(tt,U) -> U 18.21/19.74 U151(tt,V2) -> U152(isBool(V2)) 18.21/19.74 U152(tt) -> tt 18.21/19.74 U161(tt,V2) -> U162(isBool(V2)) 18.21/19.74 U162(tt) -> tt 18.21/19.74 U171(tt,V2) -> U172(isUniversal(V2)) 18.21/19.74 U172(tt) -> tt 18.21/19.74 U181(tt,V2) -> U182(isUniversal(V2)) 18.21/19.74 U182(tt) -> tt 18.21/19.74 U191(tt,V2) -> U192(isBool(V2)) 18.21/19.74 U192(tt) -> tt 18.21/19.74 U201(tt,V2) -> U202(isBool(V2)) 18.21/19.74 U202(tt) -> tt 18.21/19.74 U21(tt,A,B,C) -> U22(isBool(B),A,B,C) 18.21/19.74 U211(tt) -> tt 18.21/19.74 U22(tt,A,B,C) -> U23(isBool(C),A,B,C) 18.21/19.74 U221(tt,A) -> _xor_(A,true) 18.21/19.74 U23(tt,A,B,C) -> _xor_(_and_(A,B),_and_(A,C)) 18.21/19.74 U31(tt) -> false 18.21/19.74 U41(tt,A) -> A 18.21/19.74 U51(tt,A,B) -> U52(isBool(B),A,B) 18.21/19.74 U52(tt,A,B) -> not_(_xor_(A,_and_(A,B))) 18.21/19.74 U61(tt,U',U) -> U62(isS(U),U',U) 18.21/19.74 U62(tt,U',U) -> U63(equal(_isNotEqualTo_(U,U'),true)) 18.21/19.74 U63(tt) -> false 18.21/19.74 U71(tt) -> true 18.21/19.74 U81(tt,U',U) -> U82(isS(U),U',U) 18.21/19.74 U82(tt,U',U) -> if_then_else_fi(_isEqualTo_(U,U'),false,true) 18.21/19.74 U91(tt) -> false 18.21/19.74 _and_(false,A) -> U31(isBool(A)) 18.21/19.74 _and_(true,A) -> U41(isBool(A),A) 18.21/19.74 _and_(A,_xor_(B,C)) -> U21(isBool(A),A,B,C) 18.21/19.74 _and_(A,A) -> U11(isBool(A),A) 18.21/19.74 _implies_(A,B) -> U51(isBool(A),A,B) 18.21/19.74 _isEqualTo_(U,U) -> U71(isS(U)) 18.21/19.74 _isEqualTo_(U,U') -> U61(isS(U'),U',U) 18.21/19.74 _isNotEqualTo_(U,U) -> U91(isS(U)) 18.21/19.74 _isNotEqualTo_(U,U') -> U81(isS(U'),U',U) 18.21/19.74 _or_(A,B) -> U101(isBool(A),A,B) 18.21/19.74 _xor_(false,A) -> U121(isBool(A),A) 18.21/19.74 _xor_(A,A) -> U111(isBool(A)) 18.21/19.74 equal(X,X) -> tt 18.21/19.74 if_then_else_fi(true,U,U') -> U141(isS(U'),U) 18.21/19.74 if_then_else_fi(B,U,U') -> U131(isBool(B),B,U',U) 18.21/19.74 isBool(_and_(V1,V2)) -> U151(isBool(V1),V2) 18.21/19.74 isBool(_implies_(V1,V2)) -> U161(isBool(V1),V2) 18.21/19.74 isBool(_isEqualTo_(V1,V2)) -> U171(isUniversal(V1),V2) 18.21/19.74 isBool(_isNotEqualTo_(V1,V2)) -> U181(isUniversal(V1),V2) 18.21/19.74 isBool(_or_(V1,V2)) -> U191(isBool(V1),V2) 18.21/19.74 isBool(_xor_(V1,V2)) -> U201(isBool(V1),V2) 18.21/19.74 isBool(not_(V1)) -> U211(isBool(V1)) 18.21/19.74 isBool(false) -> tt 18.21/19.74 isBool(true) -> tt 18.21/19.74 not_(false) -> true 18.21/19.74 not_(true) -> false 18.21/19.74 not_(A) -> U221(isBool(A),A) 18.21/19.74 -> SRules: 18.21/19.74 _OR_(_or_(x8,x9),x10) -> _OR_(x8,x9) 18.21/19.74 _OR_(x8,_or_(x9,x10)) -> _OR_(x9,x10) 18.21/19.74 ->Strongly Connected Components: 18.21/19.74 There is no strongly connected component 18.21/19.74 18.21/19.74 The problem is finite. 18.21/19.74 EOF