8.05/3.07 MAYBE 8.05/3.08 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 8.05/3.08 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 8.05/3.08 8.05/3.08 8.05/3.08 Left Termination of the query pattern 8.05/3.08 8.05/3.08 perm(a,g) 8.05/3.08 8.05/3.08 w.r.t. the given Prolog program could not be shown: 8.05/3.08 8.05/3.08 (0) Prolog 8.05/3.08 (1) PrologToPiTRSProof [SOUND, 0 ms] 8.05/3.08 (2) PiTRS 8.05/3.08 (3) DependencyPairsProof [EQUIVALENT, 12 ms] 8.05/3.08 (4) PiDP 8.05/3.08 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 8.05/3.08 (6) AND 8.05/3.08 (7) PiDP 8.05/3.08 (8) UsableRulesProof [EQUIVALENT, 0 ms] 8.05/3.08 (9) PiDP 8.05/3.08 (10) PiDPToQDPProof [SOUND, 0 ms] 8.05/3.08 (11) QDP 8.05/3.08 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 8.05/3.08 (13) YES 8.05/3.08 (14) PiDP 8.05/3.08 (15) UsableRulesProof [EQUIVALENT, 0 ms] 8.05/3.08 (16) PiDP 8.05/3.08 (17) PiDPToQDPProof [SOUND, 0 ms] 8.05/3.08 (18) QDP 8.05/3.08 (19) NonTerminationLoopProof [COMPLETE, 0 ms] 8.05/3.08 (20) NO 8.05/3.08 (21) PiDP 8.05/3.08 (22) UsableRulesProof [EQUIVALENT, 0 ms] 8.05/3.08 (23) PiDP 8.05/3.08 (24) PiDPToQDPProof [SOUND, 0 ms] 8.05/3.08 (25) QDP 8.05/3.08 (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] 8.05/3.08 (27) YES 8.05/3.08 (28) PrologToPiTRSProof [SOUND, 0 ms] 8.05/3.08 (29) PiTRS 8.05/3.08 (30) DependencyPairsProof [EQUIVALENT, 2 ms] 8.05/3.08 (31) PiDP 8.05/3.08 (32) DependencyGraphProof [EQUIVALENT, 0 ms] 8.05/3.08 (33) AND 8.05/3.08 (34) PiDP 8.05/3.08 (35) UsableRulesProof [EQUIVALENT, 0 ms] 8.05/3.08 (36) PiDP 8.05/3.08 (37) PiDPToQDPProof [SOUND, 6 ms] 8.05/3.08 (38) QDP 8.05/3.08 (39) QDPSizeChangeProof [EQUIVALENT, 0 ms] 8.05/3.08 (40) YES 8.05/3.08 (41) PiDP 8.05/3.08 (42) UsableRulesProof [EQUIVALENT, 0 ms] 8.05/3.08 (43) PiDP 8.05/3.08 (44) PiDPToQDPProof [SOUND, 0 ms] 8.05/3.08 (45) QDP 8.05/3.08 (46) NonTerminationLoopProof [COMPLETE, 0 ms] 8.05/3.08 (47) NO 8.05/3.08 (48) PiDP 8.05/3.08 (49) UsableRulesProof [EQUIVALENT, 0 ms] 8.05/3.08 (50) PiDP 8.05/3.08 (51) PiDPToQDPProof [SOUND, 0 ms] 8.05/3.08 (52) QDP 8.05/3.08 (53) QDPSizeChangeProof [EQUIVALENT, 0 ms] 8.05/3.08 (54) YES 8.05/3.08 (55) PrologToTRSTransformerProof [SOUND, 39 ms] 8.05/3.08 (56) QTRS 8.05/3.08 (57) DependencyPairsProof [EQUIVALENT, 0 ms] 8.05/3.08 (58) QDP 8.05/3.08 (59) DependencyGraphProof [EQUIVALENT, 0 ms] 8.05/3.08 (60) AND 8.05/3.08 (61) QDP 8.05/3.08 (62) MNOCProof [EQUIVALENT, 0 ms] 8.05/3.08 (63) QDP 8.05/3.08 (64) UsableRulesProof [EQUIVALENT, 1 ms] 8.05/3.08 (65) QDP 8.05/3.08 (66) QReductionProof [EQUIVALENT, 0 ms] 8.05/3.08 (67) QDP 8.05/3.08 (68) NonTerminationLoopProof [COMPLETE, 0 ms] 8.05/3.08 (69) NO 8.05/3.08 (70) QDP 8.05/3.08 (71) MNOCProof [EQUIVALENT, 0 ms] 8.05/3.08 (72) QDP 8.05/3.08 (73) UsableRulesProof [EQUIVALENT, 1 ms] 8.05/3.08 (74) QDP 8.05/3.08 (75) QReductionProof [EQUIVALENT, 0 ms] 8.05/3.08 (76) QDP 8.05/3.08 (77) NonTerminationLoopProof [COMPLETE, 0 ms] 8.05/3.08 (78) NO 8.05/3.08 (79) QDP 8.05/3.08 (80) MNOCProof [EQUIVALENT, 0 ms] 8.05/3.08 (81) QDP 8.05/3.08 (82) UsableRulesProof [EQUIVALENT, 1 ms] 8.05/3.08 (83) QDP 8.05/3.08 (84) QReductionProof [EQUIVALENT, 0 ms] 8.05/3.08 (85) QDP 8.05/3.08 (86) QDPSizeChangeProof [EQUIVALENT, 0 ms] 8.05/3.08 (87) YES 8.05/3.08 (88) PrologToDTProblemTransformerProof [SOUND, 27 ms] 8.05/3.08 (89) TRIPLES 8.05/3.08 (90) TriplesToPiDPProof [SOUND, 0 ms] 8.05/3.08 (91) PiDP 8.05/3.08 (92) DependencyGraphProof [EQUIVALENT, 0 ms] 8.05/3.08 (93) AND 8.05/3.08 (94) PiDP 8.05/3.08 (95) UsableRulesProof [EQUIVALENT, 0 ms] 8.05/3.08 (96) PiDP 8.05/3.08 (97) PiDPToQDPProof [SOUND, 0 ms] 8.05/3.08 (98) QDP 8.05/3.08 (99) QDPSizeChangeProof [EQUIVALENT, 0 ms] 8.05/3.08 (100) YES 8.05/3.08 (101) PiDP 8.05/3.08 (102) UsableRulesProof [EQUIVALENT, 0 ms] 8.05/3.08 (103) PiDP 8.05/3.08 (104) PiDPToQDPProof [SOUND, 0 ms] 8.05/3.08 (105) QDP 8.05/3.08 (106) NonTerminationLoopProof [COMPLETE, 0 ms] 8.05/3.08 (107) NO 8.05/3.08 (108) PiDP 8.05/3.08 (109) PiDPToQDPProof [SOUND, 0 ms] 8.05/3.08 (110) QDP 8.05/3.08 (111) QDPSizeChangeProof [EQUIVALENT, 0 ms] 8.05/3.08 (112) YES 8.05/3.08 (113) PrologToIRSwTTransformerProof [SOUND, 55 ms] 8.05/3.08 (114) AND 8.05/3.08 (115) IRSwT 8.05/3.08 (116) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 8.05/3.08 (117) TRUE 8.05/3.08 (118) IRSwT 8.05/3.08 (119) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 8.05/3.08 (120) IRSwT 8.05/3.08 (121) IntTRSCompressionProof [EQUIVALENT, 23 ms] 8.05/3.08 (122) IRSwT 8.05/3.08 (123) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 8.05/3.08 (124) IRSwT 8.05/3.08 (125) IRSwTTerminationDigraphProof [EQUIVALENT, 7 ms] 8.05/3.08 (126) IRSwT 8.05/3.08 (127) FilterProof [EQUIVALENT, 0 ms] 8.05/3.08 (128) IntTRS 8.05/3.08 (129) IntTRSPeriodicNontermProof [COMPLETE, 0 ms] 8.05/3.08 (130) NO 8.05/3.08 (131) IRSwT 8.05/3.08 (132) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 8.05/3.08 (133) IRSwT 8.05/3.08 (134) IntTRSCompressionProof [EQUIVALENT, 17 ms] 8.05/3.08 (135) IRSwT 8.05/3.08 (136) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 8.05/3.08 (137) IRSwT 8.05/3.08 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (0) 8.05/3.08 Obligation: 8.05/3.08 Clauses: 8.05/3.08 8.05/3.08 perm([], []). 8.05/3.08 perm(Xs, .(X, Ys)) :- ','(app(X1s, .(X, X2s), Xs), ','(app(X1s, X2s, Zs), perm(Zs, Ys))). 8.05/3.08 app([], X, X). 8.05/3.08 app(.(X, Xs), Ys, .(X, Zs)) :- app(Xs, Ys, Zs). 8.05/3.08 8.05/3.08 8.05/3.08 Query: perm(a,g) 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (1) PrologToPiTRSProof (SOUND) 8.05/3.08 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 8.05/3.08 8.05/3.08 perm_in_2: (f,b) 8.05/3.08 8.05/3.08 app_in_3: (f,f,f) (b,f,f) 8.05/3.08 8.05/3.08 Transforming Prolog into the following Term Rewriting System: 8.05/3.08 8.05/3.08 Pi-finite rewrite system: 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag(x2) 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa(x1) 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x2, x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (2) 8.05/3.08 Obligation: 8.05/3.08 Pi-finite rewrite system: 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag(x2) 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa(x1) 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x2, x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (3) DependencyPairsProof (EQUIVALENT) 8.05/3.08 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> U1_AG(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> APP_IN_AAA(X1s, .(X, X2s), Xs) 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> U4_AAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_AAA(Xs, Ys, Zs) 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_AG(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> APP_IN_GAA(X1s, X2s, Zs) 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> U4_GAA(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GAA(Xs, Ys, Zs) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_AG(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> PERM_IN_AG(Zs, Ys) 8.05/3.08 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag(x2) 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa(x1) 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x2, x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 8.05/3.08 8.05/3.08 PERM_IN_AG(x1, x2) = PERM_IN_AG(x2) 8.05/3.08 8.05/3.08 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 8.05/3.08 8.05/3.08 APP_IN_AAA(x1, x2, x3) = APP_IN_AAA 8.05/3.08 8.05/3.08 U4_AAA(x1, x2, x3, x4, x5) = U4_AAA(x5) 8.05/3.08 8.05/3.08 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 8.05/3.08 8.05/3.08 APP_IN_GAA(x1, x2, x3) = APP_IN_GAA(x1) 8.05/3.08 8.05/3.08 U4_GAA(x1, x2, x3, x4, x5) = U4_GAA(x2, x5) 8.05/3.08 8.05/3.08 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 8.05/3.08 8.05/3.08 8.05/3.08 We have to consider all (P,R,Pi)-chains 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (4) 8.05/3.08 Obligation: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> U1_AG(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> APP_IN_AAA(X1s, .(X, X2s), Xs) 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> U4_AAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_AAA(Xs, Ys, Zs) 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_AG(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> APP_IN_GAA(X1s, X2s, Zs) 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> U4_GAA(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GAA(Xs, Ys, Zs) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_AG(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> PERM_IN_AG(Zs, Ys) 8.05/3.08 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag(x2) 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa(x1) 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x2, x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 8.05/3.08 8.05/3.08 PERM_IN_AG(x1, x2) = PERM_IN_AG(x2) 8.05/3.08 8.05/3.08 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 8.05/3.08 8.05/3.08 APP_IN_AAA(x1, x2, x3) = APP_IN_AAA' 8.05/3.08 8.05/3.08 U4_AAA(x1, x2, x3, x4, x5) = U4_AAA(x5) 8.05/3.08 8.05/3.08 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 8.05/3.08 8.05/3.08 APP_IN_GAA(x1, x2, x3) = APP_IN_GAA(x1) 8.05/3.08 8.05/3.08 U4_GAA(x1, x2, x3, x4, x5) = U4_GAA(x2, x5) 8.05/3.08 8.05/3.08 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 8.05/3.08 8.05/3.08 8.05/3.08 We have to consider all (P,R,Pi)-chains 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (5) DependencyGraphProof (EQUIVALENT) 8.05/3.08 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 5 less nodes. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (6) 8.05/3.08 Complex Obligation (AND) 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (7) 8.05/3.08 Obligation: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GAA(Xs, Ys, Zs) 8.05/3.08 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag(x2) 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa(x1) 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x2, x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 8.05/3.08 8.05/3.08 APP_IN_GAA(x1, x2, x3) = APP_IN_GAA(x1) 8.05/3.08 8.05/3.08 8.05/3.08 We have to consider all (P,R,Pi)-chains 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (8) UsableRulesProof (EQUIVALENT) 8.05/3.08 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (9) 8.05/3.08 Obligation: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GAA(Xs, Ys, Zs) 8.05/3.08 8.05/3.08 R is empty. 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 APP_IN_GAA(x1, x2, x3) = APP_IN_GAA(x1) 8.05/3.08 8.05/3.08 8.05/3.08 We have to consider all (P,R,Pi)-chains 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (10) PiDPToQDPProof (SOUND) 8.05/3.08 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (11) 8.05/3.08 Obligation: 8.05/3.08 Q DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 APP_IN_GAA(.(Xs)) -> APP_IN_GAA(Xs) 8.05/3.08 8.05/3.08 R is empty. 8.05/3.08 Q is empty. 8.05/3.08 We have to consider all (P,Q,R)-chains. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (12) QDPSizeChangeProof (EQUIVALENT) 8.05/3.08 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 8.05/3.08 8.05/3.08 From the DPs we obtained the following set of size-change graphs: 8.05/3.08 *APP_IN_GAA(.(Xs)) -> APP_IN_GAA(Xs) 8.05/3.08 The graph contains the following edges 1 > 1 8.05/3.08 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (13) 8.05/3.08 YES 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (14) 8.05/3.08 Obligation: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_AAA(Xs, Ys, Zs) 8.05/3.08 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag(x2) 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa(x1) 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x2, x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 8.05/3.08 8.05/3.08 APP_IN_AAA(x1, x2, x3) = APP_IN_AAA 8.05/3.08 8.05/3.08 8.05/3.08 We have to consider all (P,R,Pi)-chains 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (15) UsableRulesProof (EQUIVALENT) 8.05/3.08 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (16) 8.05/3.08 Obligation: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_AAA(Xs, Ys, Zs) 8.05/3.08 8.05/3.08 R is empty. 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 APP_IN_AAA(x1, x2, x3) = APP_IN_AAA 8.05/3.08 8.05/3.08 8.05/3.08 We have to consider all (P,R,Pi)-chains 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (17) PiDPToQDPProof (SOUND) 8.05/3.08 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (18) 8.05/3.08 Obligation: 8.05/3.08 Q DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 APP_IN_AAA -> APP_IN_AAA 8.05/3.08 8.05/3.08 R is empty. 8.05/3.08 Q is empty. 8.05/3.08 We have to consider all (P,Q,R)-chains. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (19) NonTerminationLoopProof (COMPLETE) 8.05/3.08 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 8.05/3.08 Found a loop by semiunifying a rule from P directly. 8.05/3.08 8.05/3.08 s = APP_IN_AAA evaluates to t =APP_IN_AAA 8.05/3.08 8.05/3.08 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 8.05/3.08 * Matcher: [ ] 8.05/3.08 * Semiunifier: [ ] 8.05/3.08 8.05/3.08 -------------------------------------------------------------------------------- 8.05/3.08 Rewriting sequence 8.05/3.08 8.05/3.08 The DP semiunifies directly so there is only one rewrite step from APP_IN_AAA to APP_IN_AAA. 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (20) 8.05/3.08 NO 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (21) 8.05/3.08 Obligation: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_AG(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> PERM_IN_AG(Zs, Ys) 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> U1_AG(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag(x2) 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa(x1) 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x2, x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x3, x4) 8.05/3.08 8.05/3.08 PERM_IN_AG(x1, x2) = PERM_IN_AG(x2) 8.05/3.08 8.05/3.08 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 8.05/3.08 8.05/3.08 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 8.05/3.08 8.05/3.08 8.05/3.08 We have to consider all (P,R,Pi)-chains 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (22) UsableRulesProof (EQUIVALENT) 8.05/3.08 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (23) 8.05/3.08 Obligation: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_AG(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> PERM_IN_AG(Zs, Ys) 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> U1_AG(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa(x1) 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x2, x5) 8.05/3.08 8.05/3.08 PERM_IN_AG(x1, x2) = PERM_IN_AG(x2) 8.05/3.08 8.05/3.08 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 8.05/3.08 8.05/3.08 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 8.05/3.08 8.05/3.08 8.05/3.08 We have to consider all (P,R,Pi)-chains 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (24) PiDPToQDPProof (SOUND) 8.05/3.08 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (25) 8.05/3.08 Obligation: 8.05/3.08 Q DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 U1_AG(Ys, app_out_aaa(X1s)) -> U2_AG(Ys, app_in_gaa(X1s)) 8.05/3.08 U2_AG(Ys, app_out_gaa(X1s)) -> PERM_IN_AG(Ys) 8.05/3.08 PERM_IN_AG(.(Ys)) -> U1_AG(Ys, app_in_aaa) 8.05/3.08 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 app_in_gaa([]) -> app_out_gaa([]) 8.05/3.08 app_in_gaa(.(Xs)) -> U4_gaa(Xs, app_in_gaa(Xs)) 8.05/3.08 app_in_aaa -> app_out_aaa([]) 8.05/3.08 app_in_aaa -> U4_aaa(app_in_aaa) 8.05/3.08 U4_gaa(Xs, app_out_gaa(Xs)) -> app_out_gaa(.(Xs)) 8.05/3.08 U4_aaa(app_out_aaa(Xs)) -> app_out_aaa(.(Xs)) 8.05/3.08 8.05/3.08 The set Q consists of the following terms: 8.05/3.08 8.05/3.08 app_in_gaa(x0) 8.05/3.08 app_in_aaa 8.05/3.08 U4_gaa(x0, x1) 8.05/3.08 U4_aaa(x0) 8.05/3.08 8.05/3.08 We have to consider all (P,Q,R)-chains. 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (26) QDPSizeChangeProof (EQUIVALENT) 8.05/3.08 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 8.05/3.08 8.05/3.08 From the DPs we obtained the following set of size-change graphs: 8.05/3.08 *U2_AG(Ys, app_out_gaa(X1s)) -> PERM_IN_AG(Ys) 8.05/3.08 The graph contains the following edges 1 >= 1 8.05/3.08 8.05/3.08 8.05/3.08 *PERM_IN_AG(.(Ys)) -> U1_AG(Ys, app_in_aaa) 8.05/3.08 The graph contains the following edges 1 > 1 8.05/3.08 8.05/3.08 8.05/3.08 *U1_AG(Ys, app_out_aaa(X1s)) -> U2_AG(Ys, app_in_gaa(X1s)) 8.05/3.08 The graph contains the following edges 1 >= 1 8.05/3.08 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (27) 8.05/3.08 YES 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (28) PrologToPiTRSProof (SOUND) 8.05/3.08 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 8.05/3.08 8.05/3.08 perm_in_2: (f,b) 8.05/3.08 8.05/3.08 app_in_3: (f,f,f) (b,f,f) 8.05/3.08 8.05/3.08 Transforming Prolog into the following Term Rewriting System: 8.05/3.08 8.05/3.08 Pi-finite rewrite system: 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (29) 8.05/3.08 Obligation: 8.05/3.08 Pi-finite rewrite system: 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 8.05/3.08 8.05/3.08 8.05/3.08 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (30) DependencyPairsProof (EQUIVALENT) 8.05/3.08 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> U1_AG(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> APP_IN_AAA(X1s, .(X, X2s), Xs) 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> U4_AAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_AAA(Xs, Ys, Zs) 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_AG(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> APP_IN_GAA(X1s, X2s, Zs) 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> U4_GAA(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GAA(Xs, Ys, Zs) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_AG(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> PERM_IN_AG(Zs, Ys) 8.05/3.08 8.05/3.08 The TRS R consists of the following rules: 8.05/3.08 8.05/3.08 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.08 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.08 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.08 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.08 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.08 8.05/3.08 The argument filtering Pi contains the following mapping: 8.05/3.08 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.08 8.05/3.08 [] = [] 8.05/3.08 8.05/3.08 perm_out_ag(x1, x2) = perm_out_ag 8.05/3.08 8.05/3.08 .(x1, x2) = .(x2) 8.05/3.08 8.05/3.08 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.08 8.05/3.08 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.08 8.05/3.08 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.08 8.05/3.08 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.08 8.05/3.08 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.08 8.05/3.08 app_out_gaa(x1, x2, x3) = app_out_gaa 8.05/3.08 8.05/3.08 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x5) 8.05/3.08 8.05/3.08 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 8.05/3.08 8.05/3.08 PERM_IN_AG(x1, x2) = PERM_IN_AG(x2) 8.05/3.08 8.05/3.08 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 8.05/3.08 8.05/3.08 APP_IN_AAA(x1, x2, x3) = APP_IN_AAA 8.05/3.08 8.05/3.08 U4_AAA(x1, x2, x3, x4, x5) = U4_AAA(x5) 8.05/3.08 8.05/3.08 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 8.05/3.08 8.05/3.08 APP_IN_GAA(x1, x2, x3) = APP_IN_GAA(x1) 8.05/3.08 8.05/3.08 U4_GAA(x1, x2, x3, x4, x5) = U4_GAA(x5) 8.05/3.08 8.05/3.08 U3_AG(x1, x2, x3, x4) = U3_AG(x4) 8.05/3.08 8.05/3.08 8.05/3.08 We have to consider all (P,R,Pi)-chains 8.05/3.08 ---------------------------------------- 8.05/3.08 8.05/3.08 (31) 8.05/3.08 Obligation: 8.05/3.08 Pi DP problem: 8.05/3.08 The TRS P consists of the following rules: 8.05/3.08 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> U1_AG(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.08 PERM_IN_AG(Xs, .(X, Ys)) -> APP_IN_AAA(X1s, .(X, X2s), Xs) 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> U4_AAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.08 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_AAA(Xs, Ys, Zs) 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_AG(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.08 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> APP_IN_GAA(X1s, X2s, Zs) 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> U4_GAA(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.08 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GAA(Xs, Ys, Zs) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_AG(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.08 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> PERM_IN_AG(Zs, Ys) 8.05/3.08 8.05/3.08 The TRS R consists of the following rules: 8.05/3.10 8.05/3.10 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.10 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.10 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.10 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.10 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.10 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.10 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.10 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.10 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.10 8.05/3.10 The argument filtering Pi contains the following mapping: 8.05/3.10 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.10 8.05/3.10 [] = [] 8.05/3.10 8.05/3.10 perm_out_ag(x1, x2) = perm_out_ag 8.05/3.10 8.05/3.10 .(x1, x2) = .(x2) 8.05/3.10 8.05/3.10 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.10 8.05/3.10 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.10 8.05/3.10 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.10 8.05/3.10 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.10 8.05/3.10 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.10 8.05/3.10 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.10 8.05/3.10 app_out_gaa(x1, x2, x3) = app_out_gaa 8.05/3.10 8.05/3.10 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x5) 8.05/3.10 8.05/3.10 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 8.05/3.10 8.05/3.10 PERM_IN_AG(x1, x2) = PERM_IN_AG(x2) 8.05/3.10 8.05/3.10 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 8.05/3.10 8.05/3.10 APP_IN_AAA(x1, x2, x3) = APP_IN_AAA 8.05/3.10 8.05/3.10 U4_AAA(x1, x2, x3, x4, x5) = U4_AAA(x5) 8.05/3.10 8.05/3.10 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 8.05/3.10 8.05/3.10 APP_IN_GAA(x1, x2, x3) = APP_IN_GAA(x1) 8.05/3.10 8.05/3.10 U4_GAA(x1, x2, x3, x4, x5) = U4_GAA(x5) 8.05/3.10 8.05/3.10 U3_AG(x1, x2, x3, x4) = U3_AG(x4) 8.05/3.10 8.05/3.10 8.05/3.10 We have to consider all (P,R,Pi)-chains 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (32) DependencyGraphProof (EQUIVALENT) 8.05/3.10 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 5 less nodes. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (33) 8.05/3.10 Complex Obligation (AND) 8.05/3.10 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (34) 8.05/3.10 Obligation: 8.05/3.10 Pi DP problem: 8.05/3.10 The TRS P consists of the following rules: 8.05/3.10 8.05/3.10 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GAA(Xs, Ys, Zs) 8.05/3.10 8.05/3.10 The TRS R consists of the following rules: 8.05/3.10 8.05/3.10 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.10 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.10 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.10 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.10 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.10 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.10 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.10 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.10 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.10 8.05/3.10 The argument filtering Pi contains the following mapping: 8.05/3.10 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.10 8.05/3.10 [] = [] 8.05/3.10 8.05/3.10 perm_out_ag(x1, x2) = perm_out_ag 8.05/3.10 8.05/3.10 .(x1, x2) = .(x2) 8.05/3.10 8.05/3.10 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.10 8.05/3.10 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.10 8.05/3.10 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.10 8.05/3.10 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.10 8.05/3.10 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.10 8.05/3.10 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.10 8.05/3.10 app_out_gaa(x1, x2, x3) = app_out_gaa 8.05/3.10 8.05/3.10 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x5) 8.05/3.10 8.05/3.10 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 8.05/3.10 8.05/3.10 APP_IN_GAA(x1, x2, x3) = APP_IN_GAA(x1) 8.05/3.10 8.05/3.10 8.05/3.10 We have to consider all (P,R,Pi)-chains 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (35) UsableRulesProof (EQUIVALENT) 8.05/3.10 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (36) 8.05/3.10 Obligation: 8.05/3.10 Pi DP problem: 8.05/3.10 The TRS P consists of the following rules: 8.05/3.10 8.05/3.10 APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GAA(Xs, Ys, Zs) 8.05/3.10 8.05/3.10 R is empty. 8.05/3.10 The argument filtering Pi contains the following mapping: 8.05/3.10 .(x1, x2) = .(x2) 8.05/3.10 8.05/3.10 APP_IN_GAA(x1, x2, x3) = APP_IN_GAA(x1) 8.05/3.10 8.05/3.10 8.05/3.10 We have to consider all (P,R,Pi)-chains 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (37) PiDPToQDPProof (SOUND) 8.05/3.10 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (38) 8.05/3.10 Obligation: 8.05/3.10 Q DP problem: 8.05/3.10 The TRS P consists of the following rules: 8.05/3.10 8.05/3.10 APP_IN_GAA(.(Xs)) -> APP_IN_GAA(Xs) 8.05/3.10 8.05/3.10 R is empty. 8.05/3.10 Q is empty. 8.05/3.10 We have to consider all (P,Q,R)-chains. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (39) QDPSizeChangeProof (EQUIVALENT) 8.05/3.10 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 8.05/3.10 8.05/3.10 From the DPs we obtained the following set of size-change graphs: 8.05/3.10 *APP_IN_GAA(.(Xs)) -> APP_IN_GAA(Xs) 8.05/3.10 The graph contains the following edges 1 > 1 8.05/3.10 8.05/3.10 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (40) 8.05/3.10 YES 8.05/3.10 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (41) 8.05/3.10 Obligation: 8.05/3.10 Pi DP problem: 8.05/3.10 The TRS P consists of the following rules: 8.05/3.10 8.05/3.10 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_AAA(Xs, Ys, Zs) 8.05/3.10 8.05/3.10 The TRS R consists of the following rules: 8.05/3.10 8.05/3.10 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.10 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.10 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.10 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.10 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.10 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.10 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.10 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.10 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.10 8.05/3.10 The argument filtering Pi contains the following mapping: 8.05/3.10 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.10 8.05/3.10 [] = [] 8.05/3.10 8.05/3.10 perm_out_ag(x1, x2) = perm_out_ag 8.05/3.10 8.05/3.10 .(x1, x2) = .(x2) 8.05/3.10 8.05/3.10 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.10 8.05/3.10 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.10 8.05/3.10 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.10 8.05/3.10 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.10 8.05/3.10 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.10 8.05/3.10 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.10 8.05/3.10 app_out_gaa(x1, x2, x3) = app_out_gaa 8.05/3.10 8.05/3.10 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x5) 8.05/3.10 8.05/3.10 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 8.05/3.10 8.05/3.10 APP_IN_AAA(x1, x2, x3) = APP_IN_AAA 8.05/3.10 8.05/3.10 8.05/3.10 We have to consider all (P,R,Pi)-chains 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (42) UsableRulesProof (EQUIVALENT) 8.05/3.10 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (43) 8.05/3.10 Obligation: 8.05/3.10 Pi DP problem: 8.05/3.10 The TRS P consists of the following rules: 8.05/3.10 8.05/3.10 APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_AAA(Xs, Ys, Zs) 8.05/3.10 8.05/3.10 R is empty. 8.05/3.10 The argument filtering Pi contains the following mapping: 8.05/3.10 .(x1, x2) = .(x2) 8.05/3.10 8.05/3.10 APP_IN_AAA(x1, x2, x3) = APP_IN_AAA 8.05/3.10 8.05/3.10 8.05/3.10 We have to consider all (P,R,Pi)-chains 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (44) PiDPToQDPProof (SOUND) 8.05/3.10 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (45) 8.05/3.10 Obligation: 8.05/3.10 Q DP problem: 8.05/3.10 The TRS P consists of the following rules: 8.05/3.10 8.05/3.10 APP_IN_AAA -> APP_IN_AAA 8.05/3.10 8.05/3.10 R is empty. 8.05/3.10 Q is empty. 8.05/3.10 We have to consider all (P,Q,R)-chains. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (46) NonTerminationLoopProof (COMPLETE) 8.05/3.10 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 8.05/3.10 Found a loop by semiunifying a rule from P directly. 8.05/3.10 8.05/3.10 s = APP_IN_AAA evaluates to t =APP_IN_AAA 8.05/3.10 8.05/3.10 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 8.05/3.10 * Matcher: [ ] 8.05/3.10 * Semiunifier: [ ] 8.05/3.10 8.05/3.10 -------------------------------------------------------------------------------- 8.05/3.10 Rewriting sequence 8.05/3.10 8.05/3.10 The DP semiunifies directly so there is only one rewrite step from APP_IN_AAA to APP_IN_AAA. 8.05/3.10 8.05/3.10 8.05/3.10 8.05/3.10 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (47) 8.05/3.10 NO 8.05/3.10 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (48) 8.05/3.10 Obligation: 8.05/3.10 Pi DP problem: 8.05/3.10 The TRS P consists of the following rules: 8.05/3.10 8.05/3.10 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_AG(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.10 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> PERM_IN_AG(Zs, Ys) 8.05/3.10 PERM_IN_AG(Xs, .(X, Ys)) -> U1_AG(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.10 8.05/3.10 The TRS R consists of the following rules: 8.05/3.10 8.05/3.10 perm_in_ag([], []) -> perm_out_ag([], []) 8.05/3.10 perm_in_ag(Xs, .(X, Ys)) -> U1_ag(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.10 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.10 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.10 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 U1_ag(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_ag(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.10 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.10 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.10 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 U2_ag(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> U3_ag(Xs, X, Ys, perm_in_ag(Zs, Ys)) 8.05/3.10 U3_ag(Xs, X, Ys, perm_out_ag(Zs, Ys)) -> perm_out_ag(Xs, .(X, Ys)) 8.05/3.10 8.05/3.10 The argument filtering Pi contains the following mapping: 8.05/3.10 perm_in_ag(x1, x2) = perm_in_ag(x2) 8.05/3.10 8.05/3.10 [] = [] 8.05/3.10 8.05/3.10 perm_out_ag(x1, x2) = perm_out_ag 8.05/3.10 8.05/3.10 .(x1, x2) = .(x2) 8.05/3.10 8.05/3.10 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 8.05/3.10 8.05/3.10 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.10 8.05/3.10 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.10 8.05/3.10 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.10 8.05/3.10 U2_ag(x1, x2, x3, x4) = U2_ag(x3, x4) 8.05/3.10 8.05/3.10 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.10 8.05/3.10 app_out_gaa(x1, x2, x3) = app_out_gaa 8.05/3.10 8.05/3.10 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x5) 8.05/3.10 8.05/3.10 U3_ag(x1, x2, x3, x4) = U3_ag(x4) 8.05/3.10 8.05/3.10 PERM_IN_AG(x1, x2) = PERM_IN_AG(x2) 8.05/3.10 8.05/3.10 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 8.05/3.10 8.05/3.10 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 8.05/3.10 8.05/3.10 8.05/3.10 We have to consider all (P,R,Pi)-chains 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (49) UsableRulesProof (EQUIVALENT) 8.05/3.10 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (50) 8.05/3.10 Obligation: 8.05/3.10 Pi DP problem: 8.05/3.10 The TRS P consists of the following rules: 8.05/3.10 8.05/3.10 U1_AG(Xs, X, Ys, app_out_aaa(X1s, .(X, X2s), Xs)) -> U2_AG(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs)) 8.05/3.10 U2_AG(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) -> PERM_IN_AG(Zs, Ys) 8.05/3.10 PERM_IN_AG(Xs, .(X, Ys)) -> U1_AG(Xs, X, Ys, app_in_aaa(X1s, .(X, X2s), Xs)) 8.05/3.10 8.05/3.10 The TRS R consists of the following rules: 8.05/3.10 8.05/3.10 app_in_gaa([], X, X) -> app_out_gaa([], X, X) 8.05/3.10 app_in_gaa(.(X, Xs), Ys, .(X, Zs)) -> U4_gaa(X, Xs, Ys, Zs, app_in_gaa(Xs, Ys, Zs)) 8.05/3.10 app_in_aaa([], X, X) -> app_out_aaa([], X, X) 8.05/3.10 app_in_aaa(.(X, Xs), Ys, .(X, Zs)) -> U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs)) 8.05/3.10 U4_gaa(X, Xs, Ys, Zs, app_out_gaa(Xs, Ys, Zs)) -> app_out_gaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) -> app_out_aaa(.(X, Xs), Ys, .(X, Zs)) 8.05/3.10 8.05/3.10 The argument filtering Pi contains the following mapping: 8.05/3.10 [] = [] 8.05/3.10 8.05/3.10 .(x1, x2) = .(x2) 8.05/3.10 8.05/3.10 app_in_aaa(x1, x2, x3) = app_in_aaa 8.05/3.10 8.05/3.10 app_out_aaa(x1, x2, x3) = app_out_aaa(x1) 8.05/3.10 8.05/3.10 U4_aaa(x1, x2, x3, x4, x5) = U4_aaa(x5) 8.05/3.10 8.05/3.10 app_in_gaa(x1, x2, x3) = app_in_gaa(x1) 8.05/3.10 8.05/3.10 app_out_gaa(x1, x2, x3) = app_out_gaa 8.05/3.10 8.05/3.10 U4_gaa(x1, x2, x3, x4, x5) = U4_gaa(x5) 8.05/3.10 8.05/3.10 PERM_IN_AG(x1, x2) = PERM_IN_AG(x2) 8.05/3.10 8.05/3.10 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 8.05/3.10 8.05/3.10 U2_AG(x1, x2, x3, x4) = U2_AG(x3, x4) 8.05/3.10 8.05/3.10 8.05/3.10 We have to consider all (P,R,Pi)-chains 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (51) PiDPToQDPProof (SOUND) 8.05/3.10 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (52) 8.05/3.10 Obligation: 8.05/3.10 Q DP problem: 8.05/3.10 The TRS P consists of the following rules: 8.05/3.10 8.05/3.10 U1_AG(Ys, app_out_aaa(X1s)) -> U2_AG(Ys, app_in_gaa(X1s)) 8.05/3.10 U2_AG(Ys, app_out_gaa) -> PERM_IN_AG(Ys) 8.05/3.10 PERM_IN_AG(.(Ys)) -> U1_AG(Ys, app_in_aaa) 8.05/3.10 8.05/3.10 The TRS R consists of the following rules: 8.05/3.10 8.05/3.10 app_in_gaa([]) -> app_out_gaa 8.05/3.10 app_in_gaa(.(Xs)) -> U4_gaa(app_in_gaa(Xs)) 8.05/3.10 app_in_aaa -> app_out_aaa([]) 8.05/3.10 app_in_aaa -> U4_aaa(app_in_aaa) 8.05/3.10 U4_gaa(app_out_gaa) -> app_out_gaa 8.05/3.10 U4_aaa(app_out_aaa(Xs)) -> app_out_aaa(.(Xs)) 8.05/3.10 8.05/3.10 The set Q consists of the following terms: 8.05/3.10 8.05/3.10 app_in_gaa(x0) 8.05/3.10 app_in_aaa 8.05/3.10 U4_gaa(x0) 8.05/3.10 U4_aaa(x0) 8.05/3.10 8.05/3.10 We have to consider all (P,Q,R)-chains. 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (53) QDPSizeChangeProof (EQUIVALENT) 8.05/3.10 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 8.05/3.10 8.05/3.10 From the DPs we obtained the following set of size-change graphs: 8.05/3.10 *U2_AG(Ys, app_out_gaa) -> PERM_IN_AG(Ys) 8.05/3.10 The graph contains the following edges 1 >= 1 8.05/3.10 8.05/3.10 8.05/3.10 *PERM_IN_AG(.(Ys)) -> U1_AG(Ys, app_in_aaa) 8.05/3.10 The graph contains the following edges 1 > 1 8.05/3.10 8.05/3.10 8.05/3.10 *U1_AG(Ys, app_out_aaa(X1s)) -> U2_AG(Ys, app_in_gaa(X1s)) 8.05/3.10 The graph contains the following edges 1 >= 1 8.05/3.10 8.05/3.10 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (54) 8.05/3.10 YES 8.05/3.10 8.05/3.10 ---------------------------------------- 8.05/3.10 8.05/3.10 (55) PrologToTRSTransformerProof (SOUND) 8.05/3.10 Transformed Prolog program to TRS. 8.05/3.10 8.05/3.10 { 8.05/3.10 "root": 1, 8.05/3.10 "program": { 8.05/3.10 "directives": [], 8.05/3.10 "clauses": [ 8.05/3.10 [ 8.05/3.10 "(perm ([]) ([]))", 8.05/3.10 null 8.05/3.10 ], 8.05/3.10 [ 8.05/3.10 "(perm Xs (. X Ys))", 8.05/3.10 "(',' (app X1s (. X X2s) Xs) (',' (app X1s X2s Zs) (perm Zs Ys)))" 8.05/3.10 ], 8.05/3.10 [ 8.05/3.10 "(app ([]) X X)", 8.05/3.10 null 8.05/3.10 ], 8.05/3.10 [ 8.05/3.10 "(app (. X Xs) Ys (. X Zs))", 8.05/3.10 "(app Xs Ys Zs)" 8.05/3.10 ] 8.05/3.10 ] 8.05/3.10 }, 8.05/3.10 "graph": { 8.05/3.10 "nodes": { 8.05/3.10 "22": { 8.05/3.10 "goal": [], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "290": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(app X53 (. T39 X54) T42)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T39"], 8.05/3.10 "free": [ 8.05/3.10 "X53", 8.05/3.10 "X54" 8.05/3.10 ], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "291": { 8.05/3.10 "goal": [], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "292": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(app T17 T18 X15)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": ["X15"], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "type": "Nodes", 8.05/3.10 "293": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(perm T49 T11)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T11"], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "296": { 8.05/3.10 "goal": [ 8.05/3.10 { 8.05/3.10 "clause": 2, 8.05/3.10 "scope": 3, 8.05/3.10 "term": "(app T17 T18 X15)" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "clause": 3, 8.05/3.10 "scope": 3, 8.05/3.10 "term": "(app T17 T18 X15)" 8.05/3.10 } 8.05/3.10 ], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": ["X15"], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "297": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": 2, 8.05/3.10 "scope": 3, 8.05/3.10 "term": "(app T17 T18 X15)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": ["X15"], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "298": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": 3, 8.05/3.10 "scope": 3, 8.05/3.10 "term": "(app T17 T18 X15)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": ["X15"], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "331": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(app T66 T67 X82)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": ["X82"], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "332": { 8.05/3.10 "goal": [], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "278": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(',' (app X13 (. T10 X14) T12) (',' (app X13 X14 X15) (perm X15 T11)))" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [ 8.05/3.10 "T10", 8.05/3.10 "T11" 8.05/3.10 ], 8.05/3.10 "free": [ 8.05/3.10 "X13", 8.05/3.10 "X14", 8.05/3.10 "X15" 8.05/3.10 ], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "15": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": 0, 8.05/3.10 "scope": 1, 8.05/3.10 "term": "(perm T1 T2)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T2"], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "16": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": 1, 8.05/3.10 "scope": 1, 8.05/3.10 "term": "(perm T1 T2)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T2"], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "18": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(true)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "280": { 8.05/3.10 "goal": [], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "282": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(app X13 (. T10 X14) T12)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T10"], 8.05/3.10 "free": [ 8.05/3.10 "X13", 8.05/3.10 "X14" 8.05/3.10 ], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "283": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(',' (app T17 T18 X15) (perm X15 T11))" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T11"], 8.05/3.10 "free": ["X15"], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "284": { 8.05/3.10 "goal": [ 8.05/3.10 { 8.05/3.10 "clause": 2, 8.05/3.10 "scope": 2, 8.05/3.10 "term": "(app X13 (. T10 X14) T12)" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "clause": 3, 8.05/3.10 "scope": 2, 8.05/3.10 "term": "(app X13 (. T10 X14) T12)" 8.05/3.10 } 8.05/3.10 ], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T10"], 8.05/3.10 "free": [ 8.05/3.10 "X13", 8.05/3.10 "X14" 8.05/3.10 ], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "285": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": 2, 8.05/3.10 "scope": 2, 8.05/3.10 "term": "(app X13 (. T10 X14) T12)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T10"], 8.05/3.10 "free": [ 8.05/3.10 "X13", 8.05/3.10 "X14" 8.05/3.10 ], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "286": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": 3, 8.05/3.10 "scope": 2, 8.05/3.10 "term": "(app X13 (. T10 X14) T12)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T10"], 8.05/3.10 "free": [ 8.05/3.10 "X13", 8.05/3.10 "X14" 8.05/3.10 ], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "1": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(perm T1 T2)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T2"], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "287": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(true)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "288": { 8.05/3.10 "goal": [], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "289": { 8.05/3.10 "goal": [], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "300": { 8.05/3.10 "goal": [{ 8.05/3.10 "clause": -1, 8.05/3.10 "scope": -1, 8.05/3.10 "term": "(true)" 8.05/3.10 }], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "4": { 8.05/3.10 "goal": [ 8.05/3.10 { 8.05/3.10 "clause": 0, 8.05/3.10 "scope": 1, 8.05/3.10 "term": "(perm T1 T2)" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "clause": 1, 8.05/3.10 "scope": 1, 8.05/3.10 "term": "(perm T1 T2)" 8.05/3.10 } 8.05/3.10 ], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": ["T2"], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "303": { 8.05/3.10 "goal": [], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "304": { 8.05/3.10 "goal": [], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "20": { 8.05/3.10 "goal": [], 8.05/3.10 "kb": { 8.05/3.10 "nonunifying": [], 8.05/3.10 "intvars": {}, 8.05/3.10 "arithmetic": { 8.05/3.10 "type": "PlainIntegerRelationState", 8.05/3.10 "relations": [] 8.05/3.10 }, 8.05/3.10 "ground": [], 8.05/3.10 "free": [], 8.05/3.10 "exprvars": [] 8.05/3.10 } 8.05/3.10 } 8.05/3.10 }, 8.05/3.10 "edges": [ 8.05/3.10 { 8.05/3.10 "from": 1, 8.05/3.10 "to": 4, 8.05/3.10 "label": "CASE" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 4, 8.05/3.10 "to": 15, 8.05/3.10 "label": "PARALLEL" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 4, 8.05/3.10 "to": 16, 8.05/3.10 "label": "PARALLEL" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 15, 8.05/3.10 "to": 18, 8.05/3.10 "label": "EVAL with clause\nperm([], []).\nand substitutionT1 -> [],\nT2 -> []" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 15, 8.05/3.10 "to": 20, 8.05/3.10 "label": "EVAL-BACKTRACK" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 16, 8.05/3.10 "to": 278, 8.05/3.10 "label": "EVAL with clause\nperm(X10, .(X11, X12)) :- ','(app(X13, .(X11, X14), X10), ','(app(X13, X14, X15), perm(X15, X12))).\nand substitutionT1 -> T12,\nX10 -> T12,\nX11 -> T10,\nX12 -> T11,\nT2 -> .(T10, T11),\nT9 -> T12" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 16, 8.05/3.10 "to": 280, 8.05/3.10 "label": "EVAL-BACKTRACK" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 18, 8.05/3.10 "to": 22, 8.05/3.10 "label": "SUCCESS" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 278, 8.05/3.10 "to": 282, 8.05/3.10 "label": "SPLIT 1" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 278, 8.05/3.10 "to": 283, 8.05/3.10 "label": "SPLIT 2\nreplacements:X13 -> T17,\nX14 -> T18" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 282, 8.05/3.10 "to": 284, 8.05/3.10 "label": "CASE" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 283, 8.05/3.10 "to": 292, 8.05/3.10 "label": "SPLIT 1" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 283, 8.05/3.10 "to": 293, 8.05/3.10 "label": "SPLIT 2\nreplacements:X15 -> T49" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 284, 8.05/3.10 "to": 285, 8.05/3.10 "label": "PARALLEL" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 284, 8.05/3.10 "to": 286, 8.05/3.10 "label": "PARALLEL" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 285, 8.05/3.10 "to": 287, 8.05/3.10 "label": "EVAL with clause\napp([], X32, X32).\nand substitutionX13 -> [],\nT10 -> T31,\nX14 -> T32,\nX32 -> .(T31, T32),\nX33 -> T32,\nT12 -> .(T31, T32)" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 285, 8.05/3.10 "to": 288, 8.05/3.10 "label": "EVAL-BACKTRACK" 8.05/3.10 }, 8.05/3.10 { 8.05/3.10 "from": 286, 8.05/3.10 "to": 290, 8.05/3.10 "label": "EVAL with clause\napp(.(X48, X49), X50, .(X48, X51)) :- app(X49, X50, X51).\nand substitutionX48 -> T40,\nX49 -> X53,\nX13 -> .(T40, X53),\nT10 -> T39,\nX14 -> X54,\nX50 -> .(T39, X54),\nX52 -> T40,\nX51 -> T42,\nT12 -> .(T40, T42),\nT41 -> T42" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 286, 8.26/3.10 "to": 291, 8.26/3.10 "label": "EVAL-BACKTRACK" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 287, 8.26/3.10 "to": 289, 8.26/3.10 "label": "SUCCESS" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 290, 8.26/3.10 "to": 282, 8.26/3.10 "label": "INSTANCE with matching:\nX13 -> X53\nT10 -> T39\nX14 -> X54\nT12 -> T42" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 292, 8.26/3.10 "to": 296, 8.26/3.10 "label": "CASE" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 293, 8.26/3.10 "to": 1, 8.26/3.10 "label": "INSTANCE with matching:\nT1 -> T49\nT2 -> T11" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 296, 8.26/3.10 "to": 297, 8.26/3.10 "label": "PARALLEL" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 296, 8.26/3.10 "to": 298, 8.26/3.10 "label": "PARALLEL" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 297, 8.26/3.10 "to": 300, 8.26/3.10 "label": "EVAL with clause\napp([], X67, X67).\nand substitutionT17 -> [],\nT18 -> T56,\nX67 -> T56,\nX15 -> T56" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 297, 8.26/3.10 "to": 303, 8.26/3.10 "label": "EVAL-BACKTRACK" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 298, 8.26/3.10 "to": 331, 8.26/3.10 "label": "EVAL with clause\napp(.(X78, X79), X80, .(X78, X81)) :- app(X79, X80, X81).\nand substitutionX78 -> T63,\nX79 -> T66,\nT17 -> .(T63, T66),\nT18 -> T67,\nX80 -> T67,\nX81 -> X82,\nX15 -> .(T63, X82),\nT64 -> T66,\nT65 -> T67" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 298, 8.26/3.10 "to": 332, 8.26/3.10 "label": "EVAL-BACKTRACK" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 300, 8.26/3.10 "to": 304, 8.26/3.10 "label": "SUCCESS" 8.26/3.10 }, 8.26/3.10 { 8.26/3.10 "from": 331, 8.26/3.10 "to": 292, 8.26/3.10 "label": "INSTANCE with matching:\nT17 -> T66\nT18 -> T67\nX15 -> X82" 8.26/3.10 } 8.26/3.10 ], 8.26/3.10 "type": "Graph" 8.26/3.10 } 8.26/3.10 } 8.26/3.10 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (56) 8.26/3.10 Obligation: 8.26/3.10 Q restricted rewrite system: 8.26/3.10 The TRS R consists of the following rules: 8.26/3.10 8.26/3.10 f1_in([]) -> f1_out1 8.26/3.10 f1_in(.(T10, T11)) -> U1(f278_in(T10, T11), .(T10, T11)) 8.26/3.10 U1(f278_out1, .(T10, T11)) -> f1_out1 8.26/3.10 f282_in(T31) -> f282_out1 8.26/3.10 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.10 U2(f282_out1, T39) -> f282_out1 8.26/3.10 f292_in -> f292_out1 8.26/3.10 f292_in -> U3(f292_in) 8.26/3.10 U3(f292_out1) -> f292_out1 8.26/3.10 f278_in(T10, T11) -> U4(f282_in(T10), T10, T11) 8.26/3.10 U4(f282_out1, T10, T11) -> U5(f283_in(T11), T10, T11) 8.26/3.10 U5(f283_out1, T10, T11) -> f278_out1 8.26/3.10 f283_in(T11) -> U6(f292_in, T11) 8.26/3.10 U6(f292_out1, T11) -> U7(f1_in(T11), T11) 8.26/3.10 U7(f1_out1, T11) -> f283_out1 8.26/3.10 8.26/3.10 Q is empty. 8.26/3.10 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (57) DependencyPairsProof (EQUIVALENT) 8.26/3.10 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (58) 8.26/3.10 Obligation: 8.26/3.10 Q DP problem: 8.26/3.10 The TRS P consists of the following rules: 8.26/3.10 8.26/3.10 F1_IN(.(T10, T11)) -> U1^1(f278_in(T10, T11), .(T10, T11)) 8.26/3.10 F1_IN(.(T10, T11)) -> F278_IN(T10, T11) 8.26/3.10 F282_IN(T39) -> U2^1(f282_in(T39), T39) 8.26/3.10 F282_IN(T39) -> F282_IN(T39) 8.26/3.10 F292_IN -> U3^1(f292_in) 8.26/3.10 F292_IN -> F292_IN 8.26/3.10 F278_IN(T10, T11) -> U4^1(f282_in(T10), T10, T11) 8.26/3.10 F278_IN(T10, T11) -> F282_IN(T10) 8.26/3.10 U4^1(f282_out1, T10, T11) -> U5^1(f283_in(T11), T10, T11) 8.26/3.10 U4^1(f282_out1, T10, T11) -> F283_IN(T11) 8.26/3.10 F283_IN(T11) -> U6^1(f292_in, T11) 8.26/3.10 F283_IN(T11) -> F292_IN 8.26/3.10 U6^1(f292_out1, T11) -> U7^1(f1_in(T11), T11) 8.26/3.10 U6^1(f292_out1, T11) -> F1_IN(T11) 8.26/3.10 8.26/3.10 The TRS R consists of the following rules: 8.26/3.10 8.26/3.10 f1_in([]) -> f1_out1 8.26/3.10 f1_in(.(T10, T11)) -> U1(f278_in(T10, T11), .(T10, T11)) 8.26/3.10 U1(f278_out1, .(T10, T11)) -> f1_out1 8.26/3.10 f282_in(T31) -> f282_out1 8.26/3.10 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.10 U2(f282_out1, T39) -> f282_out1 8.26/3.10 f292_in -> f292_out1 8.26/3.10 f292_in -> U3(f292_in) 8.26/3.10 U3(f292_out1) -> f292_out1 8.26/3.10 f278_in(T10, T11) -> U4(f282_in(T10), T10, T11) 8.26/3.10 U4(f282_out1, T10, T11) -> U5(f283_in(T11), T10, T11) 8.26/3.10 U5(f283_out1, T10, T11) -> f278_out1 8.26/3.10 f283_in(T11) -> U6(f292_in, T11) 8.26/3.10 U6(f292_out1, T11) -> U7(f1_in(T11), T11) 8.26/3.10 U7(f1_out1, T11) -> f283_out1 8.26/3.10 8.26/3.10 Q is empty. 8.26/3.10 We have to consider all minimal (P,Q,R)-chains. 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (59) DependencyGraphProof (EQUIVALENT) 8.26/3.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 7 less nodes. 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (60) 8.26/3.10 Complex Obligation (AND) 8.26/3.10 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (61) 8.26/3.10 Obligation: 8.26/3.10 Q DP problem: 8.26/3.10 The TRS P consists of the following rules: 8.26/3.10 8.26/3.10 F292_IN -> F292_IN 8.26/3.10 8.26/3.10 The TRS R consists of the following rules: 8.26/3.10 8.26/3.10 f1_in([]) -> f1_out1 8.26/3.10 f1_in(.(T10, T11)) -> U1(f278_in(T10, T11), .(T10, T11)) 8.26/3.10 U1(f278_out1, .(T10, T11)) -> f1_out1 8.26/3.10 f282_in(T31) -> f282_out1 8.26/3.10 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.10 U2(f282_out1, T39) -> f282_out1 8.26/3.10 f292_in -> f292_out1 8.26/3.10 f292_in -> U3(f292_in) 8.26/3.10 U3(f292_out1) -> f292_out1 8.26/3.10 f278_in(T10, T11) -> U4(f282_in(T10), T10, T11) 8.26/3.10 U4(f282_out1, T10, T11) -> U5(f283_in(T11), T10, T11) 8.26/3.10 U5(f283_out1, T10, T11) -> f278_out1 8.26/3.10 f283_in(T11) -> U6(f292_in, T11) 8.26/3.10 U6(f292_out1, T11) -> U7(f1_in(T11), T11) 8.26/3.10 U7(f1_out1, T11) -> f283_out1 8.26/3.10 8.26/3.10 Q is empty. 8.26/3.10 We have to consider all minimal (P,Q,R)-chains. 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (62) MNOCProof (EQUIVALENT) 8.26/3.10 We use the modular non-overlap check [LPAR04] to enlarge Q to all left-hand sides of R. 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (63) 8.26/3.10 Obligation: 8.26/3.10 Q DP problem: 8.26/3.10 The TRS P consists of the following rules: 8.26/3.10 8.26/3.10 F292_IN -> F292_IN 8.26/3.10 8.26/3.10 The TRS R consists of the following rules: 8.26/3.10 8.26/3.10 f1_in([]) -> f1_out1 8.26/3.10 f1_in(.(T10, T11)) -> U1(f278_in(T10, T11), .(T10, T11)) 8.26/3.10 U1(f278_out1, .(T10, T11)) -> f1_out1 8.26/3.10 f282_in(T31) -> f282_out1 8.26/3.10 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.10 U2(f282_out1, T39) -> f282_out1 8.26/3.10 f292_in -> f292_out1 8.26/3.10 f292_in -> U3(f292_in) 8.26/3.10 U3(f292_out1) -> f292_out1 8.26/3.10 f278_in(T10, T11) -> U4(f282_in(T10), T10, T11) 8.26/3.10 U4(f282_out1, T10, T11) -> U5(f283_in(T11), T10, T11) 8.26/3.10 U5(f283_out1, T10, T11) -> f278_out1 8.26/3.10 f283_in(T11) -> U6(f292_in, T11) 8.26/3.10 U6(f292_out1, T11) -> U7(f1_in(T11), T11) 8.26/3.10 U7(f1_out1, T11) -> f283_out1 8.26/3.10 8.26/3.10 The set Q consists of the following terms: 8.26/3.10 8.26/3.10 f1_in([]) 8.26/3.10 f1_in(.(x0, x1)) 8.26/3.10 U1(f278_out1, .(x0, x1)) 8.26/3.10 f282_in(x0) 8.26/3.10 U2(f282_out1, x0) 8.26/3.10 f292_in 8.26/3.10 U3(f292_out1) 8.26/3.10 f278_in(x0, x1) 8.26/3.10 U4(f282_out1, x0, x1) 8.26/3.10 U5(f283_out1, x0, x1) 8.26/3.10 f283_in(x0) 8.26/3.10 U6(f292_out1, x0) 8.26/3.10 U7(f1_out1, x0) 8.26/3.10 8.26/3.10 We have to consider all minimal (P,Q,R)-chains. 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (64) UsableRulesProof (EQUIVALENT) 8.26/3.10 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (65) 8.26/3.10 Obligation: 8.26/3.10 Q DP problem: 8.26/3.10 The TRS P consists of the following rules: 8.26/3.10 8.26/3.10 F292_IN -> F292_IN 8.26/3.10 8.26/3.10 R is empty. 8.26/3.10 The set Q consists of the following terms: 8.26/3.10 8.26/3.10 f1_in([]) 8.26/3.10 f1_in(.(x0, x1)) 8.26/3.10 U1(f278_out1, .(x0, x1)) 8.26/3.10 f282_in(x0) 8.26/3.10 U2(f282_out1, x0) 8.26/3.10 f292_in 8.26/3.10 U3(f292_out1) 8.26/3.10 f278_in(x0, x1) 8.26/3.10 U4(f282_out1, x0, x1) 8.26/3.10 U5(f283_out1, x0, x1) 8.26/3.10 f283_in(x0) 8.26/3.10 U6(f292_out1, x0) 8.26/3.10 U7(f1_out1, x0) 8.26/3.10 8.26/3.10 We have to consider all minimal (P,Q,R)-chains. 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (66) QReductionProof (EQUIVALENT) 8.26/3.10 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 8.26/3.10 8.26/3.10 f1_in([]) 8.26/3.10 f1_in(.(x0, x1)) 8.26/3.10 U1(f278_out1, .(x0, x1)) 8.26/3.10 f282_in(x0) 8.26/3.10 U2(f282_out1, x0) 8.26/3.10 f292_in 8.26/3.10 U3(f292_out1) 8.26/3.10 f278_in(x0, x1) 8.26/3.10 U4(f282_out1, x0, x1) 8.26/3.10 U5(f283_out1, x0, x1) 8.26/3.10 f283_in(x0) 8.26/3.10 U6(f292_out1, x0) 8.26/3.10 U7(f1_out1, x0) 8.26/3.10 8.26/3.10 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (67) 8.26/3.10 Obligation: 8.26/3.10 Q DP problem: 8.26/3.10 The TRS P consists of the following rules: 8.26/3.10 8.26/3.10 F292_IN -> F292_IN 8.26/3.10 8.26/3.10 R is empty. 8.26/3.10 Q is empty. 8.26/3.10 We have to consider all minimal (P,Q,R)-chains. 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (68) NonTerminationLoopProof (COMPLETE) 8.26/3.10 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 8.26/3.10 Found a loop by semiunifying a rule from P directly. 8.26/3.10 8.26/3.10 s = F292_IN evaluates to t =F292_IN 8.26/3.10 8.26/3.10 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 8.26/3.10 * Matcher: [ ] 8.26/3.10 * Semiunifier: [ ] 8.26/3.10 8.26/3.10 -------------------------------------------------------------------------------- 8.26/3.10 Rewriting sequence 8.26/3.10 8.26/3.10 The DP semiunifies directly so there is only one rewrite step from F292_IN to F292_IN. 8.26/3.10 8.26/3.10 8.26/3.10 8.26/3.10 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (69) 8.26/3.10 NO 8.26/3.10 8.26/3.10 ---------------------------------------- 8.26/3.10 8.26/3.10 (70) 8.26/3.10 Obligation: 8.26/3.10 Q DP problem: 8.26/3.10 The TRS P consists of the following rules: 8.26/3.10 8.26/3.10 F282_IN(T39) -> F282_IN(T39) 8.26/3.10 8.26/3.10 The TRS R consists of the following rules: 8.26/3.10 8.26/3.10 f1_in([]) -> f1_out1 8.26/3.10 f1_in(.(T10, T11)) -> U1(f278_in(T10, T11), .(T10, T11)) 8.26/3.10 U1(f278_out1, .(T10, T11)) -> f1_out1 8.26/3.10 f282_in(T31) -> f282_out1 8.26/3.10 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.10 U2(f282_out1, T39) -> f282_out1 8.26/3.10 f292_in -> f292_out1 8.26/3.10 f292_in -> U3(f292_in) 8.26/3.10 U3(f292_out1) -> f292_out1 8.26/3.11 f278_in(T10, T11) -> U4(f282_in(T10), T10, T11) 8.26/3.11 U4(f282_out1, T10, T11) -> U5(f283_in(T11), T10, T11) 8.26/3.11 U5(f283_out1, T10, T11) -> f278_out1 8.26/3.11 f283_in(T11) -> U6(f292_in, T11) 8.26/3.11 U6(f292_out1, T11) -> U7(f1_in(T11), T11) 8.26/3.11 U7(f1_out1, T11) -> f283_out1 8.26/3.11 8.26/3.11 Q is empty. 8.26/3.11 We have to consider all minimal (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (71) MNOCProof (EQUIVALENT) 8.26/3.11 We use the modular non-overlap check [LPAR04] to enlarge Q to all left-hand sides of R. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (72) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 F282_IN(T39) -> F282_IN(T39) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 f1_in([]) -> f1_out1 8.26/3.11 f1_in(.(T10, T11)) -> U1(f278_in(T10, T11), .(T10, T11)) 8.26/3.11 U1(f278_out1, .(T10, T11)) -> f1_out1 8.26/3.11 f282_in(T31) -> f282_out1 8.26/3.11 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.11 U2(f282_out1, T39) -> f282_out1 8.26/3.11 f292_in -> f292_out1 8.26/3.11 f292_in -> U3(f292_in) 8.26/3.11 U3(f292_out1) -> f292_out1 8.26/3.11 f278_in(T10, T11) -> U4(f282_in(T10), T10, T11) 8.26/3.11 U4(f282_out1, T10, T11) -> U5(f283_in(T11), T10, T11) 8.26/3.11 U5(f283_out1, T10, T11) -> f278_out1 8.26/3.11 f283_in(T11) -> U6(f292_in, T11) 8.26/3.11 U6(f292_out1, T11) -> U7(f1_in(T11), T11) 8.26/3.11 U7(f1_out1, T11) -> f283_out1 8.26/3.11 8.26/3.11 The set Q consists of the following terms: 8.26/3.11 8.26/3.11 f1_in([]) 8.26/3.11 f1_in(.(x0, x1)) 8.26/3.11 U1(f278_out1, .(x0, x1)) 8.26/3.11 f282_in(x0) 8.26/3.11 U2(f282_out1, x0) 8.26/3.11 f292_in 8.26/3.11 U3(f292_out1) 8.26/3.11 f278_in(x0, x1) 8.26/3.11 U4(f282_out1, x0, x1) 8.26/3.11 U5(f283_out1, x0, x1) 8.26/3.11 f283_in(x0) 8.26/3.11 U6(f292_out1, x0) 8.26/3.11 U7(f1_out1, x0) 8.26/3.11 8.26/3.11 We have to consider all minimal (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (73) UsableRulesProof (EQUIVALENT) 8.26/3.11 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (74) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 F282_IN(T39) -> F282_IN(T39) 8.26/3.11 8.26/3.11 R is empty. 8.26/3.11 The set Q consists of the following terms: 8.26/3.11 8.26/3.11 f1_in([]) 8.26/3.11 f1_in(.(x0, x1)) 8.26/3.11 U1(f278_out1, .(x0, x1)) 8.26/3.11 f282_in(x0) 8.26/3.11 U2(f282_out1, x0) 8.26/3.11 f292_in 8.26/3.11 U3(f292_out1) 8.26/3.11 f278_in(x0, x1) 8.26/3.11 U4(f282_out1, x0, x1) 8.26/3.11 U5(f283_out1, x0, x1) 8.26/3.11 f283_in(x0) 8.26/3.11 U6(f292_out1, x0) 8.26/3.11 U7(f1_out1, x0) 8.26/3.11 8.26/3.11 We have to consider all minimal (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (75) QReductionProof (EQUIVALENT) 8.26/3.11 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 8.26/3.11 8.26/3.11 f1_in([]) 8.26/3.11 f1_in(.(x0, x1)) 8.26/3.11 U1(f278_out1, .(x0, x1)) 8.26/3.11 f282_in(x0) 8.26/3.11 U2(f282_out1, x0) 8.26/3.11 f292_in 8.26/3.11 U3(f292_out1) 8.26/3.11 f278_in(x0, x1) 8.26/3.11 U4(f282_out1, x0, x1) 8.26/3.11 U5(f283_out1, x0, x1) 8.26/3.11 f283_in(x0) 8.26/3.11 U6(f292_out1, x0) 8.26/3.11 U7(f1_out1, x0) 8.26/3.11 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (76) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 F282_IN(T39) -> F282_IN(T39) 8.26/3.11 8.26/3.11 R is empty. 8.26/3.11 Q is empty. 8.26/3.11 We have to consider all minimal (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (77) NonTerminationLoopProof (COMPLETE) 8.26/3.11 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 8.26/3.11 Found a loop by semiunifying a rule from P directly. 8.26/3.11 8.26/3.11 s = F282_IN(T39) evaluates to t =F282_IN(T39) 8.26/3.11 8.26/3.11 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 8.26/3.11 * Matcher: [ ] 8.26/3.11 * Semiunifier: [ ] 8.26/3.11 8.26/3.11 -------------------------------------------------------------------------------- 8.26/3.11 Rewriting sequence 8.26/3.11 8.26/3.11 The DP semiunifies directly so there is only one rewrite step from F282_IN(T39) to F282_IN(T39). 8.26/3.11 8.26/3.11 8.26/3.11 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (78) 8.26/3.11 NO 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (79) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 F1_IN(.(T10, T11)) -> F278_IN(T10, T11) 8.26/3.11 F278_IN(T10, T11) -> U4^1(f282_in(T10), T10, T11) 8.26/3.11 U4^1(f282_out1, T10, T11) -> F283_IN(T11) 8.26/3.11 F283_IN(T11) -> U6^1(f292_in, T11) 8.26/3.11 U6^1(f292_out1, T11) -> F1_IN(T11) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 f1_in([]) -> f1_out1 8.26/3.11 f1_in(.(T10, T11)) -> U1(f278_in(T10, T11), .(T10, T11)) 8.26/3.11 U1(f278_out1, .(T10, T11)) -> f1_out1 8.26/3.11 f282_in(T31) -> f282_out1 8.26/3.11 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.11 U2(f282_out1, T39) -> f282_out1 8.26/3.11 f292_in -> f292_out1 8.26/3.11 f292_in -> U3(f292_in) 8.26/3.11 U3(f292_out1) -> f292_out1 8.26/3.11 f278_in(T10, T11) -> U4(f282_in(T10), T10, T11) 8.26/3.11 U4(f282_out1, T10, T11) -> U5(f283_in(T11), T10, T11) 8.26/3.11 U5(f283_out1, T10, T11) -> f278_out1 8.26/3.11 f283_in(T11) -> U6(f292_in, T11) 8.26/3.11 U6(f292_out1, T11) -> U7(f1_in(T11), T11) 8.26/3.11 U7(f1_out1, T11) -> f283_out1 8.26/3.11 8.26/3.11 Q is empty. 8.26/3.11 We have to consider all minimal (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (80) MNOCProof (EQUIVALENT) 8.26/3.11 We use the modular non-overlap check [LPAR04] to enlarge Q to all left-hand sides of R. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (81) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 F1_IN(.(T10, T11)) -> F278_IN(T10, T11) 8.26/3.11 F278_IN(T10, T11) -> U4^1(f282_in(T10), T10, T11) 8.26/3.11 U4^1(f282_out1, T10, T11) -> F283_IN(T11) 8.26/3.11 F283_IN(T11) -> U6^1(f292_in, T11) 8.26/3.11 U6^1(f292_out1, T11) -> F1_IN(T11) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 f1_in([]) -> f1_out1 8.26/3.11 f1_in(.(T10, T11)) -> U1(f278_in(T10, T11), .(T10, T11)) 8.26/3.11 U1(f278_out1, .(T10, T11)) -> f1_out1 8.26/3.11 f282_in(T31) -> f282_out1 8.26/3.11 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.11 U2(f282_out1, T39) -> f282_out1 8.26/3.11 f292_in -> f292_out1 8.26/3.11 f292_in -> U3(f292_in) 8.26/3.11 U3(f292_out1) -> f292_out1 8.26/3.11 f278_in(T10, T11) -> U4(f282_in(T10), T10, T11) 8.26/3.11 U4(f282_out1, T10, T11) -> U5(f283_in(T11), T10, T11) 8.26/3.11 U5(f283_out1, T10, T11) -> f278_out1 8.26/3.11 f283_in(T11) -> U6(f292_in, T11) 8.26/3.11 U6(f292_out1, T11) -> U7(f1_in(T11), T11) 8.26/3.11 U7(f1_out1, T11) -> f283_out1 8.26/3.11 8.26/3.11 The set Q consists of the following terms: 8.26/3.11 8.26/3.11 f1_in([]) 8.26/3.11 f1_in(.(x0, x1)) 8.26/3.11 U1(f278_out1, .(x0, x1)) 8.26/3.11 f282_in(x0) 8.26/3.11 U2(f282_out1, x0) 8.26/3.11 f292_in 8.26/3.11 U3(f292_out1) 8.26/3.11 f278_in(x0, x1) 8.26/3.11 U4(f282_out1, x0, x1) 8.26/3.11 U5(f283_out1, x0, x1) 8.26/3.11 f283_in(x0) 8.26/3.11 U6(f292_out1, x0) 8.26/3.11 U7(f1_out1, x0) 8.26/3.11 8.26/3.11 We have to consider all minimal (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (82) UsableRulesProof (EQUIVALENT) 8.26/3.11 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (83) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 F1_IN(.(T10, T11)) -> F278_IN(T10, T11) 8.26/3.11 F278_IN(T10, T11) -> U4^1(f282_in(T10), T10, T11) 8.26/3.11 U4^1(f282_out1, T10, T11) -> F283_IN(T11) 8.26/3.11 F283_IN(T11) -> U6^1(f292_in, T11) 8.26/3.11 U6^1(f292_out1, T11) -> F1_IN(T11) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 f292_in -> f292_out1 8.26/3.11 f292_in -> U3(f292_in) 8.26/3.11 U3(f292_out1) -> f292_out1 8.26/3.11 f282_in(T31) -> f282_out1 8.26/3.11 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.11 U2(f282_out1, T39) -> f282_out1 8.26/3.11 8.26/3.11 The set Q consists of the following terms: 8.26/3.11 8.26/3.11 f1_in([]) 8.26/3.11 f1_in(.(x0, x1)) 8.26/3.11 U1(f278_out1, .(x0, x1)) 8.26/3.11 f282_in(x0) 8.26/3.11 U2(f282_out1, x0) 8.26/3.11 f292_in 8.26/3.11 U3(f292_out1) 8.26/3.11 f278_in(x0, x1) 8.26/3.11 U4(f282_out1, x0, x1) 8.26/3.11 U5(f283_out1, x0, x1) 8.26/3.11 f283_in(x0) 8.26/3.11 U6(f292_out1, x0) 8.26/3.11 U7(f1_out1, x0) 8.26/3.11 8.26/3.11 We have to consider all minimal (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (84) QReductionProof (EQUIVALENT) 8.26/3.11 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 8.26/3.11 8.26/3.11 f1_in([]) 8.26/3.11 f1_in(.(x0, x1)) 8.26/3.11 U1(f278_out1, .(x0, x1)) 8.26/3.11 f278_in(x0, x1) 8.26/3.11 U4(f282_out1, x0, x1) 8.26/3.11 U5(f283_out1, x0, x1) 8.26/3.11 f283_in(x0) 8.26/3.11 U6(f292_out1, x0) 8.26/3.11 U7(f1_out1, x0) 8.26/3.11 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (85) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 F1_IN(.(T10, T11)) -> F278_IN(T10, T11) 8.26/3.11 F278_IN(T10, T11) -> U4^1(f282_in(T10), T10, T11) 8.26/3.11 U4^1(f282_out1, T10, T11) -> F283_IN(T11) 8.26/3.11 F283_IN(T11) -> U6^1(f292_in, T11) 8.26/3.11 U6^1(f292_out1, T11) -> F1_IN(T11) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 f292_in -> f292_out1 8.26/3.11 f292_in -> U3(f292_in) 8.26/3.11 U3(f292_out1) -> f292_out1 8.26/3.11 f282_in(T31) -> f282_out1 8.26/3.11 f282_in(T39) -> U2(f282_in(T39), T39) 8.26/3.11 U2(f282_out1, T39) -> f282_out1 8.26/3.11 8.26/3.11 The set Q consists of the following terms: 8.26/3.11 8.26/3.11 f282_in(x0) 8.26/3.11 U2(f282_out1, x0) 8.26/3.11 f292_in 8.26/3.11 U3(f292_out1) 8.26/3.11 8.26/3.11 We have to consider all minimal (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (86) QDPSizeChangeProof (EQUIVALENT) 8.26/3.11 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 8.26/3.11 8.26/3.11 From the DPs we obtained the following set of size-change graphs: 8.26/3.11 *F278_IN(T10, T11) -> U4^1(f282_in(T10), T10, T11) 8.26/3.11 The graph contains the following edges 1 >= 2, 2 >= 3 8.26/3.11 8.26/3.11 8.26/3.11 *U6^1(f292_out1, T11) -> F1_IN(T11) 8.26/3.11 The graph contains the following edges 2 >= 1 8.26/3.11 8.26/3.11 8.26/3.11 *U4^1(f282_out1, T10, T11) -> F283_IN(T11) 8.26/3.11 The graph contains the following edges 3 >= 1 8.26/3.11 8.26/3.11 8.26/3.11 *F1_IN(.(T10, T11)) -> F278_IN(T10, T11) 8.26/3.11 The graph contains the following edges 1 > 1, 1 > 2 8.26/3.11 8.26/3.11 8.26/3.11 *F283_IN(T11) -> U6^1(f292_in, T11) 8.26/3.11 The graph contains the following edges 1 >= 2 8.26/3.11 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (87) 8.26/3.11 YES 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (88) PrologToDTProblemTransformerProof (SOUND) 8.26/3.11 Built DT problem from termination graph DT10. 8.26/3.11 8.26/3.11 { 8.26/3.11 "root": 2, 8.26/3.11 "program": { 8.26/3.11 "directives": [], 8.26/3.11 "clauses": [ 8.26/3.11 [ 8.26/3.11 "(perm ([]) ([]))", 8.26/3.11 null 8.26/3.11 ], 8.26/3.11 [ 8.26/3.11 "(perm Xs (. X Ys))", 8.26/3.11 "(',' (app X1s (. X X2s) Xs) (',' (app X1s X2s Zs) (perm Zs Ys)))" 8.26/3.11 ], 8.26/3.11 [ 8.26/3.11 "(app ([]) X X)", 8.26/3.11 null 8.26/3.11 ], 8.26/3.11 [ 8.26/3.11 "(app (. X Xs) Ys (. X Zs))", 8.26/3.11 "(app Xs Ys Zs)" 8.26/3.11 ] 8.26/3.11 ] 8.26/3.11 }, 8.26/3.11 "graph": { 8.26/3.11 "nodes": { 8.26/3.11 "192": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 2, 8.26/3.11 "scope": 2, 8.26/3.11 "term": "(',' (app X10 (. T8 X11) T10) (',' (app X10 X11 X12) (perm X12 T9)))" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [ 8.26/3.11 "T8", 8.26/3.11 "T9" 8.26/3.11 ], 8.26/3.11 "free": [ 8.26/3.11 "X10", 8.26/3.11 "X11", 8.26/3.11 "X12" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "193": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 2, 8.26/3.11 "term": "(',' (app X10 (. T8 X11) T10) (',' (app X10 X11 X12) (perm X12 T9)))" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [ 8.26/3.11 "T8", 8.26/3.11 "T9" 8.26/3.11 ], 8.26/3.11 "free": [ 8.26/3.11 "X10", 8.26/3.11 "X11", 8.26/3.11 "X12" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "type": "Nodes", 8.26/3.11 "150": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(',' (app X10 (. T8 X11) T10) (',' (app X10 X11 X12) (perm X12 T9)))" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [ 8.26/3.11 "T8", 8.26/3.11 "T9" 8.26/3.11 ], 8.26/3.11 "free": [ 8.26/3.11 "X10", 8.26/3.11 "X11", 8.26/3.11 "X12" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "272": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(app X53 (. T36 X54) T39)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T36"], 8.26/3.11 "free": [ 8.26/3.11 "X53", 8.26/3.11 "X54" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "294": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 2, 8.26/3.11 "scope": 4, 8.26/3.11 "term": "(app X53 (. T36 X54) T39)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T36"], 8.26/3.11 "free": [ 8.26/3.11 "X53", 8.26/3.11 "X54" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "251": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(',' (app X53 (. T36 X54) T39) (',' (app (. T40 X53) X54 X12) (perm X12 T9)))" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [ 8.26/3.11 "T9", 8.26/3.11 "T36" 8.26/3.11 ], 8.26/3.11 "free": [ 8.26/3.11 "X12", 8.26/3.11 "X53", 8.26/3.11 "X54" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "273": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(',' (app (. T47 T45) T46 X12) (perm X12 T9))" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T9"], 8.26/3.11 "free": ["X12"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "295": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 4, 8.26/3.11 "term": "(app X53 (. T36 X54) T39)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T36"], 8.26/3.11 "free": [ 8.26/3.11 "X53", 8.26/3.11 "X54" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "230": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 2, 8.26/3.11 "scope": 3, 8.26/3.11 "term": "(app ([]) T21 X12)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X12"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "176": { 8.26/3.11 "goal": [ 8.26/3.11 { 8.26/3.11 "clause": 2, 8.26/3.11 "scope": 2, 8.26/3.11 "term": "(',' (app X10 (. T8 X11) T10) (',' (app X10 X11 X12) (perm X12 T9)))" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 2, 8.26/3.11 "term": "(',' (app X10 (. T8 X11) T10) (',' (app X10 X11 X12) (perm X12 T9)))" 8.26/3.11 } 8.26/3.11 ], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [ 8.26/3.11 "T8", 8.26/3.11 "T9" 8.26/3.11 ], 8.26/3.11 "free": [ 8.26/3.11 "X10", 8.26/3.11 "X11", 8.26/3.11 "X12" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "231": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 3, 8.26/3.11 "term": "(app ([]) T21 X12)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X12"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "330": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 5, 8.26/3.11 "term": "(app (. T47 T45) T46 X12)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X12"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "254": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "233": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(true)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "277": { 8.26/3.11 "goal": [ 8.26/3.11 { 8.26/3.11 "clause": 2, 8.26/3.11 "scope": 4, 8.26/3.11 "term": "(app X53 (. T36 X54) T39)" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 4, 8.26/3.11 "term": "(app X53 (. T36 X54) T39)" 8.26/3.11 } 8.26/3.11 ], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T36"], 8.26/3.11 "free": [ 8.26/3.11 "X53", 8.26/3.11 "X54" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "299": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(true)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "234": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "333": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(app T90 T91 X119)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X119"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "235": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "334": { 8.26/3.11 "goal": [ 8.26/3.11 { 8.26/3.11 "clause": 2, 8.26/3.11 "scope": 6, 8.26/3.11 "term": "(app T90 T91 X119)" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 6, 8.26/3.11 "term": "(app T90 T91 X119)" 8.26/3.11 } 8.26/3.11 ], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X119"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "335": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 2, 8.26/3.11 "scope": 6, 8.26/3.11 "term": "(app T90 T91 X119)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X119"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "336": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 6, 8.26/3.11 "term": "(app T90 T91 X119)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X119"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "337": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(true)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "118": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "217": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(app ([]) T21 X12)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X12"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "338": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "218": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(perm T23 T9)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T9"], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "339": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "17": { 8.26/3.11 "goal": [ 8.26/3.11 { 8.26/3.11 "clause": 0, 8.26/3.11 "scope": 1, 8.26/3.11 "term": "(perm T1 T2)" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "clause": 1, 8.26/3.11 "scope": 1, 8.26/3.11 "term": "(perm T1 T2)" 8.26/3.11 } 8.26/3.11 ], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T2"], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "19": { 8.26/3.11 "goal": [ 8.26/3.11 { 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(true)" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "clause": 1, 8.26/3.11 "scope": 1, 8.26/3.11 "term": "(perm T1 ([]))" 8.26/3.11 } 8.26/3.11 ], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "340": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(app T108 T109 X141)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X141"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "341": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "166": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "2": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(perm T1 T2)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T2"], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "202": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(',' (app ([]) T21 X12) (perm X12 T9))" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T9"], 8.26/3.11 "free": ["X12"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "301": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "225": { 8.26/3.11 "goal": [ 8.26/3.11 { 8.26/3.11 "clause": 2, 8.26/3.11 "scope": 3, 8.26/3.11 "term": "(app ([]) T21 X12)" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 3, 8.26/3.11 "term": "(app ([]) T21 X12)" 8.26/3.11 } 8.26/3.11 ], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X12"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "302": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "205": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "305": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(app X92 (. T68 X93) T71)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T68"], 8.26/3.11 "free": [ 8.26/3.11 "X92", 8.26/3.11 "X93" 8.26/3.11 ], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "327": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(app (. T47 T45) T46 X12)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X12"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "306": { 8.26/3.11 "goal": [], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "328": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": -1, 8.26/3.11 "scope": -1, 8.26/3.11 "term": "(perm T76 T9)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T9"], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "109": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 1, 8.26/3.11 "scope": 1, 8.26/3.11 "term": "(perm T1 ([]))" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "329": { 8.26/3.11 "goal": [ 8.26/3.11 { 8.26/3.11 "clause": 2, 8.26/3.11 "scope": 5, 8.26/3.11 "term": "(app (. T47 T45) T46 X12)" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "clause": 3, 8.26/3.11 "scope": 5, 8.26/3.11 "term": "(app (. T47 T45) T46 X12)" 8.26/3.11 } 8.26/3.11 ], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": [], 8.26/3.11 "free": ["X12"], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "21": { 8.26/3.11 "goal": [{ 8.26/3.11 "clause": 1, 8.26/3.11 "scope": 1, 8.26/3.11 "term": "(perm T1 T2)" 8.26/3.11 }], 8.26/3.11 "kb": { 8.26/3.11 "nonunifying": [[ 8.26/3.11 "(perm T1 T2)", 8.26/3.11 "(perm ([]) ([]))" 8.26/3.11 ]], 8.26/3.11 "intvars": {}, 8.26/3.11 "arithmetic": { 8.26/3.11 "type": "PlainIntegerRelationState", 8.26/3.11 "relations": [] 8.26/3.11 }, 8.26/3.11 "ground": ["T2"], 8.26/3.11 "free": [], 8.26/3.11 "exprvars": [] 8.26/3.11 } 8.26/3.11 } 8.26/3.11 }, 8.26/3.11 "edges": [ 8.26/3.11 { 8.26/3.11 "from": 2, 8.26/3.11 "to": 17, 8.26/3.11 "label": "CASE" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 17, 8.26/3.11 "to": 19, 8.26/3.11 "label": "EVAL with clause\nperm([], []).\nand substitutionT1 -> [],\nT2 -> []" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 17, 8.26/3.11 "to": 21, 8.26/3.11 "label": "EVAL-BACKTRACK" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 19, 8.26/3.11 "to": 109, 8.26/3.11 "label": "SUCCESS" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 21, 8.26/3.11 "to": 150, 8.26/3.11 "label": "EVAL with clause\nperm(X7, .(X8, X9)) :- ','(app(X10, .(X8, X11), X7), ','(app(X10, X11, X12), perm(X12, X9))).\nand substitutionT1 -> T10,\nX7 -> T10,\nX8 -> T8,\nX9 -> T9,\nT2 -> .(T8, T9),\nT7 -> T10" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 21, 8.26/3.11 "to": 166, 8.26/3.11 "label": "EVAL-BACKTRACK" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 109, 8.26/3.11 "to": 118, 8.26/3.11 "label": "BACKTRACK\nfor clause: perm(Xs, .(X, Ys)) :- ','(app(X1s, .(X, X2s), Xs), ','(app(X1s, X2s, Zs), perm(Zs, Ys)))because of non-unification" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 150, 8.26/3.11 "to": 176, 8.26/3.11 "label": "CASE" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 176, 8.26/3.11 "to": 192, 8.26/3.11 "label": "PARALLEL" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 176, 8.26/3.11 "to": 193, 8.26/3.11 "label": "PARALLEL" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 192, 8.26/3.11 "to": 202, 8.26/3.11 "label": "EVAL with clause\napp([], X21, X21).\nand substitutionX10 -> [],\nT8 -> T19,\nX11 -> T21,\nX21 -> .(T19, T21),\nX22 -> T21,\nT10 -> .(T19, T21),\nT20 -> T21" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 192, 8.26/3.11 "to": 205, 8.26/3.11 "label": "EVAL-BACKTRACK" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 193, 8.26/3.11 "to": 251, 8.26/3.11 "label": "EVAL with clause\napp(.(X48, X49), X50, .(X48, X51)) :- app(X49, X50, X51).\nand substitutionX48 -> T40,\nX49 -> X53,\nX10 -> .(T40, X53),\nT8 -> T36,\nX11 -> X54,\nX50 -> .(T36, X54),\nX52 -> T40,\nX51 -> T39,\nT10 -> .(T40, T39),\nT38 -> T39,\nT37 -> T40" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 193, 8.26/3.11 "to": 254, 8.26/3.11 "label": "EVAL-BACKTRACK" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 202, 8.26/3.11 "to": 217, 8.26/3.11 "label": "SPLIT 1" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 202, 8.26/3.11 "to": 218, 8.26/3.11 "label": "SPLIT 2\nreplacements:X12 -> T23" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 217, 8.26/3.11 "to": 225, 8.26/3.11 "label": "CASE" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 218, 8.26/3.11 "to": 2, 8.26/3.11 "label": "INSTANCE with matching:\nT1 -> T23\nT2 -> T9" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 225, 8.26/3.11 "to": 230, 8.26/3.11 "label": "PARALLEL" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 225, 8.26/3.11 "to": 231, 8.26/3.11 "label": "PARALLEL" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 230, 8.26/3.11 "to": 233, 8.26/3.11 "label": "ONLY EVAL with clause\napp([], X29, X29).\nand substitutionT21 -> T29,\nX29 -> T29,\nX12 -> T29" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 231, 8.26/3.11 "to": 235, 8.26/3.11 "label": "BACKTRACK\nfor clause: app(.(X, Xs), Ys, .(X, Zs)) :- app(Xs, Ys, Zs)because of non-unification" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 233, 8.26/3.11 "to": 234, 8.26/3.11 "label": "SUCCESS" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 251, 8.26/3.11 "to": 272, 8.26/3.11 "label": "SPLIT 1" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 251, 8.26/3.11 "to": 273, 8.26/3.11 "label": "SPLIT 2\nreplacements:X53 -> T45,\nX54 -> T46,\nT40 -> T47" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 272, 8.26/3.11 "to": 277, 8.26/3.11 "label": "CASE" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 273, 8.26/3.11 "to": 327, 8.26/3.11 "label": "SPLIT 1" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 273, 8.26/3.11 "to": 328, 8.26/3.11 "label": "SPLIT 2\nreplacements:X12 -> T76" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 277, 8.26/3.11 "to": 294, 8.26/3.11 "label": "PARALLEL" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 277, 8.26/3.11 "to": 295, 8.26/3.11 "label": "PARALLEL" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 294, 8.26/3.11 "to": 299, 8.26/3.11 "label": "EVAL with clause\napp([], X71, X71).\nand substitutionX53 -> [],\nT36 -> T60,\nX54 -> T61,\nX71 -> .(T60, T61),\nX72 -> T61,\nT39 -> .(T60, T61)" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 294, 8.26/3.11 "to": 301, 8.26/3.11 "label": "EVAL-BACKTRACK" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 295, 8.26/3.11 "to": 305, 8.26/3.11 "label": "EVAL with clause\napp(.(X87, X88), X89, .(X87, X90)) :- app(X88, X89, X90).\nand substitutionX87 -> T69,\nX88 -> X92,\nX53 -> .(T69, X92),\nT36 -> T68,\nX54 -> X93,\nX89 -> .(T68, X93),\nX91 -> T69,\nX90 -> T71,\nT39 -> .(T69, T71),\nT70 -> T71" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 295, 8.26/3.11 "to": 306, 8.26/3.11 "label": "EVAL-BACKTRACK" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 299, 8.26/3.11 "to": 302, 8.26/3.11 "label": "SUCCESS" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 305, 8.26/3.11 "to": 272, 8.26/3.11 "label": "INSTANCE with matching:\nX53 -> X92\nT36 -> T68\nX54 -> X93\nT39 -> T71" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 327, 8.26/3.11 "to": 329, 8.26/3.11 "label": "CASE" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 328, 8.26/3.11 "to": 2, 8.26/3.11 "label": "INSTANCE with matching:\nT1 -> T76\nT2 -> T9" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 329, 8.26/3.11 "to": 330, 8.26/3.11 "label": "BACKTRACK\nfor clause: app([], X, X)because of non-unification" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 330, 8.26/3.11 "to": 333, 8.26/3.11 "label": "ONLY EVAL with clause\napp(.(X115, X116), X117, .(X115, X118)) :- app(X116, X117, X118).\nand substitutionT47 -> T87,\nX115 -> T87,\nT45 -> T90,\nX116 -> T90,\nT46 -> T91,\nX117 -> T91,\nX118 -> X119,\nX12 -> .(T87, X119),\nT88 -> T90,\nT89 -> T91" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 333, 8.26/3.11 "to": 334, 8.26/3.11 "label": "CASE" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 334, 8.26/3.11 "to": 335, 8.26/3.11 "label": "PARALLEL" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 334, 8.26/3.11 "to": 336, 8.26/3.11 "label": "PARALLEL" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 335, 8.26/3.11 "to": 337, 8.26/3.11 "label": "EVAL with clause\napp([], X126, X126).\nand substitutionT90 -> [],\nT91 -> T98,\nX126 -> T98,\nX119 -> T98" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 335, 8.26/3.11 "to": 338, 8.26/3.11 "label": "EVAL-BACKTRACK" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 336, 8.26/3.11 "to": 340, 8.26/3.11 "label": "EVAL with clause\napp(.(X137, X138), X139, .(X137, X140)) :- app(X138, X139, X140).\nand substitutionX137 -> T105,\nX138 -> T108,\nT90 -> .(T105, T108),\nT91 -> T109,\nX139 -> T109,\nX140 -> X141,\nX119 -> .(T105, X141),\nT106 -> T108,\nT107 -> T109" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 336, 8.26/3.11 "to": 341, 8.26/3.11 "label": "EVAL-BACKTRACK" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 337, 8.26/3.11 "to": 339, 8.26/3.11 "label": "SUCCESS" 8.26/3.11 }, 8.26/3.11 { 8.26/3.11 "from": 340, 8.26/3.11 "to": 333, 8.26/3.11 "label": "INSTANCE with matching:\nT90 -> T108\nT91 -> T109\nX119 -> X141" 8.26/3.11 } 8.26/3.11 ], 8.26/3.11 "type": "Graph" 8.26/3.11 } 8.26/3.11 } 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (89) 8.26/3.11 Obligation: 8.26/3.11 Triples: 8.26/3.11 8.26/3.11 appC(.(X1, X2), X3, X4, .(X1, X5)) :- appC(X2, X3, X4, X5). 8.26/3.11 appE(.(X1, X2), X3, .(X1, X4)) :- appE(X2, X3, X4). 8.26/3.11 permA(.(X1, X2), .(X1, X3)) :- ','(appcB(X2, X4), permA(X4, X3)). 8.26/3.11 permA(.(X1, X2), .(X3, X4)) :- appC(X5, X3, X6, X2). 8.26/3.11 permA(.(X1, X2), .(X3, X4)) :- ','(appcC(X5, X3, X6, X2), appE(X5, X6, X7)). 8.26/3.11 permA(.(X1, X2), .(X3, X4)) :- ','(appcC(X5, X3, X6, X2), ','(appcD(X1, X5, X6, X7), permA(X7, X4))). 8.26/3.11 8.26/3.11 Clauses: 8.26/3.11 8.26/3.11 permcA([], []). 8.26/3.11 permcA(.(X1, X2), .(X1, X3)) :- ','(appcB(X2, X4), permcA(X4, X3)). 8.26/3.11 permcA(.(X1, X2), .(X3, X4)) :- ','(appcC(X5, X3, X6, X2), ','(appcD(X1, X5, X6, X7), permcA(X7, X4))). 8.26/3.11 appcC([], X1, X2, .(X1, X2)). 8.26/3.11 appcC(.(X1, X2), X3, X4, .(X1, X5)) :- appcC(X2, X3, X4, X5). 8.26/3.11 appcE([], X1, X1). 8.26/3.11 appcE(.(X1, X2), X3, .(X1, X4)) :- appcE(X2, X3, X4). 8.26/3.11 appcB(X1, X1). 8.26/3.11 appcD(X1, X2, X3, .(X1, X4)) :- appcE(X2, X3, X4). 8.26/3.11 8.26/3.11 Afs: 8.26/3.11 8.26/3.11 permA(x1, x2) = permA(x2) 8.26/3.11 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (90) TriplesToPiDPProof (SOUND) 8.26/3.11 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 8.26/3.11 8.26/3.11 permA_in_2: (f,b) 8.26/3.11 8.26/3.11 appC_in_4: (f,f,f,f) 8.26/3.11 8.26/3.11 appcC_in_4: (f,f,f,f) 8.26/3.11 8.26/3.11 appE_in_3: (b,f,f) 8.26/3.11 8.26/3.11 appcD_in_4: (f,b,f,f) 8.26/3.11 8.26/3.11 appcE_in_3: (b,f,f) 8.26/3.11 8.26/3.11 Transforming TRIPLES into the following Term Rewriting System: 8.26/3.11 8.26/3.11 Pi DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X1, X3)) -> U3_AG(X1, X2, X3, appcB_in_aa(X2, X4)) 8.26/3.11 U3_AG(X1, X2, X3, appcB_out_aa(X2, X4)) -> U4_AG(X1, X2, X3, permA_in_ag(X4, X3)) 8.26/3.11 U3_AG(X1, X2, X3, appcB_out_aa(X2, X4)) -> PERMA_IN_AG(X4, X3) 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X3, X4)) -> U5_AG(X1, X2, X3, X4, appC_in_aaaa(X5, X3, X6, X2)) 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X3, X4)) -> APPC_IN_AAAA(X5, X3, X6, X2) 8.26/3.11 APPC_IN_AAAA(.(X1, X2), X3, X4, .(X1, X5)) -> U1_AAAA(X1, X2, X3, X4, X5, appC_in_aaaa(X2, X3, X4, X5)) 8.26/3.11 APPC_IN_AAAA(.(X1, X2), X3, X4, .(X1, X5)) -> APPC_IN_AAAA(X2, X3, X4, X5) 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X3, X4)) -> U6_AG(X1, X2, X3, X4, appcC_in_aaaa(X5, X3, X6, X2)) 8.26/3.11 U6_AG(X1, X2, X3, X4, appcC_out_aaaa(X5, X3, X6, X2)) -> U7_AG(X1, X2, X3, X4, appE_in_gaa(X5, X6, X7)) 8.26/3.11 U6_AG(X1, X2, X3, X4, appcC_out_aaaa(X5, X3, X6, X2)) -> APPE_IN_GAA(X5, X6, X7) 8.26/3.11 APPE_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> U2_GAA(X1, X2, X3, X4, appE_in_gaa(X2, X3, X4)) 8.26/3.11 APPE_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> APPE_IN_GAA(X2, X3, X4) 8.26/3.11 U6_AG(X1, X2, X3, X4, appcC_out_aaaa(X5, X3, X6, X2)) -> U8_AG(X1, X2, X3, X4, appcD_in_agaa(X1, X5, X6, X7)) 8.26/3.11 U8_AG(X1, X2, X3, X4, appcD_out_agaa(X1, X5, X6, X7)) -> U9_AG(X1, X2, X3, X4, permA_in_ag(X7, X4)) 8.26/3.11 U8_AG(X1, X2, X3, X4, appcD_out_agaa(X1, X5, X6, X7)) -> PERMA_IN_AG(X7, X4) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 appcB_in_aa(X1, X1) -> appcB_out_aa(X1, X1) 8.26/3.11 appcC_in_aaaa([], X1, X2, .(X1, X2)) -> appcC_out_aaaa([], X1, X2, .(X1, X2)) 8.26/3.11 appcC_in_aaaa(.(X1, X2), X3, X4, .(X1, X5)) -> U16_aaaa(X1, X2, X3, X4, X5, appcC_in_aaaa(X2, X3, X4, X5)) 8.26/3.11 U16_aaaa(X1, X2, X3, X4, X5, appcC_out_aaaa(X2, X3, X4, X5)) -> appcC_out_aaaa(.(X1, X2), X3, X4, .(X1, X5)) 8.26/3.11 appcD_in_agaa(X1, X2, X3, .(X1, X4)) -> U18_agaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 appcE_in_gaa([], X1, X1) -> appcE_out_gaa([], X1, X1) 8.26/3.11 appcE_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U17_gaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 U17_gaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcE_out_gaa(.(X1, X2), X3, .(X1, X4)) 8.26/3.11 U18_agaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcD_out_agaa(X1, X2, X3, .(X1, X4)) 8.26/3.11 8.26/3.11 The argument filtering Pi contains the following mapping: 8.26/3.11 permA_in_ag(x1, x2) = permA_in_ag(x2) 8.26/3.11 8.26/3.11 .(x1, x2) = .(x2) 8.26/3.11 8.26/3.11 appcB_in_aa(x1, x2) = appcB_in_aa 8.26/3.11 8.26/3.11 appcB_out_aa(x1, x2) = appcB_out_aa 8.26/3.11 8.26/3.11 appC_in_aaaa(x1, x2, x3, x4) = appC_in_aaaa 8.26/3.11 8.26/3.11 appcC_in_aaaa(x1, x2, x3, x4) = appcC_in_aaaa 8.26/3.11 8.26/3.11 appcC_out_aaaa(x1, x2, x3, x4) = appcC_out_aaaa(x1) 8.26/3.11 8.26/3.11 U16_aaaa(x1, x2, x3, x4, x5, x6) = U16_aaaa(x6) 8.26/3.11 8.26/3.11 appE_in_gaa(x1, x2, x3) = appE_in_gaa(x1) 8.26/3.11 8.26/3.11 appcD_in_agaa(x1, x2, x3, x4) = appcD_in_agaa(x2) 8.26/3.11 8.26/3.11 U18_agaa(x1, x2, x3, x4, x5) = U18_agaa(x2, x5) 8.26/3.11 8.26/3.11 appcE_in_gaa(x1, x2, x3) = appcE_in_gaa(x1) 8.26/3.11 8.26/3.11 [] = [] 8.26/3.11 8.26/3.11 appcE_out_gaa(x1, x2, x3) = appcE_out_gaa(x1) 8.26/3.11 8.26/3.11 U17_gaa(x1, x2, x3, x4, x5) = U17_gaa(x2, x5) 8.26/3.11 8.26/3.11 appcD_out_agaa(x1, x2, x3, x4) = appcD_out_agaa(x2) 8.26/3.11 8.26/3.11 PERMA_IN_AG(x1, x2) = PERMA_IN_AG(x2) 8.26/3.11 8.26/3.11 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 8.26/3.11 8.26/3.11 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 8.26/3.11 8.26/3.11 U5_AG(x1, x2, x3, x4, x5) = U5_AG(x4, x5) 8.26/3.11 8.26/3.11 APPC_IN_AAAA(x1, x2, x3, x4) = APPC_IN_AAAA 8.26/3.11 8.26/3.11 U1_AAAA(x1, x2, x3, x4, x5, x6) = U1_AAAA(x6) 8.26/3.11 8.26/3.11 U6_AG(x1, x2, x3, x4, x5) = U6_AG(x4, x5) 8.26/3.11 8.26/3.11 U7_AG(x1, x2, x3, x4, x5) = U7_AG(x4, x5) 8.26/3.11 8.26/3.11 APPE_IN_GAA(x1, x2, x3) = APPE_IN_GAA(x1) 8.26/3.11 8.26/3.11 U2_GAA(x1, x2, x3, x4, x5) = U2_GAA(x2, x5) 8.26/3.11 8.26/3.11 U8_AG(x1, x2, x3, x4, x5) = U8_AG(x4, x5) 8.26/3.11 8.26/3.11 U9_AG(x1, x2, x3, x4, x5) = U9_AG(x4, x5) 8.26/3.11 8.26/3.11 8.26/3.11 We have to consider all (P,R,Pi)-chains 8.26/3.11 8.26/3.11 8.26/3.11 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 8.26/3.11 8.26/3.11 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (91) 8.26/3.11 Obligation: 8.26/3.11 Pi DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X1, X3)) -> U3_AG(X1, X2, X3, appcB_in_aa(X2, X4)) 8.26/3.11 U3_AG(X1, X2, X3, appcB_out_aa(X2, X4)) -> U4_AG(X1, X2, X3, permA_in_ag(X4, X3)) 8.26/3.11 U3_AG(X1, X2, X3, appcB_out_aa(X2, X4)) -> PERMA_IN_AG(X4, X3) 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X3, X4)) -> U5_AG(X1, X2, X3, X4, appC_in_aaaa(X5, X3, X6, X2)) 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X3, X4)) -> APPC_IN_AAAA(X5, X3, X6, X2) 8.26/3.11 APPC_IN_AAAA(.(X1, X2), X3, X4, .(X1, X5)) -> U1_AAAA(X1, X2, X3, X4, X5, appC_in_aaaa(X2, X3, X4, X5)) 8.26/3.11 APPC_IN_AAAA(.(X1, X2), X3, X4, .(X1, X5)) -> APPC_IN_AAAA(X2, X3, X4, X5) 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X3, X4)) -> U6_AG(X1, X2, X3, X4, appcC_in_aaaa(X5, X3, X6, X2)) 8.26/3.11 U6_AG(X1, X2, X3, X4, appcC_out_aaaa(X5, X3, X6, X2)) -> U7_AG(X1, X2, X3, X4, appE_in_gaa(X5, X6, X7)) 8.26/3.11 U6_AG(X1, X2, X3, X4, appcC_out_aaaa(X5, X3, X6, X2)) -> APPE_IN_GAA(X5, X6, X7) 8.26/3.11 APPE_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> U2_GAA(X1, X2, X3, X4, appE_in_gaa(X2, X3, X4)) 8.26/3.11 APPE_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> APPE_IN_GAA(X2, X3, X4) 8.26/3.11 U6_AG(X1, X2, X3, X4, appcC_out_aaaa(X5, X3, X6, X2)) -> U8_AG(X1, X2, X3, X4, appcD_in_agaa(X1, X5, X6, X7)) 8.26/3.11 U8_AG(X1, X2, X3, X4, appcD_out_agaa(X1, X5, X6, X7)) -> U9_AG(X1, X2, X3, X4, permA_in_ag(X7, X4)) 8.26/3.11 U8_AG(X1, X2, X3, X4, appcD_out_agaa(X1, X5, X6, X7)) -> PERMA_IN_AG(X7, X4) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 appcB_in_aa(X1, X1) -> appcB_out_aa(X1, X1) 8.26/3.11 appcC_in_aaaa([], X1, X2, .(X1, X2)) -> appcC_out_aaaa([], X1, X2, .(X1, X2)) 8.26/3.11 appcC_in_aaaa(.(X1, X2), X3, X4, .(X1, X5)) -> U16_aaaa(X1, X2, X3, X4, X5, appcC_in_aaaa(X2, X3, X4, X5)) 8.26/3.11 U16_aaaa(X1, X2, X3, X4, X5, appcC_out_aaaa(X2, X3, X4, X5)) -> appcC_out_aaaa(.(X1, X2), X3, X4, .(X1, X5)) 8.26/3.11 appcD_in_agaa(X1, X2, X3, .(X1, X4)) -> U18_agaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 appcE_in_gaa([], X1, X1) -> appcE_out_gaa([], X1, X1) 8.26/3.11 appcE_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U17_gaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 U17_gaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcE_out_gaa(.(X1, X2), X3, .(X1, X4)) 8.26/3.11 U18_agaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcD_out_agaa(X1, X2, X3, .(X1, X4)) 8.26/3.11 8.26/3.11 The argument filtering Pi contains the following mapping: 8.26/3.11 permA_in_ag(x1, x2) = permA_in_ag(x2) 8.26/3.11 8.26/3.11 .(x1, x2) = .(x2) 8.26/3.11 8.26/3.11 appcB_in_aa(x1, x2) = appcB_in_aa 8.26/3.11 8.26/3.11 appcB_out_aa(x1, x2) = appcB_out_aa 8.26/3.11 8.26/3.11 appC_in_aaaa(x1, x2, x3, x4) = appC_in_aaaa 8.26/3.11 8.26/3.11 appcC_in_aaaa(x1, x2, x3, x4) = appcC_in_aaaa 8.26/3.11 8.26/3.11 appcC_out_aaaa(x1, x2, x3, x4) = appcC_out_aaaa(x1) 8.26/3.11 8.26/3.11 U16_aaaa(x1, x2, x3, x4, x5, x6) = U16_aaaa(x6) 8.26/3.11 8.26/3.11 appE_in_gaa(x1, x2, x3) = appE_in_gaa(x1) 8.26/3.11 8.26/3.11 appcD_in_agaa(x1, x2, x3, x4) = appcD_in_agaa(x2) 8.26/3.11 8.26/3.11 U18_agaa(x1, x2, x3, x4, x5) = U18_agaa(x2, x5) 8.26/3.11 8.26/3.11 appcE_in_gaa(x1, x2, x3) = appcE_in_gaa(x1) 8.26/3.11 8.26/3.11 [] = [] 8.26/3.11 8.26/3.11 appcE_out_gaa(x1, x2, x3) = appcE_out_gaa(x1) 8.26/3.11 8.26/3.11 U17_gaa(x1, x2, x3, x4, x5) = U17_gaa(x2, x5) 8.26/3.11 8.26/3.11 appcD_out_agaa(x1, x2, x3, x4) = appcD_out_agaa(x2) 8.26/3.11 8.26/3.11 PERMA_IN_AG(x1, x2) = PERMA_IN_AG(x2) 8.26/3.11 8.26/3.11 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 8.26/3.11 8.26/3.11 U4_AG(x1, x2, x3, x4) = U4_AG(x3, x4) 8.26/3.11 8.26/3.11 U5_AG(x1, x2, x3, x4, x5) = U5_AG(x4, x5) 8.26/3.11 8.26/3.11 APPC_IN_AAAA(x1, x2, x3, x4) = APPC_IN_AAAA 8.26/3.11 8.26/3.11 U1_AAAA(x1, x2, x3, x4, x5, x6) = U1_AAAA(x6) 8.26/3.11 8.26/3.11 U6_AG(x1, x2, x3, x4, x5) = U6_AG(x4, x5) 8.26/3.11 8.26/3.11 U7_AG(x1, x2, x3, x4, x5) = U7_AG(x4, x5) 8.26/3.11 8.26/3.11 APPE_IN_GAA(x1, x2, x3) = APPE_IN_GAA(x1) 8.26/3.11 8.26/3.11 U2_GAA(x1, x2, x3, x4, x5) = U2_GAA(x2, x5) 8.26/3.11 8.26/3.11 U8_AG(x1, x2, x3, x4, x5) = U8_AG(x4, x5) 8.26/3.11 8.26/3.11 U9_AG(x1, x2, x3, x4, x5) = U9_AG(x4, x5) 8.26/3.11 8.26/3.11 8.26/3.11 We have to consider all (P,R,Pi)-chains 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (92) DependencyGraphProof (EQUIVALENT) 8.26/3.11 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 8 less nodes. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (93) 8.26/3.11 Complex Obligation (AND) 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (94) 8.26/3.11 Obligation: 8.26/3.11 Pi DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 APPE_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> APPE_IN_GAA(X2, X3, X4) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 appcB_in_aa(X1, X1) -> appcB_out_aa(X1, X1) 8.26/3.11 appcC_in_aaaa([], X1, X2, .(X1, X2)) -> appcC_out_aaaa([], X1, X2, .(X1, X2)) 8.26/3.11 appcC_in_aaaa(.(X1, X2), X3, X4, .(X1, X5)) -> U16_aaaa(X1, X2, X3, X4, X5, appcC_in_aaaa(X2, X3, X4, X5)) 8.26/3.11 U16_aaaa(X1, X2, X3, X4, X5, appcC_out_aaaa(X2, X3, X4, X5)) -> appcC_out_aaaa(.(X1, X2), X3, X4, .(X1, X5)) 8.26/3.11 appcD_in_agaa(X1, X2, X3, .(X1, X4)) -> U18_agaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 appcE_in_gaa([], X1, X1) -> appcE_out_gaa([], X1, X1) 8.26/3.11 appcE_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U17_gaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 U17_gaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcE_out_gaa(.(X1, X2), X3, .(X1, X4)) 8.26/3.11 U18_agaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcD_out_agaa(X1, X2, X3, .(X1, X4)) 8.26/3.11 8.26/3.11 The argument filtering Pi contains the following mapping: 8.26/3.11 .(x1, x2) = .(x2) 8.26/3.11 8.26/3.11 appcB_in_aa(x1, x2) = appcB_in_aa 8.26/3.11 8.26/3.11 appcB_out_aa(x1, x2) = appcB_out_aa 8.26/3.11 8.26/3.11 appcC_in_aaaa(x1, x2, x3, x4) = appcC_in_aaaa 8.26/3.11 8.26/3.11 appcC_out_aaaa(x1, x2, x3, x4) = appcC_out_aaaa(x1) 8.26/3.11 8.26/3.11 U16_aaaa(x1, x2, x3, x4, x5, x6) = U16_aaaa(x6) 8.26/3.11 8.26/3.11 appcD_in_agaa(x1, x2, x3, x4) = appcD_in_agaa(x2) 8.26/3.11 8.26/3.11 U18_agaa(x1, x2, x3, x4, x5) = U18_agaa(x2, x5) 8.26/3.11 8.26/3.11 appcE_in_gaa(x1, x2, x3) = appcE_in_gaa(x1) 8.26/3.11 8.26/3.11 [] = [] 8.26/3.11 8.26/3.11 appcE_out_gaa(x1, x2, x3) = appcE_out_gaa(x1) 8.26/3.11 8.26/3.11 U17_gaa(x1, x2, x3, x4, x5) = U17_gaa(x2, x5) 8.26/3.11 8.26/3.11 appcD_out_agaa(x1, x2, x3, x4) = appcD_out_agaa(x2) 8.26/3.11 8.26/3.11 APPE_IN_GAA(x1, x2, x3) = APPE_IN_GAA(x1) 8.26/3.11 8.26/3.11 8.26/3.11 We have to consider all (P,R,Pi)-chains 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (95) UsableRulesProof (EQUIVALENT) 8.26/3.11 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (96) 8.26/3.11 Obligation: 8.26/3.11 Pi DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 APPE_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> APPE_IN_GAA(X2, X3, X4) 8.26/3.11 8.26/3.11 R is empty. 8.26/3.11 The argument filtering Pi contains the following mapping: 8.26/3.11 .(x1, x2) = .(x2) 8.26/3.11 8.26/3.11 APPE_IN_GAA(x1, x2, x3) = APPE_IN_GAA(x1) 8.26/3.11 8.26/3.11 8.26/3.11 We have to consider all (P,R,Pi)-chains 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (97) PiDPToQDPProof (SOUND) 8.26/3.11 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (98) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 APPE_IN_GAA(.(X2)) -> APPE_IN_GAA(X2) 8.26/3.11 8.26/3.11 R is empty. 8.26/3.11 Q is empty. 8.26/3.11 We have to consider all (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (99) QDPSizeChangeProof (EQUIVALENT) 8.26/3.11 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 8.26/3.11 8.26/3.11 From the DPs we obtained the following set of size-change graphs: 8.26/3.11 *APPE_IN_GAA(.(X2)) -> APPE_IN_GAA(X2) 8.26/3.11 The graph contains the following edges 1 > 1 8.26/3.11 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (100) 8.26/3.11 YES 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (101) 8.26/3.11 Obligation: 8.26/3.11 Pi DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 APPC_IN_AAAA(.(X1, X2), X3, X4, .(X1, X5)) -> APPC_IN_AAAA(X2, X3, X4, X5) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 appcB_in_aa(X1, X1) -> appcB_out_aa(X1, X1) 8.26/3.11 appcC_in_aaaa([], X1, X2, .(X1, X2)) -> appcC_out_aaaa([], X1, X2, .(X1, X2)) 8.26/3.11 appcC_in_aaaa(.(X1, X2), X3, X4, .(X1, X5)) -> U16_aaaa(X1, X2, X3, X4, X5, appcC_in_aaaa(X2, X3, X4, X5)) 8.26/3.11 U16_aaaa(X1, X2, X3, X4, X5, appcC_out_aaaa(X2, X3, X4, X5)) -> appcC_out_aaaa(.(X1, X2), X3, X4, .(X1, X5)) 8.26/3.11 appcD_in_agaa(X1, X2, X3, .(X1, X4)) -> U18_agaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 appcE_in_gaa([], X1, X1) -> appcE_out_gaa([], X1, X1) 8.26/3.11 appcE_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U17_gaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 U17_gaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcE_out_gaa(.(X1, X2), X3, .(X1, X4)) 8.26/3.11 U18_agaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcD_out_agaa(X1, X2, X3, .(X1, X4)) 8.26/3.11 8.26/3.11 The argument filtering Pi contains the following mapping: 8.26/3.11 .(x1, x2) = .(x2) 8.26/3.11 8.26/3.11 appcB_in_aa(x1, x2) = appcB_in_aa 8.26/3.11 8.26/3.11 appcB_out_aa(x1, x2) = appcB_out_aa 8.26/3.11 8.26/3.11 appcC_in_aaaa(x1, x2, x3, x4) = appcC_in_aaaa 8.26/3.11 8.26/3.11 appcC_out_aaaa(x1, x2, x3, x4) = appcC_out_aaaa(x1) 8.26/3.11 8.26/3.11 U16_aaaa(x1, x2, x3, x4, x5, x6) = U16_aaaa(x6) 8.26/3.11 8.26/3.11 appcD_in_agaa(x1, x2, x3, x4) = appcD_in_agaa(x2) 8.26/3.11 8.26/3.11 U18_agaa(x1, x2, x3, x4, x5) = U18_agaa(x2, x5) 8.26/3.11 8.26/3.11 appcE_in_gaa(x1, x2, x3) = appcE_in_gaa(x1) 8.26/3.11 8.26/3.11 [] = [] 8.26/3.11 8.26/3.11 appcE_out_gaa(x1, x2, x3) = appcE_out_gaa(x1) 8.26/3.11 8.26/3.11 U17_gaa(x1, x2, x3, x4, x5) = U17_gaa(x2, x5) 8.26/3.11 8.26/3.11 appcD_out_agaa(x1, x2, x3, x4) = appcD_out_agaa(x2) 8.26/3.11 8.26/3.11 APPC_IN_AAAA(x1, x2, x3, x4) = APPC_IN_AAAA 8.26/3.11 8.26/3.11 8.26/3.11 We have to consider all (P,R,Pi)-chains 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (102) UsableRulesProof (EQUIVALENT) 8.26/3.11 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (103) 8.26/3.11 Obligation: 8.26/3.11 Pi DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 APPC_IN_AAAA(.(X1, X2), X3, X4, .(X1, X5)) -> APPC_IN_AAAA(X2, X3, X4, X5) 8.26/3.11 8.26/3.11 R is empty. 8.26/3.11 The argument filtering Pi contains the following mapping: 8.26/3.11 .(x1, x2) = .(x2) 8.26/3.11 8.26/3.11 APPC_IN_AAAA(x1, x2, x3, x4) = APPC_IN_AAAA 8.26/3.11 8.26/3.11 8.26/3.11 We have to consider all (P,R,Pi)-chains 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (104) PiDPToQDPProof (SOUND) 8.26/3.11 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (105) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 APPC_IN_AAAA -> APPC_IN_AAAA 8.26/3.11 8.26/3.11 R is empty. 8.26/3.11 Q is empty. 8.26/3.11 We have to consider all (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (106) NonTerminationLoopProof (COMPLETE) 8.26/3.11 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 8.26/3.11 Found a loop by semiunifying a rule from P directly. 8.26/3.11 8.26/3.11 s = APPC_IN_AAAA evaluates to t =APPC_IN_AAAA 8.26/3.11 8.26/3.11 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 8.26/3.11 * Matcher: [ ] 8.26/3.11 * Semiunifier: [ ] 8.26/3.11 8.26/3.11 -------------------------------------------------------------------------------- 8.26/3.11 Rewriting sequence 8.26/3.11 8.26/3.11 The DP semiunifies directly so there is only one rewrite step from APPC_IN_AAAA to APPC_IN_AAAA. 8.26/3.11 8.26/3.11 8.26/3.11 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (107) 8.26/3.11 NO 8.26/3.11 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (108) 8.26/3.11 Obligation: 8.26/3.11 Pi DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 U3_AG(X1, X2, X3, appcB_out_aa(X2, X4)) -> PERMA_IN_AG(X4, X3) 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X1, X3)) -> U3_AG(X1, X2, X3, appcB_in_aa(X2, X4)) 8.26/3.11 PERMA_IN_AG(.(X1, X2), .(X3, X4)) -> U6_AG(X1, X2, X3, X4, appcC_in_aaaa(X5, X3, X6, X2)) 8.26/3.11 U6_AG(X1, X2, X3, X4, appcC_out_aaaa(X5, X3, X6, X2)) -> U8_AG(X1, X2, X3, X4, appcD_in_agaa(X1, X5, X6, X7)) 8.26/3.11 U8_AG(X1, X2, X3, X4, appcD_out_agaa(X1, X5, X6, X7)) -> PERMA_IN_AG(X7, X4) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 appcB_in_aa(X1, X1) -> appcB_out_aa(X1, X1) 8.26/3.11 appcC_in_aaaa([], X1, X2, .(X1, X2)) -> appcC_out_aaaa([], X1, X2, .(X1, X2)) 8.26/3.11 appcC_in_aaaa(.(X1, X2), X3, X4, .(X1, X5)) -> U16_aaaa(X1, X2, X3, X4, X5, appcC_in_aaaa(X2, X3, X4, X5)) 8.26/3.11 U16_aaaa(X1, X2, X3, X4, X5, appcC_out_aaaa(X2, X3, X4, X5)) -> appcC_out_aaaa(.(X1, X2), X3, X4, .(X1, X5)) 8.26/3.11 appcD_in_agaa(X1, X2, X3, .(X1, X4)) -> U18_agaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 appcE_in_gaa([], X1, X1) -> appcE_out_gaa([], X1, X1) 8.26/3.11 appcE_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U17_gaa(X1, X2, X3, X4, appcE_in_gaa(X2, X3, X4)) 8.26/3.11 U17_gaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcE_out_gaa(.(X1, X2), X3, .(X1, X4)) 8.26/3.11 U18_agaa(X1, X2, X3, X4, appcE_out_gaa(X2, X3, X4)) -> appcD_out_agaa(X1, X2, X3, .(X1, X4)) 8.26/3.11 8.26/3.11 The argument filtering Pi contains the following mapping: 8.26/3.11 .(x1, x2) = .(x2) 8.26/3.11 8.26/3.11 appcB_in_aa(x1, x2) = appcB_in_aa 8.26/3.11 8.26/3.11 appcB_out_aa(x1, x2) = appcB_out_aa 8.26/3.11 8.26/3.11 appcC_in_aaaa(x1, x2, x3, x4) = appcC_in_aaaa 8.26/3.11 8.26/3.11 appcC_out_aaaa(x1, x2, x3, x4) = appcC_out_aaaa(x1) 8.26/3.11 8.26/3.11 U16_aaaa(x1, x2, x3, x4, x5, x6) = U16_aaaa(x6) 8.26/3.11 8.26/3.11 appcD_in_agaa(x1, x2, x3, x4) = appcD_in_agaa(x2) 8.26/3.11 8.26/3.11 U18_agaa(x1, x2, x3, x4, x5) = U18_agaa(x2, x5) 8.26/3.11 8.26/3.11 appcE_in_gaa(x1, x2, x3) = appcE_in_gaa(x1) 8.26/3.11 8.26/3.11 [] = [] 8.26/3.11 8.26/3.11 appcE_out_gaa(x1, x2, x3) = appcE_out_gaa(x1) 8.26/3.11 8.26/3.11 U17_gaa(x1, x2, x3, x4, x5) = U17_gaa(x2, x5) 8.26/3.11 8.26/3.11 appcD_out_agaa(x1, x2, x3, x4) = appcD_out_agaa(x2) 8.26/3.11 8.26/3.11 PERMA_IN_AG(x1, x2) = PERMA_IN_AG(x2) 8.26/3.11 8.26/3.11 U3_AG(x1, x2, x3, x4) = U3_AG(x3, x4) 8.26/3.11 8.26/3.11 U6_AG(x1, x2, x3, x4, x5) = U6_AG(x4, x5) 8.26/3.11 8.26/3.11 U8_AG(x1, x2, x3, x4, x5) = U8_AG(x4, x5) 8.26/3.11 8.26/3.11 8.26/3.11 We have to consider all (P,R,Pi)-chains 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (109) PiDPToQDPProof (SOUND) 8.26/3.11 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (110) 8.26/3.11 Obligation: 8.26/3.11 Q DP problem: 8.26/3.11 The TRS P consists of the following rules: 8.26/3.11 8.26/3.11 U3_AG(X3, appcB_out_aa) -> PERMA_IN_AG(X3) 8.26/3.11 PERMA_IN_AG(.(X3)) -> U3_AG(X3, appcB_in_aa) 8.26/3.11 PERMA_IN_AG(.(X4)) -> U6_AG(X4, appcC_in_aaaa) 8.26/3.11 U6_AG(X4, appcC_out_aaaa(X5)) -> U8_AG(X4, appcD_in_agaa(X5)) 8.26/3.11 U8_AG(X4, appcD_out_agaa(X5)) -> PERMA_IN_AG(X4) 8.26/3.11 8.26/3.11 The TRS R consists of the following rules: 8.26/3.11 8.26/3.11 appcB_in_aa -> appcB_out_aa 8.26/3.11 appcC_in_aaaa -> appcC_out_aaaa([]) 8.26/3.11 appcC_in_aaaa -> U16_aaaa(appcC_in_aaaa) 8.26/3.11 U16_aaaa(appcC_out_aaaa(X2)) -> appcC_out_aaaa(.(X2)) 8.26/3.11 appcD_in_agaa(X2) -> U18_agaa(X2, appcE_in_gaa(X2)) 8.26/3.11 appcE_in_gaa([]) -> appcE_out_gaa([]) 8.26/3.11 appcE_in_gaa(.(X2)) -> U17_gaa(X2, appcE_in_gaa(X2)) 8.26/3.11 U17_gaa(X2, appcE_out_gaa(X2)) -> appcE_out_gaa(.(X2)) 8.26/3.11 U18_agaa(X2, appcE_out_gaa(X2)) -> appcD_out_agaa(X2) 8.26/3.11 8.26/3.11 The set Q consists of the following terms: 8.26/3.11 8.26/3.11 appcB_in_aa 8.26/3.11 appcC_in_aaaa 8.26/3.11 U16_aaaa(x0) 8.26/3.11 appcD_in_agaa(x0) 8.26/3.11 appcE_in_gaa(x0) 8.26/3.11 U17_gaa(x0, x1) 8.26/3.11 U18_agaa(x0, x1) 8.26/3.11 8.26/3.11 We have to consider all (P,Q,R)-chains. 8.26/3.11 ---------------------------------------- 8.26/3.11 8.26/3.11 (111) QDPSizeChangeProof (EQUIVALENT) 8.26/3.11 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 8.26/3.12 8.26/3.12 From the DPs we obtained the following set of size-change graphs: 8.26/3.12 *PERMA_IN_AG(.(X3)) -> U3_AG(X3, appcB_in_aa) 8.26/3.12 The graph contains the following edges 1 > 1 8.26/3.12 8.26/3.12 8.26/3.12 *PERMA_IN_AG(.(X4)) -> U6_AG(X4, appcC_in_aaaa) 8.26/3.12 The graph contains the following edges 1 > 1 8.26/3.12 8.26/3.12 8.26/3.12 *U3_AG(X3, appcB_out_aa) -> PERMA_IN_AG(X3) 8.26/3.12 The graph contains the following edges 1 >= 1 8.26/3.12 8.26/3.12 8.26/3.12 *U8_AG(X4, appcD_out_agaa(X5)) -> PERMA_IN_AG(X4) 8.26/3.12 The graph contains the following edges 1 >= 1 8.26/3.12 8.26/3.12 8.26/3.12 *U6_AG(X4, appcC_out_aaaa(X5)) -> U8_AG(X4, appcD_in_agaa(X5)) 8.26/3.12 The graph contains the following edges 1 >= 1 8.26/3.12 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (112) 8.26/3.12 YES 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (113) PrologToIRSwTTransformerProof (SOUND) 8.26/3.12 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 8.26/3.12 8.26/3.12 { 8.26/3.12 "root": 3, 8.26/3.12 "program": { 8.26/3.12 "directives": [], 8.26/3.12 "clauses": [ 8.26/3.12 [ 8.26/3.12 "(perm ([]) ([]))", 8.26/3.12 null 8.26/3.12 ], 8.26/3.12 [ 8.26/3.12 "(perm Xs (. X Ys))", 8.26/3.12 "(',' (app X1s (. X X2s) Xs) (',' (app X1s X2s Zs) (perm Zs Ys)))" 8.26/3.12 ], 8.26/3.12 [ 8.26/3.12 "(app ([]) X X)", 8.26/3.12 null 8.26/3.12 ], 8.26/3.12 [ 8.26/3.12 "(app (. X Xs) Ys (. X Zs))", 8.26/3.12 "(app Xs Ys Zs)" 8.26/3.12 ] 8.26/3.12 ] 8.26/3.12 }, 8.26/3.12 "graph": { 8.26/3.12 "nodes": { 8.26/3.12 "66": { 8.26/3.12 "goal": [], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "type": "Nodes", 8.26/3.12 "194": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(true)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "195": { 8.26/3.12 "goal": [], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "196": { 8.26/3.12 "goal": [], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "274": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(true)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "275": { 8.26/3.12 "goal": [], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "232": { 8.26/3.12 "goal": [], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "276": { 8.26/3.12 "goal": [], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "279": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(app T66 T67 X82)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": ["X82"], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "236": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(app T17 T18 X15)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": ["X15"], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "237": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(perm T49 T11)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T11"], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "238": { 8.26/3.12 "goal": [ 8.26/3.12 { 8.26/3.12 "clause": 2, 8.26/3.12 "scope": 3, 8.26/3.12 "term": "(app T17 T18 X15)" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "clause": 3, 8.26/3.12 "scope": 3, 8.26/3.12 "term": "(app T17 T18 X15)" 8.26/3.12 } 8.26/3.12 ], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": ["X15"], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "119": { 8.26/3.12 "goal": [ 8.26/3.12 { 8.26/3.12 "clause": 2, 8.26/3.12 "scope": 2, 8.26/3.12 "term": "(app X13 (. T10 X14) T12)" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "clause": 3, 8.26/3.12 "scope": 2, 8.26/3.12 "term": "(app X13 (. T10 X14) T12)" 8.26/3.12 } 8.26/3.12 ], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T10"], 8.26/3.12 "free": [ 8.26/3.12 "X13", 8.26/3.12 "X14" 8.26/3.12 ], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "93": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(',' (app X13 (. T10 X14) T12) (',' (app X13 X14 X15) (perm X15 T11)))" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [ 8.26/3.12 "T10", 8.26/3.12 "T11" 8.26/3.12 ], 8.26/3.12 "free": [ 8.26/3.12 "X13", 8.26/3.12 "X14", 8.26/3.12 "X15" 8.26/3.12 ], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "94": { 8.26/3.12 "goal": [], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "32": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": 0, 8.26/3.12 "scope": 1, 8.26/3.12 "term": "(perm T1 T2)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T2"], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "36": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": 1, 8.26/3.12 "scope": 1, 8.26/3.12 "term": "(perm T1 T2)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T2"], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "58": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(true)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "281": { 8.26/3.12 "goal": [], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "162": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": 2, 8.26/3.12 "scope": 2, 8.26/3.12 "term": "(app X13 (. T10 X14) T12)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T10"], 8.26/3.12 "free": [ 8.26/3.12 "X13", 8.26/3.12 "X14" 8.26/3.12 ], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "100": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(app X13 (. T10 X14) T12)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T10"], 8.26/3.12 "free": [ 8.26/3.12 "X13", 8.26/3.12 "X14" 8.26/3.12 ], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "265": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": 2, 8.26/3.12 "scope": 3, 8.26/3.12 "term": "(app T17 T18 X15)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": ["X15"], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "101": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(',' (app T17 T18 X15) (perm X15 T11))" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T11"], 8.26/3.12 "free": ["X15"], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "3": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(perm T1 T2)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T2"], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "267": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": 3, 8.26/3.12 "scope": 3, 8.26/3.12 "term": "(app T17 T18 X15)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": ["X15"], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "169": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": 3, 8.26/3.12 "scope": 2, 8.26/3.12 "term": "(app X13 (. T10 X14) T12)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T10"], 8.26/3.12 "free": [ 8.26/3.12 "X13", 8.26/3.12 "X14" 8.26/3.12 ], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "5": { 8.26/3.12 "goal": [ 8.26/3.12 { 8.26/3.12 "clause": 0, 8.26/3.12 "scope": 1, 8.26/3.12 "term": "(perm T1 T2)" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "clause": 1, 8.26/3.12 "scope": 1, 8.26/3.12 "term": "(perm T1 T2)" 8.26/3.12 } 8.26/3.12 ], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T2"], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "229": { 8.26/3.12 "goal": [{ 8.26/3.12 "clause": -1, 8.26/3.12 "scope": -1, 8.26/3.12 "term": "(app X53 (. T39 X54) T42)" 8.26/3.12 }], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": ["T39"], 8.26/3.12 "free": [ 8.26/3.12 "X53", 8.26/3.12 "X54" 8.26/3.12 ], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "64": { 8.26/3.12 "goal": [], 8.26/3.12 "kb": { 8.26/3.12 "nonunifying": [], 8.26/3.12 "intvars": {}, 8.26/3.12 "arithmetic": { 8.26/3.12 "type": "PlainIntegerRelationState", 8.26/3.12 "relations": [] 8.26/3.12 }, 8.26/3.12 "ground": [], 8.26/3.12 "free": [], 8.26/3.12 "exprvars": [] 8.26/3.12 } 8.26/3.12 } 8.26/3.12 }, 8.26/3.12 "edges": [ 8.26/3.12 { 8.26/3.12 "from": 3, 8.26/3.12 "to": 5, 8.26/3.12 "label": "CASE" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 5, 8.26/3.12 "to": 32, 8.26/3.12 "label": "PARALLEL" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 5, 8.26/3.12 "to": 36, 8.26/3.12 "label": "PARALLEL" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 32, 8.26/3.12 "to": 58, 8.26/3.12 "label": "EVAL with clause\nperm([], []).\nand substitutionT1 -> [],\nT2 -> []" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 32, 8.26/3.12 "to": 64, 8.26/3.12 "label": "EVAL-BACKTRACK" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 36, 8.26/3.12 "to": 93, 8.26/3.12 "label": "EVAL with clause\nperm(X10, .(X11, X12)) :- ','(app(X13, .(X11, X14), X10), ','(app(X13, X14, X15), perm(X15, X12))).\nand substitutionT1 -> T12,\nX10 -> T12,\nX11 -> T10,\nX12 -> T11,\nT2 -> .(T10, T11),\nT9 -> T12" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 36, 8.26/3.12 "to": 94, 8.26/3.12 "label": "EVAL-BACKTRACK" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 58, 8.26/3.12 "to": 66, 8.26/3.12 "label": "SUCCESS" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 93, 8.26/3.12 "to": 100, 8.26/3.12 "label": "SPLIT 1" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 93, 8.26/3.12 "to": 101, 8.26/3.12 "label": "SPLIT 2\nreplacements:X13 -> T17,\nX14 -> T18" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 100, 8.26/3.12 "to": 119, 8.26/3.12 "label": "CASE" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 101, 8.26/3.12 "to": 236, 8.26/3.12 "label": "SPLIT 1" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 101, 8.26/3.12 "to": 237, 8.26/3.12 "label": "SPLIT 2\nreplacements:X15 -> T49" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 119, 8.26/3.12 "to": 162, 8.26/3.12 "label": "PARALLEL" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 119, 8.26/3.12 "to": 169, 8.26/3.12 "label": "PARALLEL" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 162, 8.26/3.12 "to": 194, 8.26/3.12 "label": "EVAL with clause\napp([], X32, X32).\nand substitutionX13 -> [],\nT10 -> T31,\nX14 -> T32,\nX32 -> .(T31, T32),\nX33 -> T32,\nT12 -> .(T31, T32)" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 162, 8.26/3.12 "to": 195, 8.26/3.12 "label": "EVAL-BACKTRACK" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 169, 8.26/3.12 "to": 229, 8.26/3.12 "label": "EVAL with clause\napp(.(X48, X49), X50, .(X48, X51)) :- app(X49, X50, X51).\nand substitutionX48 -> T40,\nX49 -> X53,\nX13 -> .(T40, X53),\nT10 -> T39,\nX14 -> X54,\nX50 -> .(T39, X54),\nX52 -> T40,\nX51 -> T42,\nT12 -> .(T40, T42),\nT41 -> T42" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 169, 8.26/3.12 "to": 232, 8.26/3.12 "label": "EVAL-BACKTRACK" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 194, 8.26/3.12 "to": 196, 8.26/3.12 "label": "SUCCESS" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 229, 8.26/3.12 "to": 100, 8.26/3.12 "label": "INSTANCE with matching:\nX13 -> X53\nT10 -> T39\nX14 -> X54\nT12 -> T42" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 236, 8.26/3.12 "to": 238, 8.26/3.12 "label": "CASE" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 237, 8.26/3.12 "to": 3, 8.26/3.12 "label": "INSTANCE with matching:\nT1 -> T49\nT2 -> T11" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 238, 8.26/3.12 "to": 265, 8.26/3.12 "label": "PARALLEL" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 238, 8.26/3.12 "to": 267, 8.26/3.12 "label": "PARALLEL" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 265, 8.26/3.12 "to": 274, 8.26/3.12 "label": "EVAL with clause\napp([], X67, X67).\nand substitutionT17 -> [],\nT18 -> T56,\nX67 -> T56,\nX15 -> T56" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 265, 8.26/3.12 "to": 275, 8.26/3.12 "label": "EVAL-BACKTRACK" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 267, 8.26/3.12 "to": 279, 8.26/3.12 "label": "EVAL with clause\napp(.(X78, X79), X80, .(X78, X81)) :- app(X79, X80, X81).\nand substitutionX78 -> T63,\nX79 -> T66,\nT17 -> .(T63, T66),\nT18 -> T67,\nX80 -> T67,\nX81 -> X82,\nX15 -> .(T63, X82),\nT64 -> T66,\nT65 -> T67" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 267, 8.26/3.12 "to": 281, 8.26/3.12 "label": "EVAL-BACKTRACK" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 274, 8.26/3.12 "to": 276, 8.26/3.12 "label": "SUCCESS" 8.26/3.12 }, 8.26/3.12 { 8.26/3.12 "from": 279, 8.26/3.12 "to": 236, 8.26/3.12 "label": "INSTANCE with matching:\nT17 -> T66\nT18 -> T67\nX15 -> X82" 8.26/3.12 } 8.26/3.12 ], 8.26/3.12 "type": "Graph" 8.26/3.12 } 8.26/3.12 } 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (114) 8.26/3.12 Complex Obligation (AND) 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (115) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f236_out -> f279_out :|: TRUE 8.26/3.12 f279_in -> f236_in :|: TRUE 8.26/3.12 f267_out -> f238_out :|: TRUE 8.26/3.12 f238_in -> f267_in :|: TRUE 8.26/3.12 f238_in -> f265_in :|: TRUE 8.26/3.12 f265_out -> f238_out :|: TRUE 8.26/3.12 f236_in -> f238_in :|: TRUE 8.26/3.12 f238_out -> f236_out :|: TRUE 8.26/3.12 f279_out -> f267_out :|: TRUE 8.26/3.12 f267_in -> f279_in :|: TRUE 8.26/3.12 f281_out -> f267_out :|: TRUE 8.26/3.12 f267_in -> f281_in :|: TRUE 8.26/3.12 f5_out(T2) -> f3_out(T2) :|: TRUE 8.26/3.12 f3_in(x) -> f5_in(x) :|: TRUE 8.26/3.12 f5_in(x1) -> f36_in(x1) :|: TRUE 8.26/3.12 f5_in(x2) -> f32_in(x2) :|: TRUE 8.26/3.12 f32_out(x3) -> f5_out(x3) :|: TRUE 8.26/3.12 f36_out(x4) -> f5_out(x4) :|: TRUE 8.26/3.12 f94_out -> f36_out(x5) :|: TRUE 8.26/3.12 f36_in(.(T10, T11)) -> f93_in(T10, T11) :|: TRUE 8.26/3.12 f36_in(x6) -> f94_in :|: TRUE 8.26/3.12 f93_out(x7, x8) -> f36_out(.(x7, x8)) :|: TRUE 8.26/3.12 f93_in(x9, x10) -> f100_in(x9) :|: TRUE 8.26/3.12 f101_out(x11) -> f93_out(x12, x11) :|: TRUE 8.26/3.12 f100_out(x13) -> f101_in(x14) :|: TRUE 8.26/3.12 f101_in(x15) -> f236_in :|: TRUE 8.26/3.12 f236_out -> f237_in(x16) :|: TRUE 8.26/3.12 f237_out(x17) -> f101_out(x17) :|: TRUE 8.26/3.12 Start term: f3_in(T2) 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (116) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 8.26/3.12 Constructed simple dependency graph. 8.26/3.12 8.26/3.12 Simplified to the following IRSwTs: 8.26/3.12 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (117) 8.26/3.12 TRUE 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (118) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f100_in(T10) -> f119_in(T10) :|: TRUE 8.26/3.12 f119_out(x) -> f100_out(x) :|: TRUE 8.26/3.12 f119_in(x1) -> f169_in(x1) :|: TRUE 8.26/3.12 f119_in(x2) -> f162_in(x2) :|: TRUE 8.26/3.12 f169_out(x3) -> f119_out(x3) :|: TRUE 8.26/3.12 f162_out(x4) -> f119_out(x4) :|: TRUE 8.26/3.12 f229_out(T39) -> f169_out(T39) :|: TRUE 8.26/3.12 f169_in(x5) -> f229_in(x5) :|: TRUE 8.26/3.12 f232_out -> f169_out(x6) :|: TRUE 8.26/3.12 f169_in(x7) -> f232_in :|: TRUE 8.26/3.12 f100_out(x8) -> f229_out(x8) :|: TRUE 8.26/3.12 f229_in(x9) -> f100_in(x9) :|: TRUE 8.26/3.12 f5_out(T2) -> f3_out(T2) :|: TRUE 8.26/3.12 f3_in(x10) -> f5_in(x10) :|: TRUE 8.26/3.12 f5_in(x11) -> f36_in(x11) :|: TRUE 8.26/3.12 f5_in(x12) -> f32_in(x12) :|: TRUE 8.26/3.12 f32_out(x13) -> f5_out(x13) :|: TRUE 8.26/3.12 f36_out(x14) -> f5_out(x14) :|: TRUE 8.26/3.12 f94_out -> f36_out(x15) :|: TRUE 8.26/3.12 f36_in(.(x16, x17)) -> f93_in(x16, x17) :|: TRUE 8.26/3.12 f36_in(x18) -> f94_in :|: TRUE 8.26/3.12 f93_out(x19, x20) -> f36_out(.(x19, x20)) :|: TRUE 8.26/3.12 f93_in(x21, x22) -> f100_in(x21) :|: TRUE 8.26/3.12 f101_out(x23) -> f93_out(x24, x23) :|: TRUE 8.26/3.12 f100_out(x25) -> f101_in(x26) :|: TRUE 8.26/3.12 Start term: f3_in(T2) 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (119) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 8.26/3.12 Constructed simple dependency graph. 8.26/3.12 8.26/3.12 Simplified to the following IRSwTs: 8.26/3.12 8.26/3.12 intTRSProblem: 8.26/3.12 f100_in(T10) -> f119_in(T10) :|: TRUE 8.26/3.12 f119_in(x1) -> f169_in(x1) :|: TRUE 8.26/3.12 f169_in(x5) -> f229_in(x5) :|: TRUE 8.26/3.12 f229_in(x9) -> f100_in(x9) :|: TRUE 8.26/3.12 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (120) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f100_in(T10) -> f119_in(T10) :|: TRUE 8.26/3.12 f119_in(x1) -> f169_in(x1) :|: TRUE 8.26/3.12 f169_in(x5) -> f229_in(x5) :|: TRUE 8.26/3.12 f229_in(x9) -> f100_in(x9) :|: TRUE 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (121) IntTRSCompressionProof (EQUIVALENT) 8.26/3.12 Compressed rules. 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (122) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f100_in(T10:0) -> f100_in(T10:0) :|: TRUE 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (123) IRSFormatTransformerProof (EQUIVALENT) 8.26/3.12 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (124) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f100_in(T10:0) -> f100_in(T10:0) :|: TRUE 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (125) IRSwTTerminationDigraphProof (EQUIVALENT) 8.26/3.12 Constructed termination digraph! 8.26/3.12 Nodes: 8.26/3.12 (1) f100_in(T10:0) -> f100_in(T10:0) :|: TRUE 8.26/3.12 8.26/3.12 Arcs: 8.26/3.12 (1) -> (1) 8.26/3.12 8.26/3.12 This digraph is fully evaluated! 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (126) 8.26/3.12 Obligation: 8.26/3.12 8.26/3.12 Termination digraph: 8.26/3.12 Nodes: 8.26/3.12 (1) f100_in(T10:0) -> f100_in(T10:0) :|: TRUE 8.26/3.12 8.26/3.12 Arcs: 8.26/3.12 (1) -> (1) 8.26/3.12 8.26/3.12 This digraph is fully evaluated! 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (127) FilterProof (EQUIVALENT) 8.26/3.12 Used the following sort dictionary for filtering: 8.26/3.12 f100_in(VARIABLE) 8.26/3.12 Replaced non-predefined constructor symbols by 0. 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (128) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f100_in(T10:0) -> f100_in(T10:0) :|: TRUE 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (129) IntTRSPeriodicNontermProof (COMPLETE) 8.26/3.12 Normalized system to the following form: 8.26/3.12 f(pc, T10:0) -> f(1, T10:0) :|: pc = 1 && TRUE 8.26/3.12 Witness term starting non-terminating reduction: f(1, -8) 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (130) 8.26/3.12 NO 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (131) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f94_out -> f36_out(T2) :|: TRUE 8.26/3.12 f36_in(.(T10, T11)) -> f93_in(T10, T11) :|: TRUE 8.26/3.12 f36_in(x) -> f94_in :|: TRUE 8.26/3.12 f93_out(x1, x2) -> f36_out(.(x1, x2)) :|: TRUE 8.26/3.12 f100_in(x3) -> f119_in(x3) :|: TRUE 8.26/3.12 f119_out(x4) -> f100_out(x4) :|: TRUE 8.26/3.12 f236_out -> f279_out :|: TRUE 8.26/3.12 f279_in -> f236_in :|: TRUE 8.26/3.12 f5_in(x5) -> f36_in(x5) :|: TRUE 8.26/3.12 f5_in(x6) -> f32_in(x6) :|: TRUE 8.26/3.12 f32_out(x7) -> f5_out(x7) :|: TRUE 8.26/3.12 f36_out(x8) -> f5_out(x8) :|: TRUE 8.26/3.12 f274_in -> f274_out :|: TRUE 8.26/3.12 f5_out(x9) -> f3_out(x9) :|: TRUE 8.26/3.12 f3_in(x10) -> f5_in(x10) :|: TRUE 8.26/3.12 f229_out(T39) -> f169_out(T39) :|: TRUE 8.26/3.12 f169_in(x11) -> f229_in(x11) :|: TRUE 8.26/3.12 f232_out -> f169_out(x12) :|: TRUE 8.26/3.12 f169_in(x13) -> f232_in :|: TRUE 8.26/3.12 f93_in(x14, x15) -> f100_in(x14) :|: TRUE 8.26/3.12 f101_out(x16) -> f93_out(x17, x16) :|: TRUE 8.26/3.12 f100_out(x18) -> f101_in(x19) :|: TRUE 8.26/3.12 f279_out -> f267_out :|: TRUE 8.26/3.12 f267_in -> f279_in :|: TRUE 8.26/3.12 f281_out -> f267_out :|: TRUE 8.26/3.12 f267_in -> f281_in :|: TRUE 8.26/3.12 f237_in(x20) -> f3_in(x20) :|: TRUE 8.26/3.12 f3_out(x21) -> f237_out(x21) :|: TRUE 8.26/3.12 f101_in(x22) -> f236_in :|: TRUE 8.26/3.12 f236_out -> f237_in(x23) :|: TRUE 8.26/3.12 f237_out(x24) -> f101_out(x24) :|: TRUE 8.26/3.12 f194_in -> f194_out :|: TRUE 8.26/3.12 f119_in(x25) -> f169_in(x25) :|: TRUE 8.26/3.12 f119_in(x26) -> f162_in(x26) :|: TRUE 8.26/3.12 f169_out(x27) -> f119_out(x27) :|: TRUE 8.26/3.12 f162_out(x28) -> f119_out(x28) :|: TRUE 8.26/3.12 f236_in -> f238_in :|: TRUE 8.26/3.12 f238_out -> f236_out :|: TRUE 8.26/3.12 f267_out -> f238_out :|: TRUE 8.26/3.12 f238_in -> f267_in :|: TRUE 8.26/3.12 f238_in -> f265_in :|: TRUE 8.26/3.12 f265_out -> f238_out :|: TRUE 8.26/3.12 f162_in(T31) -> f194_in :|: TRUE 8.26/3.12 f162_in(x29) -> f195_in :|: TRUE 8.26/3.12 f194_out -> f162_out(x30) :|: TRUE 8.26/3.12 f195_out -> f162_out(x31) :|: TRUE 8.26/3.12 f100_out(x32) -> f229_out(x32) :|: TRUE 8.26/3.12 f229_in(x33) -> f100_in(x33) :|: TRUE 8.26/3.12 f275_out -> f265_out :|: TRUE 8.26/3.12 f265_in -> f274_in :|: TRUE 8.26/3.12 f265_in -> f275_in :|: TRUE 8.26/3.12 f274_out -> f265_out :|: TRUE 8.26/3.12 Start term: f3_in(T2) 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (132) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 8.26/3.12 Constructed simple dependency graph. 8.26/3.12 8.26/3.12 Simplified to the following IRSwTs: 8.26/3.12 8.26/3.12 intTRSProblem: 8.26/3.12 f36_in(.(T10, T11)) -> f93_in(T10, T11) :|: TRUE 8.26/3.12 f100_in(x3) -> f119_in(x3) :|: TRUE 8.26/3.12 f119_out(x4) -> f100_out(x4) :|: TRUE 8.26/3.12 f236_out -> f279_out :|: TRUE 8.26/3.12 f279_in -> f236_in :|: TRUE 8.26/3.12 f5_in(x5) -> f36_in(x5) :|: TRUE 8.26/3.12 f274_in -> f274_out :|: TRUE 8.26/3.12 f3_in(x10) -> f5_in(x10) :|: TRUE 8.26/3.12 f229_out(T39) -> f169_out(T39) :|: TRUE 8.26/3.12 f169_in(x11) -> f229_in(x11) :|: TRUE 8.26/3.12 f93_in(x14, x15) -> f100_in(x14) :|: TRUE 8.26/3.12 f100_out(x18) -> f101_in(x19) :|: TRUE 8.26/3.12 f279_out -> f267_out :|: TRUE 8.26/3.12 f267_in -> f279_in :|: TRUE 8.26/3.12 f237_in(x20) -> f3_in(x20) :|: TRUE 8.26/3.12 f101_in(x22) -> f236_in :|: TRUE 8.26/3.12 f236_out -> f237_in(x23) :|: TRUE 8.26/3.12 f194_in -> f194_out :|: TRUE 8.26/3.12 f119_in(x25) -> f169_in(x25) :|: TRUE 8.26/3.12 f119_in(x26) -> f162_in(x26) :|: TRUE 8.26/3.12 f169_out(x27) -> f119_out(x27) :|: TRUE 8.26/3.12 f162_out(x28) -> f119_out(x28) :|: TRUE 8.26/3.12 f236_in -> f238_in :|: TRUE 8.26/3.12 f238_out -> f236_out :|: TRUE 8.26/3.12 f267_out -> f238_out :|: TRUE 8.26/3.12 f238_in -> f267_in :|: TRUE 8.26/3.12 f238_in -> f265_in :|: TRUE 8.26/3.12 f265_out -> f238_out :|: TRUE 8.26/3.12 f162_in(T31) -> f194_in :|: TRUE 8.26/3.12 f194_out -> f162_out(x30) :|: TRUE 8.26/3.12 f100_out(x32) -> f229_out(x32) :|: TRUE 8.26/3.12 f229_in(x33) -> f100_in(x33) :|: TRUE 8.26/3.12 f265_in -> f274_in :|: TRUE 8.26/3.12 f274_out -> f265_out :|: TRUE 8.26/3.12 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (133) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f36_in(.(T10, T11)) -> f93_in(T10, T11) :|: TRUE 8.26/3.12 f100_in(x3) -> f119_in(x3) :|: TRUE 8.26/3.12 f119_out(x4) -> f100_out(x4) :|: TRUE 8.26/3.12 f236_out -> f279_out :|: TRUE 8.26/3.12 f279_in -> f236_in :|: TRUE 8.26/3.12 f5_in(x5) -> f36_in(x5) :|: TRUE 8.26/3.12 f274_in -> f274_out :|: TRUE 8.26/3.12 f3_in(x10) -> f5_in(x10) :|: TRUE 8.26/3.12 f229_out(T39) -> f169_out(T39) :|: TRUE 8.26/3.12 f169_in(x11) -> f229_in(x11) :|: TRUE 8.26/3.12 f93_in(x14, x15) -> f100_in(x14) :|: TRUE 8.26/3.12 f100_out(x18) -> f101_in(x19) :|: TRUE 8.26/3.12 f279_out -> f267_out :|: TRUE 8.26/3.12 f267_in -> f279_in :|: TRUE 8.26/3.12 f237_in(x20) -> f3_in(x20) :|: TRUE 8.26/3.12 f101_in(x22) -> f236_in :|: TRUE 8.26/3.12 f236_out -> f237_in(x23) :|: TRUE 8.26/3.12 f194_in -> f194_out :|: TRUE 8.26/3.12 f119_in(x25) -> f169_in(x25) :|: TRUE 8.26/3.12 f119_in(x26) -> f162_in(x26) :|: TRUE 8.26/3.12 f169_out(x27) -> f119_out(x27) :|: TRUE 8.26/3.12 f162_out(x28) -> f119_out(x28) :|: TRUE 8.26/3.12 f236_in -> f238_in :|: TRUE 8.26/3.12 f238_out -> f236_out :|: TRUE 8.26/3.12 f267_out -> f238_out :|: TRUE 8.26/3.12 f238_in -> f267_in :|: TRUE 8.26/3.12 f238_in -> f265_in :|: TRUE 8.26/3.12 f265_out -> f238_out :|: TRUE 8.26/3.12 f162_in(T31) -> f194_in :|: TRUE 8.26/3.12 f194_out -> f162_out(x30) :|: TRUE 8.26/3.12 f100_out(x32) -> f229_out(x32) :|: TRUE 8.26/3.12 f229_in(x33) -> f100_in(x33) :|: TRUE 8.26/3.12 f265_in -> f274_in :|: TRUE 8.26/3.12 f274_out -> f265_out :|: TRUE 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (134) IntTRSCompressionProof (EQUIVALENT) 8.26/3.12 Compressed rules. 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (135) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f119_out(x4:0) -> f238_in :|: TRUE 8.26/3.12 f119_out(x) -> f119_out(x) :|: TRUE 8.26/3.12 f100_in(x3:0) -> f100_in(x3:0) :|: TRUE 8.26/3.12 f238_in -> f238_in :|: TRUE 8.26/3.12 f238_out -> f238_out :|: TRUE 8.26/3.12 f238_in -> f238_out :|: TRUE 8.26/3.12 f238_out -> f100_in(T10:0) :|: TRUE 8.26/3.12 f100_in(x1) -> f119_out(x2) :|: TRUE 8.26/3.12 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (136) IRSFormatTransformerProof (EQUIVALENT) 8.26/3.12 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 8.26/3.12 ---------------------------------------- 8.26/3.12 8.26/3.12 (137) 8.26/3.12 Obligation: 8.26/3.12 Rules: 8.26/3.12 f119_out(x4:0) -> f238_in :|: TRUE 8.26/3.12 f119_out(x) -> f119_out(x) :|: TRUE 8.26/3.12 f100_in(x3:0) -> f100_in(x3:0) :|: TRUE 8.26/3.12 f238_in -> f238_in :|: TRUE 8.26/3.12 f238_out -> f238_out :|: TRUE 8.26/3.12 f238_in -> f238_out :|: TRUE 8.26/3.12 f238_out -> f100_in(T10:0) :|: TRUE 8.26/3.12 f100_in(x1) -> f119_out(x2) :|: TRUE 8.26/3.15 EOF