4.17/3.15 MAYBE 4.17/3.16 Input TRS: 4.17/3.16 1: RAo(R()) -> R() 4.17/3.16 2: RAn(R()) -> R() 4.17/3.16 3: WAo(W()) -> W() 4.17/3.16 4: WAn(W()) -> W() 4.17/3.16 5: Rw() ->= RIn(Rw()) 4.17/3.16 6: Ww() ->= WIn(Ww()) 4.17/3.16 7: top(ok(sys_r(read(r,RIo(x)),write(W(),Ww())))) ->= top(check(sys_r(read(RAo(r),x),write(W(),Ww())))) 4.17/3.16 8: top(ok(sys_w(read(r,RIo(x)),write(W(),Ww())))) ->= top(check(sys_w(read(RAo(r),x),write(W(),Ww())))) 4.17/3.16 9: top(ok(sys_r(read(r,RIn(x)),write(W(),Ww())))) ->= top(check(sys_r(read(RAn(r),x),write(W(),Ww())))) 4.17/3.16 10: top(ok(sys_w(read(r,RIn(x)),write(W(),Ww())))) ->= top(check(sys_w(read(RAn(r),x),write(W(),Ww())))) 4.17/3.16 11: top(ok(sys_r(read(R(),Rw()),write(W(),WIn(y))))) ->= top(check(sys_r(read(R(),Rw()),write(WAn(W()),y)))) 4.17/3.16 12: top(ok(sys_w(read(R(),Rw()),write(W(),WIn(y))))) ->= top(check(sys_w(read(R(),Rw()),write(WAn(W()),y)))) 4.17/3.16 13: top(ok(sys_r(read(R(),Rw()),write(W(),WIo(y))))) ->= top(check(sys_r(read(R(),Rw()),write(WAo(W()),y)))) 4.17/3.16 14: top(ok(sys_w(read(R(),Rw()),write(W(),WIo(y))))) ->= top(check(sys_w(read(R(),Rw()),write(WAo(W()),y)))) 4.17/3.16 15: top(ok(sys_r(read(r,RIo(x)),write(W(),y)))) ->= top(check(sys_w(read(RAo(r),x),write(W(),y)))) 4.17/3.16 16: top(ok(sys_r(read(r,RIn(x)),write(W(),y)))) ->= top(check(sys_w(read(RAn(r),x),write(W(),y)))) 4.17/3.16 17: top(ok(sys_w(read(R(),x),write(W(),WIo(y))))) ->= top(check(sys_r(read(R(),x),write(WAo(W()),y)))) 4.17/3.16 18: top(ok(sys_w(read(R(),x),write(W(),WIn(y))))) ->= top(check(sys_r(read(R(),x),write(WAn(W()),y)))) 4.17/3.16 19: check(RIo(x)) ->= ok(RIo(x)) 4.17/3.16 20: check(RAo(x)) ->= RAo(check(x)) 4.17/3.16 21: check(RAn(x)) ->= RAn(check(x)) 4.17/3.16 22: check(WAo(x)) ->= WAo(check(x)) 4.17/3.16 23: check(WAn(x)) ->= WAn(check(x)) 4.17/3.16 24: check(RIo(x)) ->= RIo(check(x)) 4.17/3.16 25: check(RIn(x)) ->= RIn(check(x)) 4.17/3.16 26: check(WIo(x)) ->= WIo(check(x)) 4.17/3.16 27: check(WIn(x)) ->= WIn(check(x)) 4.17/3.16 28: check(sys_r(x,y)) ->= sys_r(check(x),y) 4.17/3.16 29: check(sys_r(x,y)) ->= sys_r(x,check(y)) 4.17/3.16 30: check(sys_w(x,y)) ->= sys_w(check(x),y) 4.17/3.16 31: check(sys_w(x,y)) ->= sys_w(x,check(y)) 4.17/3.16 32: RAo(ok(x)) ->= ok(RAo(x)) 4.17/3.16 33: RAn(ok(x)) ->= ok(RAn(x)) 4.17/3.16 34: WAo(ok(x)) ->= ok(WAo(x)) 4.17/3.16 35: WAn(ok(x)) ->= ok(WAn(x)) 4.17/3.16 36: RIn(ok(x)) ->= ok(RIn(x)) 4.17/3.16 37: WIo(ok(x)) ->= ok(WIo(x)) 4.17/3.16 38: WIn(ok(x)) ->= ok(WIn(x)) 4.17/3.16 39: sys_r(ok(x),y) ->= ok(sys_r(x,y)) 4.17/3.16 40: sys_r(x,ok(y)) ->= ok(sys_r(x,y)) 4.17/3.16 41: sys_w(ok(x),y) ->= ok(sys_w(x,y)) 4.17/3.16 42: sys_w(x,ok(y)) ->= ok(sys_w(x,y)) 4.17/3.16 Number of strict rules: 4 4.17/3.16 Direct POLO(bPol) ... removes: 15 8 1 3 17 7 14 13 4.17/3.16 sys_w w: x1 + x2 + 1 4.17/3.16 RAo w: x1 + 1 4.17/3.16 RIo w: x1 + 2 4.17/3.16 read w: x1 + x2 + 1 4.17/3.16 W w: 2 4.17/3.16 WIn w: x1 4.17/3.16 top w: x1 4.17/3.16 WAo w: x1 + 1 4.17/3.16 Ww w: 1 4.17/3.16 WIo w: x1 + 3 4.17/3.16 check w: x1 + 1 4.17/3.16 ok w: x1 + 1 4.17/3.16 Rw w: 2 4.17/3.16 R w: 1 4.17/3.16 WAn w: x1 4.17/3.16 RIn w: x1 4.17/3.16 write w: 2 * x1 + x2 + 4 4.17/3.16 RAn w: x1 4.17/3.16 sys_r w: x1 + x2 + 1 4.17/3.16 Number of strict rules: 2 4.17/3.16 Direct POLO(bPol) ... failed. 4.17/3.16 Uncurrying ... failed. 4.17/3.16 Dependency Pairs: 4.17/3.16 #1: #check(sys_r(x,y)) ->? #check(y) 4.17/3.16 #2: #WAn(ok(x)) ->? #WAn(x) 4.17/3.16 #3: #top(ok(sys_r(read(r,RIn(x)),write(W(),Ww())))) ->? #top(check(sys_r(read(RAn(r),x),write(W(),Ww())))) 4.17/3.16 #4: #top(ok(sys_r(read(r,RIn(x)),write(W(),Ww())))) ->? #check(sys_r(read(RAn(r),x),write(W(),Ww()))) 4.17/3.16 #5: #top(ok(sys_r(read(r,RIn(x)),write(W(),Ww())))) ->? #RAn(r) 4.17/3.16 #6: #top(ok(sys_r(read(R(),Rw()),write(W(),WIn(y))))) ->? #top(check(sys_r(read(R(),Rw()),write(WAn(W()),y)))) 4.17/3.16 #7: #top(ok(sys_r(read(R(),Rw()),write(W(),WIn(y))))) ->? #check(sys_r(read(R(),Rw()),write(WAn(W()),y))) 4.17/3.16 #8: #top(ok(sys_r(read(R(),Rw()),write(W(),WIn(y))))) ->? #WAn(W()) 4.17/3.16 #9: #check(RIo(x)) ->? #check(x) 4.17/3.16 #10: #check(WAn(x)) ->? #WAn(check(x)) 4.17/3.16 #11: #check(WAn(x)) ->? #check(x) 4.17/3.16 #12: #top(ok(sys_w(read(R(),Rw()),write(W(),WIn(y))))) ->? #top(check(sys_w(read(R(),Rw()),write(WAn(W()),y)))) 4.17/3.16 #13: #top(ok(sys_w(read(R(),Rw()),write(W(),WIn(y))))) ->? #check(sys_w(read(R(),Rw()),write(WAn(W()),y))) 4.17/3.16 #14: #top(ok(sys_w(read(R(),Rw()),write(W(),WIn(y))))) ->? #WAn(W()) 4.17/3.16 #15: #check(sys_w(x,y)) ->? #check(y) 4.17/3.16 #16: #check(sys_w(x,y)) ->? #check(x) 4.17/3.16 #17: #check(RIn(x)) ->? #check(x) 4.17/3.16 #18: #check(RAo(x)) ->? #check(x) 4.17/3.16 #19: #top(ok(sys_w(read(r,RIn(x)),write(W(),Ww())))) ->? #top(check(sys_w(read(RAn(r),x),write(W(),Ww())))) 4.17/3.16 #20: #top(ok(sys_w(read(r,RIn(x)),write(W(),Ww())))) ->? #check(sys_w(read(RAn(r),x),write(W(),Ww()))) 4.17/3.16 #21: #top(ok(sys_w(read(r,RIn(x)),write(W(),Ww())))) ->? #RAn(r) 4.17/3.16 #22: #RAn(ok(x)) ->? #RAn(x) 4.17/3.16 #23: #check(sys_r(x,y)) ->? #check(x) 4.17/3.16 #24: #check(WAo(x)) ->? #check(x) 4.17/3.16 #25: #check(WIn(x)) ->? #check(x) 4.17/3.16 #26: #check(WIo(x)) ->? #check(x) 4.17/3.16 #27: #check(RAn(x)) ->? #RAn(check(x)) 4.17/3.16 #28: #check(RAn(x)) ->? #check(x) 4.17/3.16 #29: #top(ok(sys_r(read(r,RIn(x)),write(W(),y)))) ->? #top(check(sys_w(read(RAn(r),x),write(W(),y)))) 4.17/3.16 #30: #top(ok(sys_r(read(r,RIn(x)),write(W(),y)))) ->? #check(sys_w(read(RAn(r),x),write(W(),y))) 4.17/3.16 #31: #top(ok(sys_r(read(r,RIn(x)),write(W(),y)))) ->? #RAn(r) 4.17/3.16 #32: #top(ok(sys_w(read(R(),x),write(W(),WIn(y))))) ->? #top(check(sys_r(read(R(),x),write(WAn(W()),y)))) 4.17/3.16 #33: #top(ok(sys_w(read(R(),x),write(W(),WIn(y))))) ->? #check(sys_r(read(R(),x),write(WAn(W()),y))) 4.17/3.16 #34: #top(ok(sys_w(read(R(),x),write(W(),WIn(y))))) ->? #WAn(W()) 4.17/3.16 Number of SCCs: 4, DPs: 20 4.17/3.16 SCC { #2 } 4.17/3.16 POLO(Sum)... succeeded. 4.17/3.16 sys_w w: x1 + x2 + 1 4.17/3.16 RAo w: x1 + 1 4.17/3.16 RIo w: x1 + 1 4.17/3.16 read w: 1 4.17/3.16 W w: 1 4.17/3.16 #RAn w: 0 4.17/3.16 WIn w: x1 4.17/3.16 top w: x1 4.17/3.16 #check w: 0 4.17/3.16 #top w: 0 4.17/3.16 WAo w: x1 + 1 4.17/3.16 #WAn w: x1 4.17/3.16 Ww w: 1 4.17/3.16 WIo w: x1 + 1 4.17/3.16 check w: x1 + 1 4.17/3.16 ok w: x1 + 1 4.17/3.16 Rw w: 1 4.17/3.16 R w: 1 4.17/3.16 WAn w: x1 + 1 4.17/3.16 RIn w: x1 4.17/3.16 write w: x2 + 1 4.17/3.16 RAn w: x1 + 1 4.17/3.16 sys_r w: x1 + x2 + 1 4.17/3.16 Removed DPs: #2 4.17/3.16 Number of SCCs: 3, DPs: 19 4.17/3.16 SCC { #22 } 4.17/3.16 POLO(Sum)... succeeded. 4.17/3.16 sys_w w: x1 + x2 + 1 4.17/3.16 RAo w: x1 + 1 4.17/3.16 RIo w: x1 + 1 4.17/3.16 read w: 1 4.17/3.16 W w: 1 4.17/3.16 #RAn w: x1 4.17/3.16 WIn w: x1 4.17/3.16 top w: x1 4.17/3.16 #check w: 0 4.17/3.16 #top w: 0 4.17/3.16 WAo w: x1 + 1 4.17/3.16 #WAn w: 0 4.17/3.16 Ww w: 1 4.17/3.16 WIo w: x1 + 1 4.17/3.16 check w: x1 + 1 4.17/3.16 ok w: x1 + 1 4.17/3.16 Rw w: 1 4.17/3.16 R w: 1 4.17/3.16 WAn w: x1 + 1 4.17/3.16 RIn w: x1 4.17/3.16 write w: x2 + 1 4.17/3.16 RAn w: x1 + 1 4.17/3.16 sys_r w: x1 + x2 + 1 4.17/3.16 Removed DPs: #22 4.17/3.16 Number of SCCs: 2, DPs: 18 4.17/3.16 SCC { #1 #9 #11 #15..18 #23..26 #28 } 4.17/3.16 POLO(Sum)... succeeded. 4.17/3.16 sys_w w: x1 + x2 + 1 4.17/3.16 RAo w: x1 + 1 4.17/3.16 RIo w: x1 + 1 4.17/3.16 read w: 1 4.17/3.16 W w: 1 4.17/3.16 #RAn w: 0 4.17/3.16 WIn w: x1 4.17/3.16 top w: x1 4.17/3.16 #check w: x1 4.17/3.16 #top w: 0 4.17/3.16 WAo w: x1 + 1 4.17/3.16 #WAn w: 0 4.17/3.16 Ww w: 1 4.17/3.16 WIo w: x1 + 1 4.17/3.16 check w: x1 + 1 4.17/3.16 ok w: x1 + 1 4.17/3.16 Rw w: 1 4.17/3.16 R w: 1 4.17/3.16 WAn w: x1 + 1 4.17/3.16 RIn w: x1 4.17/3.16 write w: x2 + 1 4.17/3.16 RAn w: x1 + 1 4.17/3.16 sys_r w: x1 + x2 + 1 4.17/3.16 Removed DPs: #1 #9 #11 #15 #16 #18 #23 #24 #26 #28 4.17/3.16 Number of SCCs: 2, DPs: 8 4.17/3.16 SCC { #17 #25 } 4.17/3.16 POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. 4.17/3.16 Finding a loop... failed. 4.17/3.16 EOF