YES Problem 1: (VAR v_NonEmpty:S A:S B:S F:S F1:S F2:S Fs:S G1:S G2:S Gs:S Left:S NF:S Right:S V:S X:S X0:S X1:S Xs:S Ys:S) (RULES intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ) Problem 1: Dependency Pairs Processor: -> Pairs: INTERSECT'II'IN(cons(X0:S,Xs:S),Ys:S) -> INTERSECT'II'IN(Xs:S,Ys:S) INTERSECT'II'IN(cons(X0:S,Xs:S),Ys:S) -> U'2'1(intersect'ii'in(Xs:S,Ys:S)) INTERSECT'II'IN(Xs:S,cons(X0:S,Ys:S)) -> INTERSECT'II'IN(Xs:S,Ys:S) INTERSECT'II'IN(Xs:S,cons(X0:S,Ys:S)) -> U'1'1(intersect'ii'in(Xs:S,Ys:S)) REDUCE'II'IN(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> U'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) REDUCE'II'IN(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> U'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> U'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> U'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> U'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) REDUCE'II'IN(sequent(nil,nil),sequent(F1:S,F2:S)) -> INTERSECT'II'IN(F1:S,F2:S) REDUCE'II'IN(sequent(nil,nil),sequent(F1:S,F2:S)) -> U'15'1(intersect'ii'in(F1:S,F2:S)) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> U'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> U'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> U'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> U'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) TAUTOLOGY'I'IN(F:S) -> REDUCE'II'IN(sequent(nil,cons(F:S,nil)),sequent(nil,nil)) TAUTOLOGY'I'IN(F:S) -> U'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> U'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> U'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1: SCC Processor: -> Pairs: INTERSECT'II'IN(cons(X0:S,Xs:S),Ys:S) -> INTERSECT'II'IN(Xs:S,Ys:S) INTERSECT'II'IN(cons(X0:S,Xs:S),Ys:S) -> U'2'1(intersect'ii'in(Xs:S,Ys:S)) INTERSECT'II'IN(Xs:S,cons(X0:S,Ys:S)) -> INTERSECT'II'IN(Xs:S,Ys:S) INTERSECT'II'IN(Xs:S,cons(X0:S,Ys:S)) -> U'1'1(intersect'ii'in(Xs:S,Ys:S)) REDUCE'II'IN(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> U'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) REDUCE'II'IN(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> U'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> U'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> U'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> U'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) REDUCE'II'IN(sequent(nil,nil),sequent(F1:S,F2:S)) -> INTERSECT'II'IN(F1:S,F2:S) REDUCE'II'IN(sequent(nil,nil),sequent(F1:S,F2:S)) -> U'15'1(intersect'ii'in(F1:S,F2:S)) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> U'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> U'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> U'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> U'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) TAUTOLOGY'I'IN(F:S) -> REDUCE'II'IN(sequent(nil,cons(F:S,nil)),sequent(nil,nil)) TAUTOLOGY'I'IN(F:S) -> U'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> U'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> U'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: INTERSECT'II'IN(cons(X0:S,Xs:S),Ys:S) -> INTERSECT'II'IN(Xs:S,Ys:S) INTERSECT'II'IN(Xs:S,cons(X0:S,Ys:S)) -> INTERSECT'II'IN(Xs:S,Ys:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out The problem is decomposed in 2 subproblems. Problem 1.1: Subterm Processor: -> Pairs: INTERSECT'II'IN(cons(X0:S,Xs:S),Ys:S) -> INTERSECT'II'IN(Xs:S,Ys:S) INTERSECT'II'IN(Xs:S,cons(X0:S,Ys:S)) -> INTERSECT'II'IN(Xs:S,Ys:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Projection: pi(INTERSECT'II'IN) = 1 Problem 1.1: SCC Processor: -> Pairs: INTERSECT'II'IN(Xs:S,cons(X0:S,Ys:S)) -> INTERSECT'II'IN(Xs:S,Ys:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: INTERSECT'II'IN(Xs:S,cons(X0:S,Ys:S)) -> INTERSECT'II'IN(Xs:S,Ys:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.1: Subterm Processor: -> Pairs: INTERSECT'II'IN(Xs:S,cons(X0:S,Ys:S)) -> INTERSECT'II'IN(Xs:S,Ys:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Projection: pi(INTERSECT'II'IN) = 2 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = 0 [reduce'ii'in](X1,X2) = 2.X1 + 2.X2 + 2 [u'1'1](X) = 2.X [u'10'1](X) = X [u'11'1](X) = X [u'12'1](X1,X2,X3,X4,X5) = 2.X2 + X3 + X4 + 2.X5 + 2 [u'12'2](X) = 2 [u'13'1](X) = 2 [u'14'1](X) = 2 [u'15'1](X) = 2 [u'2'1](X) = 2.X [u'3'1](X) = X + 2 [u'4'1](X) = X [u'5'1](X) = 2 [u'6'1](X1,X2,X3,X4,X5) = X2 + 2.X3 + 2.X4 + 2.X5 + 2 [u'6'2](X) = 2 [u'7'1](X) = 2 [u'8'1](X) = X [u'9'1](X) = 2 [cons](X1,X2) = X1 + X2 [if](X1,X2) = X1 + X2 + 1 [iff](X1,X2) = 2.X1 + 2.X2 + 2 [intersect'ii'out] = 0 [nil] = 2 [p](X) = 2.X + 2 [reduce'ii'out] = 2 [sequent](X1,X2) = 2.X1 + 2.X2 + 2 [x'2a](X1,X2) = X1 + X2 [x'2b](X1,X2) = X1 + X2 [x'2d](X) = X [REDUCE'II'IN](X1,X2) = X1 + X2 [U'12'1](X1,X2,X3,X4,X5) = 2.X2 + 2.X3 + 2.X4 + X5 + 2 [U'6'1](X1,X2,X3,X4,X5) = 2.X2 + 2.X3 + 2.X4 + X5 + 2 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = X1 + X2 + 2 [reduce'ii'in](X1,X2) = 2.X1 + 2.X2 + 2 [u'1'1](X) = 2 [u'10'1](X) = X [u'11'1](X) = X [u'12'1](X1,X2,X3,X4,X5) = X1 + X3 + 2 [u'12'2](X) = 2 [u'13'1](X) = 2 [u'14'1](X) = 2 [u'15'1](X) = 2.X + 2 [u'2'1](X) = X [u'3'1](X) = 2 [u'4'1](X) = X [u'5'1](X) = X + 2 [u'6'1](X1,X2,X3,X4,X5) = X1 + 2.X2 [u'6'2](X) = 2 [u'7'1](X) = 2 [u'8'1](X) = X [u'9'1](X) = 2 [cons](X1,X2) = 2.X1 + X2 [if](X1,X2) = X1 + X2 [iff](X1,X2) = 2.X1 + 2.X2 + 2 [intersect'ii'out] = 2 [nil] = 2 [p](X) = 2.X + 2 [reduce'ii'out] = 2 [sequent](X1,X2) = X1 + X2 [x'2a](X1,X2) = X1 + X2 + 1 [x'2b](X1,X2) = X1 + X2 [x'2d](X) = X [REDUCE'II'IN](X1,X2) = X1 + 2 [U'12'1](X1,X2,X3,X4,X5) = X2 + 2.X3 + X4 + 2 [U'6'1](X1,X2,X3,X4,X5) = 2.X2 + X3 + X4 + 2 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S)) REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = 2.X1 + 2 [reduce'ii'in](X1,X2) = 2 [u'1'1](X) = X [u'10'1](X) = X [u'11'1](X) = X [u'12'1](X1,X2,X3,X4,X5) = X1 [u'12'2](X) = 2 [u'13'1](X) = 2 [u'14'1](X) = 2 [u'15'1](X) = 2 [u'2'1](X) = 2 [u'3'1](X) = 2 [u'4'1](X) = 2 [u'5'1](X) = 2 [u'6'1](X1,X2,X3,X4,X5) = 2 [u'6'2](X) = 2 [u'7'1](X) = 2 [u'8'1](X) = 2 [u'9'1](X) = 2 [cons](X1,X2) = X1 + X2 [if](X1,X2) = X1 + X2 [iff](X1,X2) = 2.X1 + 2.X2 + 2 [intersect'ii'out] = 2 [nil] = 1 [p](X) = 2 [reduce'ii'out] = 2 [sequent](X1,X2) = X1 + X2 + 2 [x'2a](X1,X2) = X1 + X2 + 2 [x'2b](X1,X2) = X1 + X2 [x'2d](X) = X [REDUCE'II'IN](X1,X2) = 2.X1 + X2 + 2 [U'12'1](X1,X2,X3,X4,X5) = 2.X1 + 2.X2 + 2.X3 + 2.X4 + X5 + 2 [U'6'1](X1,X2,X3,X4,X5) = 2.X1 + 2.X2 + 2.X3 + 2.X4 + X5 + 2 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = 0 [reduce'ii'in](X1,X2) = 0 [u'1'1](X) = 0 [u'10'1](X) = 2.X [u'11'1](X) = 0 [u'12'1](X1,X2,X3,X4,X5) = 2.X1 [u'12'2](X) = 0 [u'13'1](X) = 2.X [u'14'1](X) = 0 [u'15'1](X) = 0 [u'2'1](X) = 2.X [u'3'1](X) = 2.X [u'4'1](X) = 2.X [u'5'1](X) = 0 [u'6'1](X1,X2,X3,X4,X5) = 0 [u'6'2](X) = 2.X [u'7'1](X) = 2.X [u'8'1](X) = 2.X [u'9'1](X) = 2.X [cons](X1,X2) = X1 + X2 [if](X1,X2) = X1 + X2 [iff](X1,X2) = 2.X1 + 2.X2 + 2 [intersect'ii'out] = 0 [nil] = 2 [p](X) = 2.X + 1 [reduce'ii'out] = 0 [sequent](X1,X2) = 2.X1 + 2.X2 [x'2a](X1,X2) = X1 + X2 + 2 [x'2b](X1,X2) = X1 + X2 [x'2d](X) = X [REDUCE'II'IN](X1,X2) = X1 + 1 [U'12'1](X1,X2,X3,X4,X5) = 2.X1 + 2.X2 + 2.X3 + 2.X4 + 1 [U'6'1](X1,X2,X3,X4,X5) = 2.X1 + 2.X2 + 2.X3 + 2.X4 + 1 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(cons(F1:S,Fs:S),Gs:S),NF:S) REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = 0 [reduce'ii'in](X1,X2) = 1 [u'1'1](X) = 0 [u'10'1](X) = 1 [u'11'1](X) = X [u'12'1](X1,X2,X3,X4,X5) = 1 [u'12'2](X) = 1 [u'13'1](X) = 1 [u'14'1](X) = 1 [u'15'1](X) = 1 [u'2'1](X) = 2.X [u'3'1](X) = 1 [u'4'1](X) = 1 [u'5'1](X) = X [u'6'1](X1,X2,X3,X4,X5) = X1 [u'6'2](X) = 1 [u'7'1](X) = X [u'8'1](X) = 1 [u'9'1](X) = 1 [cons](X1,X2) = X1 + X2 [if](X1,X2) = X1 + X2 + 1 [iff](X1,X2) = 2.X1 + 2.X2 + 2 [intersect'ii'out] = 0 [nil] = 2 [p](X) = 0 [reduce'ii'out] = 1 [sequent](X1,X2) = 2.X1 + 2.X2 + 2 [x'2a](X1,X2) = X1 + X2 [x'2b](X1,X2) = X1 + X2 + 1 [x'2d](X) = X [REDUCE'II'IN](X1,X2) = X1 + 2.X2 + 2 [U'12'1](X1,X2,X3,X4,X5) = 2.X1 + 2.X2 + 2.X3 + 2.X4 + 2.X5 + 2 [U'6'1](X1,X2,X3,X4,X5) = 2.X1 + 2.X2 + 2.X3 + 2.X4 + 2.X5 + 2 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> U'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = X1 + X2 + 2 [reduce'ii'in](X1,X2) = 2.X1 + 2.X2 + 2 [u'1'1](X) = X [u'10'1](X) = 2 [u'11'1](X) = 2 [u'12'1](X1,X2,X3,X4,X5) = X1 + X3 [u'12'2](X) = 2 [u'13'1](X) = X [u'14'1](X) = 2 [u'15'1](X) = 2.X + 2 [u'2'1](X) = X [u'3'1](X) = 2 [u'4'1](X) = 2 [u'5'1](X) = 2 [u'6'1](X1,X2,X3,X4,X5) = X2 + 2.X3 + 2.X4 + 2 [u'6'2](X) = 2 [u'7'1](X) = 2 [u'8'1](X) = 2 [u'9'1](X) = 2 [cons](X1,X2) = 2.X1 + X2 + 1 [if](X1,X2) = X1 + X2 + 1 [iff](X1,X2) = 2.X1 + 2.X2 + 2 [intersect'ii'out] = 2 [nil] = 2 [p](X) = 2.X + 2 [reduce'ii'out] = 2 [sequent](X1,X2) = X1 + X2 + 1 [x'2a](X1,X2) = X1 + X2 [x'2b](X1,X2) = X1 + X2 + 1 [x'2d](X) = X [REDUCE'II'IN](X1,X2) = X1 + X2 [U'12'1](X1,X2,X3,X4,X5) = X2 + 2.X3 + X4 + X5 + 2 [U'6'1](X1,X2,X3,X4,X5) = 2.X2 + X3 + X4 + X5 + 2 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) U'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(cons(F2:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = 0 [reduce'ii'in](X1,X2) = 0 [u'1'1](X) = 0 [u'10'1](X) = 2.X [u'11'1](X) = 0 [u'12'1](X1,X2,X3,X4,X5) = 2.X1 [u'12'2](X) = 0 [u'13'1](X) = 2.X [u'14'1](X) = 2.X [u'15'1](X) = 0 [u'2'1](X) = 2.X [u'3'1](X) = 2.X [u'4'1](X) = 2.X [u'5'1](X) = 2.X [u'6'1](X1,X2,X3,X4,X5) = 2.X1 [u'6'2](X) = 2.X [u'7'1](X) = 2.X [u'8'1](X) = 2.X [u'9'1](X) = 2.X [cons](X1,X2) = X1 + X2 [if](X1,X2) = X1 + X2 + 1 [iff](X1,X2) = 2.X1 + 2.X2 + 2 [intersect'ii'out] = 0 [nil] = 1 [p](X) = 2.X + 1 [reduce'ii'out] = 0 [sequent](X1,X2) = 2.X1 + 2.X2 [x'2a](X1,X2) = X1 + X2 [x'2b](X1,X2) = X1 + X2 [x'2d](X) = X + 1 [REDUCE'II'IN](X1,X2) = X1 [U'12'1](X1,X2,X3,X4,X5) = X1 + 2.X2 + 2.X3 + 2.X4 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> REDUCE'II'IN(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S))) REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = 0 [reduce'ii'in](X1,X2) = 0 [u'1'1](X) = 0 [u'10'1](X) = 2.X [u'11'1](X) = 0 [u'12'1](X1,X2,X3,X4,X5) = 2.X1 [u'12'2](X) = 2.X [u'13'1](X) = 2.X [u'14'1](X) = 2.X [u'15'1](X) = 0 [u'2'1](X) = 2.X [u'3'1](X) = 2.X [u'4'1](X) = 2.X [u'5'1](X) = 2.X [u'6'1](X1,X2,X3,X4,X5) = 2.X1 [u'6'2](X) = 2.X [u'7'1](X) = 2.X [u'8'1](X) = 0 [u'9'1](X) = 2.X [cons](X1,X2) = 2.X1 + X2 [if](X1,X2) = X1 [iff](X1,X2) = X1 + X2 + 2 [intersect'ii'out] = 0 [nil] = 2 [p](X) = 2.X + 2 [reduce'ii'out] = 0 [sequent](X1,X2) = X2 [x'2a](X1,X2) = X1 + X2 + 2 [x'2b](X1,X2) = 2.X1 + X2 [x'2d](X) = 0 [REDUCE'II'IN](X1,X2) = X1 + 2 [U'12'1](X1,X2,X3,X4,X5) = 2.X1 + 2.X3 + X4 + 2 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = X1 + 2.X2 + 2 [reduce'ii'in](X1,X2) = 2.X1 + 2.X2 + 2 [u'1'1](X) = 2 [u'10'1](X) = 2 [u'11'1](X) = 2 [u'12'1](X1,X2,X3,X4,X5) = 2.X2 + 2.X3 + 2.X4 + 2.X5 + 2 [u'12'2](X) = 2 [u'13'1](X) = X [u'14'1](X) = 2 [u'15'1](X) = X + 2 [u'2'1](X) = 2 [u'3'1](X) = 2 [u'4'1](X) = 2 [u'5'1](X) = 2 [u'6'1](X1,X2,X3,X4,X5) = X1 [u'6'2](X) = 2 [u'7'1](X) = 2 [u'8'1](X) = X + 2 [u'9'1](X) = 2 [cons](X1,X2) = 2.X1 + X2 [if](X1,X2) = X1 + X2 + 1 [iff](X1,X2) = 2.X1 + 2.X2 + 2 [intersect'ii'out] = 2 [nil] = 1 [p](X) = 2.X + 1 [reduce'ii'out] = 2 [sequent](X1,X2) = X1 + X2 + 2 [x'2a](X1,X2) = X1 + X2 [x'2b](X1,X2) = X1 + X2 [x'2d](X) = X [REDUCE'II'IN](X1,X2) = X1 + 2.X2 [U'12'1](X1,X2,X3,X4,X5) = X2 + 2.X3 + X4 + 2.X5 + 2 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = X1 + 2 [reduce'ii'in](X1,X2) = 2.X1 [u'1'1](X) = 2 [u'10'1](X) = X + 2 [u'11'1](X) = 1 [u'12'1](X1,X2,X3,X4,X5) = 2.X2 + 2.X3 + 2 [u'12'2](X) = 1 [u'13'1](X) = 2 [u'14'1](X) = X + 1 [u'15'1](X) = 2 [u'2'1](X) = X + 2 [u'3'1](X) = 1 [u'4'1](X) = X + 2 [u'5'1](X) = 1 [u'6'1](X1,X2,X3,X4,X5) = X1 + 2.X2 + 2 [u'6'2](X) = 2 [u'7'1](X) = X + 2 [u'8'1](X) = 1 [u'9'1](X) = 2 [cons](X1,X2) = X1 + X2 + 2 [if](X1,X2) = 0 [iff](X1,X2) = 2.X1 + X2 + 2 [intersect'ii'out] = 2 [nil] = 1 [p](X) = 2.X + 2 [reduce'ii'out] = 1 [sequent](X1,X2) = 2.X1 + X2 [x'2a](X1,X2) = 2.X1 + 2.X2 + 1 [x'2b](X1,X2) = 2.X1 + X2 + 2 [x'2d](X) = 2.X + 2 [REDUCE'II'IN](X1,X2) = X1 + 2.X2 [U'12'1](X1,X2,X3,X4,X5) = 2.X2 + X3 + X4 + 2.X5 + 2 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = 1 [reduce'ii'in](X1,X2) = 2 [u'1'1](X) = X [u'10'1](X) = 2 [u'11'1](X) = 2 [u'12'1](X1,X2,X3,X4,X5) = 2 [u'12'2](X) = 2 [u'13'1](X) = 2 [u'14'1](X) = 2 [u'15'1](X) = X + 1 [u'2'1](X) = 1 [u'3'1](X) = 2 [u'4'1](X) = 2 [u'5'1](X) = X [u'6'1](X1,X2,X3,X4,X5) = 2 [u'6'2](X) = 2 [u'7'1](X) = 2 [u'8'1](X) = 2 [u'9'1](X) = X [cons](X1,X2) = X1 + X2 [if](X1,X2) = X1 + 2.X2 [iff](X1,X2) = 2.X2 [intersect'ii'out] = 1 [nil] = 2 [p](X) = 2.X [reduce'ii'out] = 2 [sequent](X1,X2) = 2.X1 + 2.X2 + 2 [x'2a](X1,X2) = 2.X1 + 2.X2 + 2 [x'2b](X1,X2) = 2.X1 + 2.X2 [x'2d](X) = 2.X [REDUCE'II'IN](X1,X2) = X1 + 2.X2 + 2 [U'12'1](X1,X2,X3,X4,X5) = 2.X1 + 2.X2 + 2.X3 + 2.X4 + 2.X5 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> U'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [intersect'ii'in](X1,X2) = 2.X1 + 2.X2 + 2 [reduce'ii'in](X1,X2) = 0 [u'1'1](X) = X + 2 [u'10'1](X) = 2.X [u'11'1](X) = 2.X [u'12'1](X1,X2,X3,X4,X5) = 0 [u'12'2](X) = 0 [u'13'1](X) = 2.X [u'14'1](X) = 0 [u'15'1](X) = 0 [u'2'1](X) = X [u'3'1](X) = 2.X [u'4'1](X) = 0 [u'5'1](X) = 2.X [u'6'1](X1,X2,X3,X4,X5) = 0 [u'6'2](X) = 2.X [u'7'1](X) = 0 [u'8'1](X) = 0 [u'9'1](X) = 2.X [cons](X1,X2) = X1 + X2 + 1 [if](X1,X2) = 2.X2 [iff](X1,X2) = 2.X1 + 2.X2 + 2 [intersect'ii'out] = 2 [nil] = 2 [p](X) = 2.X + 2 [reduce'ii'out] = 0 [sequent](X1,X2) = X2 [x'2a](X1,X2) = 2.X1 + X2 + 2 [x'2b](X1,X2) = 2.X1 + 2.X2 + 2 [x'2d](X) = 2 [REDUCE'II'IN](X1,X2) = 2.X1 + 2.X2 [U'12'1](X1,X2,X3,X4,X5) = 2.X3 + 2.X4 + 2.X5 + 2 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) U'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S) REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: Empty ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [cons](X1,X2) = X1 + X2 [sequent](X1,X2) = 2.X1 + X2 [x'2b](X1,X2) = 2.X1 + 2.X2 + 1 [x'2d](X) = 2.X + 2 [REDUCE'II'IN](X1,X2) = X1 Problem 1.2: SCC Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) ->->-> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out Problem 1.2: Reduction Pair Processor: -> Pairs: REDUCE'II'IN(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> REDUCE'II'IN(sequent(cons(G1:S,Fs:S),Gs:S),NF:S) -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out -> Usable rules: Empty ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [cons](X1,X2) = 2.X2 + 2 [sequent](X1,X2) = 2.X2 [x'2d](X) = 2 [REDUCE'II'IN](X1,X2) = 2.X1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: intersect'ii'in(cons(X:S,X0:S),cons(X:S,X1:S)) -> intersect'ii'out intersect'ii'in(cons(X0:S,Xs:S),Ys:S) -> u'2'1(intersect'ii'in(Xs:S,Ys:S)) intersect'ii'in(Xs:S,cons(X0:S,Ys:S)) -> u'1'1(intersect'ii'in(Xs:S,Ys:S)) reduce'ii'in(sequent(cons(if(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'3'1(reduce'ii'in(sequent(cons(x'2b(x'2d(B:S),A:S),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(iff(A:S,B:S),Fs:S),Gs:S),NF:S) -> u'4'1(reduce'ii'in(sequent(cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Fs:S),Gs:S),NF:S)) reduce'ii'in(sequent(cons(p(V:S),Fs:S),Gs:S),sequent(Left:S,Right:S)) -> u'10'1(reduce'ii'in(sequent(Fs:S,Gs:S),sequent(cons(p(V:S),Left:S),Right:S))) reduce'ii'in(sequent(cons(x'2a(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'5'1(reduce'ii'in(sequent(cons(F1:S,cons(F2:S,Fs:S)),Gs:S),NF:S)) reduce'ii'in(sequent(cons(x'2b(F1:S,F2:S),Fs:S),Gs:S),NF:S) -> u'6'1(reduce'ii'in(sequent(cons(F1:S,Fs:S),Gs:S),NF:S),F2:S,Fs:S,Gs:S,NF:S) reduce'ii'in(sequent(cons(x'2d(F1:S),Fs:S),Gs:S),NF:S) -> u'7'1(reduce'ii'in(sequent(Fs:S,cons(F1:S,Gs:S)),NF:S)) reduce'ii'in(sequent(nil,cons(p(V:S),Gs:S)),sequent(Left:S,Right:S)) -> u'14'1(reduce'ii'in(sequent(nil,Gs:S),sequent(Left:S,cons(p(V:S),Right:S)))) reduce'ii'in(sequent(nil,nil),sequent(F1:S,F2:S)) -> u'15'1(intersect'ii'in(F1:S,F2:S)) reduce'ii'in(sequent(Fs:S,cons(if(A:S,B:S),Gs:S)),NF:S) -> u'8'1(reduce'ii'in(sequent(Fs:S,cons(x'2b(x'2d(B:S),A:S),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(iff(A:S,B:S),Gs:S)),NF:S) -> u'9'1(reduce'ii'in(sequent(Fs:S,cons(x'2a(if(A:S,B:S),if(B:S,A:S)),Gs:S)),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2a(G1:S,G2:S),Gs:S)),NF:S) -> u'12'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,Gs:S)),NF:S),Fs:S,G2:S,Gs:S,NF:S) reduce'ii'in(sequent(Fs:S,cons(x'2b(G1:S,G2:S),Gs:S)),NF:S) -> u'11'1(reduce'ii'in(sequent(Fs:S,cons(G1:S,cons(G2:S,Gs:S))),NF:S)) reduce'ii'in(sequent(Fs:S,cons(x'2d(G1:S),Gs:S)),NF:S) -> u'13'1(reduce'ii'in(sequent(cons(G1:S,Fs:S),Gs:S),NF:S)) tautology'i'in(F:S) -> u'16'1(reduce'ii'in(sequent(nil,cons(F:S,nil)),sequent(nil,nil))) u'1'1(intersect'ii'out) -> intersect'ii'out u'10'1(reduce'ii'out) -> reduce'ii'out u'11'1(reduce'ii'out) -> reduce'ii'out u'12'1(reduce'ii'out,Fs:S,G2:S,Gs:S,NF:S) -> u'12'2(reduce'ii'in(sequent(Fs:S,cons(G2:S,Gs:S)),NF:S)) u'12'2(reduce'ii'out) -> reduce'ii'out u'13'1(reduce'ii'out) -> reduce'ii'out u'14'1(reduce'ii'out) -> reduce'ii'out u'15'1(intersect'ii'out) -> reduce'ii'out u'16'1(reduce'ii'out) -> tautology'i'out u'2'1(intersect'ii'out) -> intersect'ii'out u'3'1(reduce'ii'out) -> reduce'ii'out u'4'1(reduce'ii'out) -> reduce'ii'out u'5'1(reduce'ii'out) -> reduce'ii'out u'6'1(reduce'ii'out,F2:S,Fs:S,Gs:S,NF:S) -> u'6'2(reduce'ii'in(sequent(cons(F2:S,Fs:S),Gs:S),NF:S)) u'6'2(reduce'ii'out) -> reduce'ii'out u'7'1(reduce'ii'out) -> reduce'ii'out u'8'1(reduce'ii'out) -> reduce'ii'out u'9'1(reduce'ii'out) -> reduce'ii'out ->Strongly Connected Components: There is no strongly connected component The problem is finite.