6.55/2.59 MAYBE 6.55/2.62 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 6.55/2.62 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 6.55/2.62 6.55/2.62 6.55/2.62 Left Termination of the query pattern 6.55/2.62 6.55/2.62 rev(a,g) 6.55/2.62 6.55/2.62 w.r.t. the given Prolog program could not be shown: 6.55/2.62 6.55/2.62 (0) Prolog 6.55/2.62 (1) PrologToPiTRSProof [SOUND, 0 ms] 6.55/2.62 (2) PiTRS 6.55/2.62 (3) DependencyPairsProof [EQUIVALENT, 0 ms] 6.55/2.62 (4) PiDP 6.55/2.62 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 6.55/2.62 (6) AND 6.55/2.62 (7) PiDP 6.55/2.62 (8) UsableRulesProof [EQUIVALENT, 0 ms] 6.55/2.62 (9) PiDP 6.55/2.62 (10) PiDPToQDPProof [SOUND, 0 ms] 6.55/2.62 (11) QDP 6.55/2.62 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 6.55/2.62 (13) YES 6.55/2.62 (14) PiDP 6.55/2.62 (15) UsableRulesProof [EQUIVALENT, 0 ms] 6.55/2.62 (16) PiDP 6.55/2.62 (17) PiDPToQDPProof [SOUND, 0 ms] 6.55/2.62 (18) QDP 6.55/2.62 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 6.55/2.62 (20) YES 6.55/2.62 (21) PiDP 6.55/2.62 (22) UsableRulesProof [EQUIVALENT, 0 ms] 6.55/2.62 (23) PiDP 6.55/2.62 (24) PiDPToQDPProof [SOUND, 0 ms] 6.55/2.62 (25) QDP 6.55/2.62 (26) PrologToTRSTransformerProof [SOUND, 0 ms] 6.55/2.62 (27) QTRS 6.55/2.62 (28) QTRSRRRProof [EQUIVALENT, 101 ms] 6.55/2.62 (29) QTRS 6.55/2.62 (30) QTRSRRRProof [EQUIVALENT, 0 ms] 6.55/2.62 (31) QTRS 6.55/2.62 (32) QTRSRRRProof [EQUIVALENT, 3 ms] 6.55/2.62 (33) QTRS 6.55/2.62 (34) QTRSRRRProof [EQUIVALENT, 4 ms] 6.55/2.62 (35) QTRS 6.55/2.62 (36) Overlay + Local Confluence [EQUIVALENT, 0 ms] 6.55/2.62 (37) QTRS 6.55/2.62 (38) DependencyPairsProof [EQUIVALENT, 0 ms] 6.55/2.62 (39) QDP 6.55/2.62 (40) DependencyGraphProof [EQUIVALENT, 0 ms] 6.55/2.62 (41) AND 6.55/2.62 (42) QDP 6.55/2.62 (43) QDP 6.55/2.62 (44) PrologToPiTRSProof [SOUND, 3 ms] 6.55/2.62 (45) PiTRS 6.55/2.62 (46) DependencyPairsProof [EQUIVALENT, 0 ms] 6.55/2.62 (47) PiDP 6.55/2.62 (48) DependencyGraphProof [EQUIVALENT, 0 ms] 6.55/2.62 (49) AND 6.55/2.62 (50) PiDP 6.55/2.62 (51) UsableRulesProof [EQUIVALENT, 0 ms] 6.55/2.62 (52) PiDP 6.55/2.62 (53) PiDPToQDPProof [SOUND, 0 ms] 6.55/2.62 (54) QDP 6.55/2.62 (55) QDPSizeChangeProof [EQUIVALENT, 0 ms] 6.55/2.62 (56) YES 6.55/2.62 (57) PiDP 6.55/2.62 (58) UsableRulesProof [EQUIVALENT, 0 ms] 6.55/2.62 (59) PiDP 6.55/2.62 (60) PiDPToQDPProof [SOUND, 0 ms] 6.55/2.62 (61) QDP 6.55/2.62 (62) QDPSizeChangeProof [EQUIVALENT, 0 ms] 6.55/2.62 (63) YES 6.55/2.62 (64) PiDP 6.55/2.62 (65) UsableRulesProof [EQUIVALENT, 0 ms] 6.55/2.62 (66) PiDP 6.55/2.62 (67) PiDPToQDPProof [SOUND, 0 ms] 6.55/2.62 (68) QDP 6.55/2.62 (69) PrologToDTProblemTransformerProof [SOUND, 40 ms] 6.55/2.62 (70) TRIPLES 6.55/2.62 (71) TriplesToPiDPProof [SOUND, 23 ms] 6.55/2.62 (72) PiDP 6.55/2.62 (73) DependencyGraphProof [EQUIVALENT, 0 ms] 6.55/2.62 (74) AND 6.55/2.62 (75) PiDP 6.55/2.62 (76) UsableRulesProof [EQUIVALENT, 0 ms] 6.55/2.62 (77) PiDP 6.55/2.62 (78) PiDPToQDPProof [SOUND, 0 ms] 6.55/2.62 (79) QDP 6.55/2.62 (80) QDPSizeChangeProof [EQUIVALENT, 0 ms] 6.55/2.62 (81) YES 6.55/2.62 (82) PiDP 6.55/2.62 (83) UsableRulesProof [EQUIVALENT, 0 ms] 6.55/2.62 (84) PiDP 6.55/2.62 (85) PiDPToQDPProof [SOUND, 0 ms] 6.55/2.62 (86) QDP 6.55/2.62 (87) QDPSizeChangeProof [EQUIVALENT, 0 ms] 6.55/2.62 (88) YES 6.55/2.62 (89) PiDP 6.55/2.62 (90) UsableRulesProof [EQUIVALENT, 0 ms] 6.55/2.62 (91) PiDP 6.55/2.62 (92) PiDPToQDPProof [SOUND, 0 ms] 6.55/2.62 (93) QDP 6.55/2.62 (94) PrologToIRSwTTransformerProof [SOUND, 48 ms] 6.55/2.62 (95) AND 6.55/2.62 (96) IRSwT 6.55/2.62 (97) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 6.55/2.62 (98) TRUE 6.55/2.62 (99) IRSwT 6.55/2.62 (100) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 6.55/2.62 (101) TRUE 6.55/2.62 (102) IRSwT 6.55/2.62 (103) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 6.55/2.62 (104) IRSwT 6.55/2.62 (105) IntTRSCompressionProof [EQUIVALENT, 19 ms] 6.55/2.62 (106) IRSwT 6.55/2.62 (107) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 6.55/2.62 (108) IRSwT 6.55/2.62 (109) IRSwTTerminationDigraphProof [EQUIVALENT, 3 ms] 6.55/2.62 (110) IRSwT 6.55/2.62 (111) FilterProof [EQUIVALENT, 0 ms] 6.55/2.62 (112) IntTRS 6.55/2.62 (113) IntTRSNonPeriodicNontermProof [COMPLETE, 6 ms] 6.55/2.62 (114) NO 6.55/2.62 6.55/2.62 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (0) 6.55/2.62 Obligation: 6.55/2.62 Clauses: 6.55/2.62 6.55/2.62 rev([], []). 6.55/2.62 rev(.(X, Xs), Ys) :- ','(rev(Xs, Zs), app(Zs, .(X, []), Ys)). 6.55/2.62 app([], X, X). 6.55/2.62 app(.(X, Xs), Ys, .(X, Zs)) :- app(Xs, Ys, Zs). 6.55/2.62 6.55/2.62 6.55/2.62 Query: rev(a,g) 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (1) PrologToPiTRSProof (SOUND) 6.55/2.62 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 6.55/2.62 6.55/2.62 rev_in_2: (f,b) (f,f) 6.55/2.62 6.55/2.62 app_in_3: (b,b,f) (b,b,b) 6.55/2.62 6.55/2.62 Transforming Prolog into the following Term Rewriting System: 6.55/2.62 6.55/2.62 Pi-finite rewrite system: 6.55/2.62 The TRS R consists of the following rules: 6.55/2.62 6.55/2.62 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.62 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.62 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.62 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.62 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.62 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.62 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.62 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.62 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.62 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.62 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.62 6.55/2.62 [] = [] 6.55/2.62 6.55/2.62 rev_out_ag(x1, x2) = rev_out_ag(x1) 6.55/2.62 6.55/2.62 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.62 6.55/2.62 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.62 6.55/2.62 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.62 6.55/2.62 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.62 6.55/2.62 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.62 6.55/2.62 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.62 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 app_out_gga(x1, x2, x3) = app_out_gga(x3) 6.55/2.62 6.55/2.62 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x5) 6.55/2.62 6.55/2.62 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x4) 6.55/2.62 6.55/2.62 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.62 6.55/2.62 app_out_ggg(x1, x2, x3) = app_out_ggg 6.55/2.62 6.55/2.62 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x5) 6.55/2.62 6.55/2.62 6.55/2.62 6.55/2.62 6.55/2.62 6.55/2.62 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 6.55/2.62 6.55/2.62 6.55/2.62 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (2) 6.55/2.62 Obligation: 6.55/2.62 Pi-finite rewrite system: 6.55/2.62 The TRS R consists of the following rules: 6.55/2.62 6.55/2.62 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.62 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.62 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.62 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.62 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.62 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.62 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.62 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.62 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.62 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.62 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.62 6.55/2.62 [] = [] 6.55/2.62 6.55/2.62 rev_out_ag(x1, x2) = rev_out_ag(x1) 6.55/2.62 6.55/2.62 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.62 6.55/2.62 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.62 6.55/2.62 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.62 6.55/2.62 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.62 6.55/2.62 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.62 6.55/2.62 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.62 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 app_out_gga(x1, x2, x3) = app_out_gga(x3) 6.55/2.62 6.55/2.62 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x5) 6.55/2.62 6.55/2.62 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x4) 6.55/2.62 6.55/2.62 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.62 6.55/2.62 app_out_ggg(x1, x2, x3) = app_out_ggg 6.55/2.62 6.55/2.62 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x5) 6.55/2.62 6.55/2.62 6.55/2.62 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (3) DependencyPairsProof (EQUIVALENT) 6.55/2.62 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 6.55/2.62 Pi DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 REV_IN_AG(.(X, Xs), Ys) -> U1_AG(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 REV_IN_AG(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.62 REV_IN_AA(.(X, Xs), Ys) -> U1_AA(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 REV_IN_AA(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.62 U1_AA(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_AA(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.62 U1_AA(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> APP_IN_GGA(Zs, .(X, []), Ys) 6.55/2.62 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> U3_GGA(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.62 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGA(Xs, Ys, Zs) 6.55/2.62 U1_AG(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_AG(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.62 U1_AG(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> APP_IN_GGG(Zs, .(X, []), Ys) 6.55/2.62 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> U3_GGG(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.62 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.62 6.55/2.62 The TRS R consists of the following rules: 6.55/2.62 6.55/2.62 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.62 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.62 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.62 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.62 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.62 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.62 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.62 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.62 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.62 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.62 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.62 6.55/2.62 [] = [] 6.55/2.62 6.55/2.62 rev_out_ag(x1, x2) = rev_out_ag(x1) 6.55/2.62 6.55/2.62 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.62 6.55/2.62 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.62 6.55/2.62 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.62 6.55/2.62 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.62 6.55/2.62 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.62 6.55/2.62 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.62 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 app_out_gga(x1, x2, x3) = app_out_gga(x3) 6.55/2.62 6.55/2.62 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x5) 6.55/2.62 6.55/2.62 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x4) 6.55/2.62 6.55/2.62 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.62 6.55/2.62 app_out_ggg(x1, x2, x3) = app_out_ggg 6.55/2.62 6.55/2.62 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x5) 6.55/2.62 6.55/2.62 REV_IN_AG(x1, x2) = REV_IN_AG(x2) 6.55/2.62 6.55/2.62 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 6.55/2.62 6.55/2.62 REV_IN_AA(x1, x2) = REV_IN_AA 6.55/2.62 6.55/2.62 U1_AA(x1, x2, x3, x4) = U1_AA(x4) 6.55/2.62 6.55/2.62 U2_AA(x1, x2, x3, x4) = U2_AA(x2, x4) 6.55/2.62 6.55/2.62 APP_IN_GGA(x1, x2, x3) = APP_IN_GGA(x1, x2) 6.55/2.62 6.55/2.62 U3_GGA(x1, x2, x3, x4, x5) = U3_GGA(x5) 6.55/2.62 6.55/2.62 U2_AG(x1, x2, x3, x4) = U2_AG(x2, x4) 6.55/2.62 6.55/2.62 APP_IN_GGG(x1, x2, x3) = APP_IN_GGG(x1, x2, x3) 6.55/2.62 6.55/2.62 U3_GGG(x1, x2, x3, x4, x5) = U3_GGG(x5) 6.55/2.62 6.55/2.62 6.55/2.62 We have to consider all (P,R,Pi)-chains 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (4) 6.55/2.62 Obligation: 6.55/2.62 Pi DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 REV_IN_AG(.(X, Xs), Ys) -> U1_AG(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 REV_IN_AG(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.62 REV_IN_AA(.(X, Xs), Ys) -> U1_AA(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 REV_IN_AA(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.62 U1_AA(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_AA(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.62 U1_AA(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> APP_IN_GGA(Zs, .(X, []), Ys) 6.55/2.62 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> U3_GGA(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.62 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGA(Xs, Ys, Zs) 6.55/2.62 U1_AG(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_AG(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.62 U1_AG(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> APP_IN_GGG(Zs, .(X, []), Ys) 6.55/2.62 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> U3_GGG(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.62 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.62 6.55/2.62 The TRS R consists of the following rules: 6.55/2.62 6.55/2.62 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.62 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.62 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.62 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.62 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.62 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.62 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.62 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.62 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.62 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.62 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.62 6.55/2.62 [] = [] 6.55/2.62 6.55/2.62 rev_out_ag(x1, x2) = rev_out_ag(x1) 6.55/2.62 6.55/2.62 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.62 6.55/2.62 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.62 6.55/2.62 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.62 6.55/2.62 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.62 6.55/2.62 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.62 6.55/2.62 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.62 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 app_out_gga(x1, x2, x3) = app_out_gga(x3) 6.55/2.62 6.55/2.62 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x5) 6.55/2.62 6.55/2.62 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x4) 6.55/2.62 6.55/2.62 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.62 6.55/2.62 app_out_ggg(x1, x2, x3) = app_out_ggg 6.55/2.62 6.55/2.62 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x5) 6.55/2.62 6.55/2.62 REV_IN_AG(x1, x2) = REV_IN_AG(x2) 6.55/2.62 6.55/2.62 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 6.55/2.62 6.55/2.62 REV_IN_AA(x1, x2) = REV_IN_AA 6.55/2.62 6.55/2.62 U1_AA(x1, x2, x3, x4) = U1_AA(x4) 6.55/2.62 6.55/2.62 U2_AA(x1, x2, x3, x4) = U2_AA(x2, x4) 6.55/2.62 6.55/2.62 APP_IN_GGA(x1, x2, x3) = APP_IN_GGA(x1, x2) 6.55/2.62 6.55/2.62 U3_GGA(x1, x2, x3, x4, x5) = U3_GGA(x5) 6.55/2.62 6.55/2.62 U2_AG(x1, x2, x3, x4) = U2_AG(x2, x4) 6.55/2.62 6.55/2.62 APP_IN_GGG(x1, x2, x3) = APP_IN_GGG(x1, x2, x3) 6.55/2.62 6.55/2.62 U3_GGG(x1, x2, x3, x4, x5) = U3_GGG(x5) 6.55/2.62 6.55/2.62 6.55/2.62 We have to consider all (P,R,Pi)-chains 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (5) DependencyGraphProof (EQUIVALENT) 6.55/2.62 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 9 less nodes. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (6) 6.55/2.62 Complex Obligation (AND) 6.55/2.62 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (7) 6.55/2.62 Obligation: 6.55/2.62 Pi DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.62 6.55/2.62 The TRS R consists of the following rules: 6.55/2.62 6.55/2.62 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.62 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.62 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.62 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.62 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.62 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.62 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.62 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.62 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.62 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.62 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.62 6.55/2.62 [] = [] 6.55/2.62 6.55/2.62 rev_out_ag(x1, x2) = rev_out_ag(x1) 6.55/2.62 6.55/2.62 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.62 6.55/2.62 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.62 6.55/2.62 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.62 6.55/2.62 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.62 6.55/2.62 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.62 6.55/2.62 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.62 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 app_out_gga(x1, x2, x3) = app_out_gga(x3) 6.55/2.62 6.55/2.62 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x5) 6.55/2.62 6.55/2.62 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x4) 6.55/2.62 6.55/2.62 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.62 6.55/2.62 app_out_ggg(x1, x2, x3) = app_out_ggg 6.55/2.62 6.55/2.62 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x5) 6.55/2.62 6.55/2.62 APP_IN_GGG(x1, x2, x3) = APP_IN_GGG(x1, x2, x3) 6.55/2.62 6.55/2.62 6.55/2.62 We have to consider all (P,R,Pi)-chains 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (8) UsableRulesProof (EQUIVALENT) 6.55/2.62 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (9) 6.55/2.62 Obligation: 6.55/2.62 Pi DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.62 6.55/2.62 R is empty. 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 APP_IN_GGG(x1, x2, x3) = APP_IN_GGG(x1, x2, x3) 6.55/2.62 6.55/2.62 6.55/2.62 We have to consider all (P,R,Pi)-chains 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (10) PiDPToQDPProof (SOUND) 6.55/2.62 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (11) 6.55/2.62 Obligation: 6.55/2.62 Q DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 APP_IN_GGG(.(Xs), Ys, .(Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.62 6.55/2.62 R is empty. 6.55/2.62 Q is empty. 6.55/2.62 We have to consider all (P,Q,R)-chains. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (12) QDPSizeChangeProof (EQUIVALENT) 6.55/2.62 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. 6.55/2.62 6.55/2.62 From the DPs we obtained the following set of size-change graphs: 6.55/2.62 *APP_IN_GGG(.(Xs), Ys, .(Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.62 The graph contains the following edges 1 > 1, 2 >= 2, 3 > 3 6.55/2.62 6.55/2.62 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (13) 6.55/2.62 YES 6.55/2.62 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (14) 6.55/2.62 Obligation: 6.55/2.62 Pi DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGA(Xs, Ys, Zs) 6.55/2.62 6.55/2.62 The TRS R consists of the following rules: 6.55/2.62 6.55/2.62 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.62 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.62 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.62 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.62 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.62 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.62 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.62 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.62 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.62 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.62 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.62 6.55/2.62 [] = [] 6.55/2.62 6.55/2.62 rev_out_ag(x1, x2) = rev_out_ag(x1) 6.55/2.62 6.55/2.62 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.62 6.55/2.62 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.62 6.55/2.62 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.62 6.55/2.62 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.62 6.55/2.62 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.62 6.55/2.62 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.62 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 app_out_gga(x1, x2, x3) = app_out_gga(x3) 6.55/2.62 6.55/2.62 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x5) 6.55/2.62 6.55/2.62 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x4) 6.55/2.62 6.55/2.62 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.62 6.55/2.62 app_out_ggg(x1, x2, x3) = app_out_ggg 6.55/2.62 6.55/2.62 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x5) 6.55/2.62 6.55/2.62 APP_IN_GGA(x1, x2, x3) = APP_IN_GGA(x1, x2) 6.55/2.62 6.55/2.62 6.55/2.62 We have to consider all (P,R,Pi)-chains 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (15) UsableRulesProof (EQUIVALENT) 6.55/2.62 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (16) 6.55/2.62 Obligation: 6.55/2.62 Pi DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGA(Xs, Ys, Zs) 6.55/2.62 6.55/2.62 R is empty. 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 APP_IN_GGA(x1, x2, x3) = APP_IN_GGA(x1, x2) 6.55/2.62 6.55/2.62 6.55/2.62 We have to consider all (P,R,Pi)-chains 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (17) PiDPToQDPProof (SOUND) 6.55/2.62 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (18) 6.55/2.62 Obligation: 6.55/2.62 Q DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 APP_IN_GGA(.(Xs), Ys) -> APP_IN_GGA(Xs, Ys) 6.55/2.62 6.55/2.62 R is empty. 6.55/2.62 Q is empty. 6.55/2.62 We have to consider all (P,Q,R)-chains. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (19) QDPSizeChangeProof (EQUIVALENT) 6.55/2.62 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. 6.55/2.62 6.55/2.62 From the DPs we obtained the following set of size-change graphs: 6.55/2.62 *APP_IN_GGA(.(Xs), Ys) -> APP_IN_GGA(Xs, Ys) 6.55/2.62 The graph contains the following edges 1 > 1, 2 >= 2 6.55/2.62 6.55/2.62 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (20) 6.55/2.62 YES 6.55/2.62 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (21) 6.55/2.62 Obligation: 6.55/2.62 Pi DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 REV_IN_AA(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.62 6.55/2.62 The TRS R consists of the following rules: 6.55/2.62 6.55/2.62 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.62 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.62 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.62 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.62 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.62 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.62 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.62 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.62 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.62 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.62 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.62 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.62 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.62 6.55/2.62 [] = [] 6.55/2.62 6.55/2.62 rev_out_ag(x1, x2) = rev_out_ag(x1) 6.55/2.62 6.55/2.62 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.62 6.55/2.62 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.62 6.55/2.62 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.62 6.55/2.62 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.62 6.55/2.62 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.62 6.55/2.62 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.62 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 app_out_gga(x1, x2, x3) = app_out_gga(x3) 6.55/2.62 6.55/2.62 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x5) 6.55/2.62 6.55/2.62 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x4) 6.55/2.62 6.55/2.62 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.62 6.55/2.62 app_out_ggg(x1, x2, x3) = app_out_ggg 6.55/2.62 6.55/2.62 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x5) 6.55/2.62 6.55/2.62 REV_IN_AA(x1, x2) = REV_IN_AA 6.55/2.62 6.55/2.62 6.55/2.62 We have to consider all (P,R,Pi)-chains 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (22) UsableRulesProof (EQUIVALENT) 6.55/2.62 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (23) 6.55/2.62 Obligation: 6.55/2.62 Pi DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 REV_IN_AA(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.62 6.55/2.62 R is empty. 6.55/2.62 The argument filtering Pi contains the following mapping: 6.55/2.62 .(x1, x2) = .(x2) 6.55/2.62 6.55/2.62 REV_IN_AA(x1, x2) = REV_IN_AA 6.55/2.62 6.55/2.62 6.55/2.62 We have to consider all (P,R,Pi)-chains 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (24) PiDPToQDPProof (SOUND) 6.55/2.62 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (25) 6.55/2.62 Obligation: 6.55/2.62 Q DP problem: 6.55/2.62 The TRS P consists of the following rules: 6.55/2.62 6.55/2.62 REV_IN_AA -> REV_IN_AA 6.55/2.62 6.55/2.62 R is empty. 6.55/2.62 Q is empty. 6.55/2.62 We have to consider all (P,Q,R)-chains. 6.55/2.62 ---------------------------------------- 6.55/2.62 6.55/2.62 (26) PrologToTRSTransformerProof (SOUND) 6.55/2.62 Transformed Prolog program to TRS. 6.55/2.62 6.55/2.62 { 6.55/2.62 "root": 3, 6.55/2.62 "program": { 6.55/2.62 "directives": [], 6.55/2.62 "clauses": [ 6.55/2.62 [ 6.55/2.62 "(rev ([]) ([]))", 6.55/2.62 null 6.55/2.62 ], 6.55/2.62 [ 6.55/2.62 "(rev (. X Xs) Ys)", 6.55/2.62 "(',' (rev Xs Zs) (app Zs (. X ([])) Ys))" 6.55/2.62 ], 6.55/2.62 [ 6.55/2.62 "(app ([]) X X)", 6.55/2.62 null 6.55/2.62 ], 6.55/2.62 [ 6.55/2.62 "(app (. X Xs) Ys (. X Zs))", 6.55/2.62 "(app Xs Ys Zs)" 6.55/2.62 ] 6.55/2.62 ] 6.55/2.62 }, 6.55/2.62 "graph": { 6.55/2.62 "nodes": { 6.55/2.62 "type": "Nodes", 6.55/2.62 "194": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "110": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(rev T12 X11)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X11"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "198": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(app T42 (. T43 ([])) X47)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X47"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "111": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(app T14 (. T15 ([])) T11)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T11"], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "199": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "210": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "211": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "214": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(app T65 (. T66 ([])) T64)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T64"], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "215": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "93": { 6.55/2.62 "goal": [ 6.55/2.62 { 6.55/2.62 "clause": 0, 6.55/2.62 "scope": 1, 6.55/2.62 "term": "(rev T1 T2)" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "clause": 1, 6.55/2.62 "scope": 1, 6.55/2.62 "term": "(rev T1 T2)" 6.55/2.62 } 6.55/2.62 ], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T2"], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "96": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": 0, 6.55/2.62 "scope": 1, 6.55/2.62 "term": "(rev T1 T2)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T2"], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "97": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": 1, 6.55/2.62 "scope": 1, 6.55/2.62 "term": "(rev T1 T2)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T2"], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "182": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(true)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "140": { 6.55/2.62 "goal": [ 6.55/2.62 { 6.55/2.62 "clause": 2, 6.55/2.62 "scope": 3, 6.55/2.62 "term": "(app T24 (. T25 ([])) X25)" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "clause": 3, 6.55/2.62 "scope": 3, 6.55/2.62 "term": "(app T24 (. T25 ([])) X25)" 6.55/2.62 } 6.55/2.62 ], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X25"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "141": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": 2, 6.55/2.62 "scope": 3, 6.55/2.62 "term": "(app T24 (. T25 ([])) X25)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X25"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "120": { 6.55/2.62 "goal": [ 6.55/2.62 { 6.55/2.62 "clause": 0, 6.55/2.62 "scope": 2, 6.55/2.62 "term": "(rev T12 X11)" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "clause": 1, 6.55/2.62 "scope": 2, 6.55/2.62 "term": "(rev T12 X11)" 6.55/2.62 } 6.55/2.62 ], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X11"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "121": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": 0, 6.55/2.62 "scope": 2, 6.55/2.62 "term": "(rev T12 X11)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X11"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "100": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(true)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "122": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": 1, 6.55/2.62 "scope": 2, 6.55/2.62 "term": "(rev T12 X11)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X11"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "144": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": 3, 6.55/2.62 "scope": 3, 6.55/2.62 "term": "(app T24 (. T25 ([])) X25)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X25"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "123": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(true)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "189": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "3": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(rev T1 T2)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T2"], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "102": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "124": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "103": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "125": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "104": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(',' (rev T12 X11) (app X11 (. T13 ([])) T11))" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T11"], 6.55/2.62 "free": ["X11"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "126": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(',' (rev T22 X24) (app X24 (. T23 ([])) X25))" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [ 6.55/2.62 "X25", 6.55/2.62 "X24" 6.55/2.62 ], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "203": { 6.55/2.62 "goal": [ 6.55/2.62 { 6.55/2.62 "clause": 2, 6.55/2.62 "scope": 4, 6.55/2.62 "term": "(app T14 (. T15 ([])) T11)" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "clause": 3, 6.55/2.62 "scope": 4, 6.55/2.62 "term": "(app T14 (. T15 ([])) T11)" 6.55/2.62 } 6.55/2.62 ], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T11"], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "105": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "127": { 6.55/2.62 "goal": [], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "128": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(rev T22 X24)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X24"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "205": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": 2, 6.55/2.62 "scope": 4, 6.55/2.62 "term": "(app T14 (. T15 ([])) T11)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T11"], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "129": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(app T24 (. T25 ([])) X25)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": ["X25"], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "206": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": 3, 6.55/2.62 "scope": 4, 6.55/2.62 "term": "(app T14 (. T15 ([])) T11)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": ["T11"], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "209": { 6.55/2.62 "goal": [{ 6.55/2.62 "clause": -1, 6.55/2.62 "scope": -1, 6.55/2.62 "term": "(true)" 6.55/2.62 }], 6.55/2.62 "kb": { 6.55/2.62 "nonunifying": [], 6.55/2.62 "intvars": {}, 6.55/2.62 "arithmetic": { 6.55/2.62 "type": "PlainIntegerRelationState", 6.55/2.62 "relations": [] 6.55/2.62 }, 6.55/2.62 "ground": [], 6.55/2.62 "free": [], 6.55/2.62 "exprvars": [] 6.55/2.62 } 6.55/2.62 } 6.55/2.62 }, 6.55/2.62 "edges": [ 6.55/2.62 { 6.55/2.62 "from": 3, 6.55/2.62 "to": 93, 6.55/2.62 "label": "CASE" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 93, 6.55/2.62 "to": 96, 6.55/2.62 "label": "PARALLEL" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 93, 6.55/2.62 "to": 97, 6.55/2.62 "label": "PARALLEL" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 96, 6.55/2.62 "to": 100, 6.55/2.62 "label": "EVAL with clause\nrev([], []).\nand substitutionT1 -> [],\nT2 -> []" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 96, 6.55/2.62 "to": 102, 6.55/2.62 "label": "EVAL-BACKTRACK" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 97, 6.55/2.62 "to": 104, 6.55/2.62 "label": "EVAL with clause\nrev(.(X8, X9), X10) :- ','(rev(X9, X11), app(X11, .(X8, []), X10)).\nand substitutionX8 -> T13,\nX9 -> T12,\nT1 -> .(T13, T12),\nT2 -> T11,\nX10 -> T11,\nT10 -> T12,\nT9 -> T13" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 97, 6.55/2.62 "to": 105, 6.55/2.62 "label": "EVAL-BACKTRACK" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 100, 6.55/2.62 "to": 103, 6.55/2.62 "label": "SUCCESS" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 104, 6.55/2.62 "to": 110, 6.55/2.62 "label": "SPLIT 1" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 104, 6.55/2.62 "to": 111, 6.55/2.62 "label": "SPLIT 2\nreplacements:X11 -> T14,\nT13 -> T15" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 110, 6.55/2.62 "to": 120, 6.55/2.62 "label": "CASE" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 111, 6.55/2.62 "to": 203, 6.55/2.62 "label": "CASE" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 120, 6.55/2.62 "to": 121, 6.55/2.62 "label": "PARALLEL" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 120, 6.55/2.62 "to": 122, 6.55/2.62 "label": "PARALLEL" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 121, 6.55/2.62 "to": 123, 6.55/2.62 "label": "EVAL with clause\nrev([], []).\nand substitutionT12 -> [],\nX11 -> []" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 121, 6.55/2.62 "to": 124, 6.55/2.62 "label": "EVAL-BACKTRACK" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 122, 6.55/2.62 "to": 126, 6.55/2.62 "label": "EVAL with clause\nrev(.(X21, X22), X23) :- ','(rev(X22, X24), app(X24, .(X21, []), X23)).\nand substitutionX21 -> T23,\nX22 -> T22,\nT12 -> .(T23, T22),\nX11 -> X25,\nX23 -> X25,\nT21 -> T22,\nT20 -> T23" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 122, 6.55/2.62 "to": 127, 6.55/2.62 "label": "EVAL-BACKTRACK" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 123, 6.55/2.62 "to": 125, 6.55/2.62 "label": "SUCCESS" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 126, 6.55/2.62 "to": 128, 6.55/2.62 "label": "SPLIT 1" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 126, 6.55/2.62 "to": 129, 6.55/2.62 "label": "SPLIT 2\nreplacements:X24 -> T24,\nT23 -> T25" 6.55/2.62 }, 6.55/2.62 { 6.55/2.62 "from": 128, 6.55/2.63 "to": 110, 6.55/2.63 "label": "INSTANCE with matching:\nT12 -> T22\nX11 -> X24" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 129, 6.55/2.63 "to": 140, 6.55/2.63 "label": "CASE" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 140, 6.55/2.63 "to": 141, 6.55/2.63 "label": "PARALLEL" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 140, 6.55/2.63 "to": 144, 6.55/2.63 "label": "PARALLEL" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 141, 6.55/2.63 "to": 182, 6.55/2.63 "label": "EVAL with clause\napp([], X32, X32).\nand substitutionT24 -> [],\nT25 -> T32,\nX32 -> .(T32, []),\nX25 -> .(T32, [])" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 141, 6.55/2.63 "to": 189, 6.55/2.63 "label": "EVAL-BACKTRACK" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 144, 6.55/2.63 "to": 198, 6.55/2.63 "label": "EVAL with clause\napp(.(X43, X44), X45, .(X43, X46)) :- app(X44, X45, X46).\nand substitutionX43 -> T39,\nX44 -> T42,\nT24 -> .(T39, T42),\nT25 -> T43,\nX45 -> .(T43, []),\nX46 -> X47,\nX25 -> .(T39, X47),\nT40 -> T42,\nT41 -> T43" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 144, 6.55/2.63 "to": 199, 6.55/2.63 "label": "EVAL-BACKTRACK" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 182, 6.55/2.63 "to": 194, 6.55/2.63 "label": "SUCCESS" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 198, 6.55/2.63 "to": 129, 6.55/2.63 "label": "INSTANCE with matching:\nT24 -> T42\nT25 -> T43\nX25 -> X47" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 203, 6.55/2.63 "to": 205, 6.55/2.63 "label": "PARALLEL" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 203, 6.55/2.63 "to": 206, 6.55/2.63 "label": "PARALLEL" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 205, 6.55/2.63 "to": 209, 6.55/2.63 "label": "EVAL with clause\napp([], X56, X56).\nand substitutionT14 -> [],\nT15 -> T52,\nX56 -> .(T52, []),\nT11 -> .(T52, [])" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 205, 6.55/2.63 "to": 210, 6.55/2.63 "label": "EVAL-BACKTRACK" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 206, 6.55/2.63 "to": 214, 6.55/2.63 "label": "EVAL with clause\napp(.(X65, X66), X67, .(X65, X68)) :- app(X66, X67, X68).\nand substitutionX65 -> T61,\nX66 -> T65,\nT14 -> .(T61, T65),\nT15 -> T66,\nX67 -> .(T66, []),\nX68 -> T64,\nT11 -> .(T61, T64),\nT62 -> T65,\nT63 -> T66" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 206, 6.55/2.63 "to": 215, 6.55/2.63 "label": "EVAL-BACKTRACK" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 209, 6.55/2.63 "to": 211, 6.55/2.63 "label": "SUCCESS" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "from": 214, 6.55/2.63 "to": 111, 6.55/2.63 "label": "INSTANCE with matching:\nT14 -> T65\nT15 -> T66\nT11 -> T64" 6.55/2.63 } 6.55/2.63 ], 6.55/2.63 "type": "Graph" 6.55/2.63 } 6.55/2.63 } 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (27) 6.55/2.63 Obligation: 6.55/2.63 Q restricted rewrite system: 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 f3_in([]) -> f3_out1 6.55/2.63 f3_in(T11) -> U1(f104_in(T11), T11) 6.55/2.63 U1(f104_out1(X11, T13), T11) -> f3_out1 6.55/2.63 f110_in -> f110_out1 6.55/2.63 f110_in -> U2(f126_in) 6.55/2.63 U2(f126_out1) -> f110_out1 6.55/2.63 f129_in -> f129_out1 6.55/2.63 f129_in -> U3(f129_in) 6.55/2.63 U3(f129_out1) -> f129_out1 6.55/2.63 f111_in(.(T52, [])) -> f111_out1([], T52) 6.55/2.63 f111_in(.(T61, T64)) -> U4(f111_in(T64), .(T61, T64)) 6.55/2.63 U4(f111_out1(T65, T66), .(T61, T64)) -> f111_out1(.(T61, T65), T66) 6.55/2.63 f104_in(T11) -> U5(f110_in, T11) 6.55/2.63 U5(f110_out1, T11) -> U6(f111_in(T11), T11) 6.55/2.63 U6(f111_out1(T14, T15), T11) -> f104_out1(T14, T15) 6.55/2.63 f126_in -> U7(f110_in) 6.55/2.63 U7(f110_out1) -> U8(f129_in) 6.55/2.63 U8(f129_out1) -> f126_out1 6.55/2.63 6.55/2.63 Q is empty. 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (28) QTRSRRRProof (EQUIVALENT) 6.55/2.63 Used ordering: 6.55/2.63 f3_in/1(YES) 6.55/2.63 []/0) 6.55/2.63 f3_out1/0) 6.55/2.63 U1/2(YES,YES) 6.55/2.63 f104_in/1(YES) 6.55/2.63 f104_out1/2(YES,YES) 6.55/2.63 f110_in/0) 6.55/2.63 f110_out1/0) 6.55/2.63 U2/1)YES( 6.55/2.63 f126_in/0) 6.55/2.63 f126_out1/0) 6.55/2.63 f129_in/0) 6.55/2.63 f129_out1/0) 6.55/2.63 U3/1)YES( 6.55/2.63 f111_in/1(YES) 6.55/2.63 ./2(YES,YES) 6.55/2.63 f111_out1/2(YES,YES) 6.55/2.63 U4/2(YES,YES) 6.55/2.63 U5/2(YES,YES) 6.55/2.63 U6/2(YES,YES) 6.55/2.63 U7/1)YES( 6.55/2.63 U8/1)YES( 6.55/2.63 6.55/2.63 Quasi precedence: 6.55/2.63 f3_in_1 > U1_2 > f3_out1 6.55/2.63 f3_in_1 > f104_in_1 > [[], f111_in_1, U5_2] > f3_out1 6.55/2.63 f3_in_1 > f104_in_1 > [[], f111_in_1, U5_2] > U4_2 > f111_out1_2 > ._2 6.55/2.63 f3_in_1 > f104_in_1 > [[], f111_in_1, U5_2] > U6_2 > f104_out1_2 6.55/2.63 f3_in_1 > f104_in_1 > [f110_in, f126_in] > [f110_out1, f126_out1, f129_in, f129_out1] 6.55/2.63 6.55/2.63 6.55/2.63 Status: 6.55/2.63 f3_in_1: multiset status 6.55/2.63 []: multiset status 6.55/2.63 f3_out1: multiset status 6.55/2.63 U1_2: multiset status 6.55/2.63 f104_in_1: multiset status 6.55/2.63 f104_out1_2: multiset status 6.55/2.63 f110_in: multiset status 6.55/2.63 f110_out1: multiset status 6.55/2.63 f126_in: multiset status 6.55/2.63 f126_out1: multiset status 6.55/2.63 f129_in: multiset status 6.55/2.63 f129_out1: multiset status 6.55/2.63 f111_in_1: multiset status 6.55/2.63 ._2: multiset status 6.55/2.63 f111_out1_2: multiset status 6.55/2.63 U4_2: multiset status 6.55/2.63 U5_2: multiset status 6.55/2.63 U6_2: multiset status 6.55/2.63 6.55/2.63 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 6.55/2.63 6.55/2.63 f3_in([]) -> f3_out1 6.55/2.63 f3_in(T11) -> U1(f104_in(T11), T11) 6.55/2.63 U1(f104_out1(X11, T13), T11) -> f3_out1 6.55/2.63 f110_in -> f110_out1 6.55/2.63 f111_in(.(T52, [])) -> f111_out1([], T52) 6.55/2.63 f111_in(.(T61, T64)) -> U4(f111_in(T64), .(T61, T64)) 6.55/2.63 U4(f111_out1(T65, T66), .(T61, T64)) -> f111_out1(.(T61, T65), T66) 6.55/2.63 f104_in(T11) -> U5(f110_in, T11) 6.55/2.63 U5(f110_out1, T11) -> U6(f111_in(T11), T11) 6.55/2.63 U6(f111_out1(T14, T15), T11) -> f104_out1(T14, T15) 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (29) 6.55/2.63 Obligation: 6.55/2.63 Q restricted rewrite system: 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 f110_in -> U2(f126_in) 6.55/2.63 U2(f126_out1) -> f110_out1 6.55/2.63 f129_in -> f129_out1 6.55/2.63 f129_in -> U3(f129_in) 6.55/2.63 U3(f129_out1) -> f129_out1 6.55/2.63 f126_in -> U7(f110_in) 6.55/2.63 U7(f110_out1) -> U8(f129_in) 6.55/2.63 U8(f129_out1) -> f126_out1 6.55/2.63 6.55/2.63 Q is empty. 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (30) QTRSRRRProof (EQUIVALENT) 6.55/2.63 Used ordering: 6.55/2.63 Polynomial interpretation [POLO]: 6.55/2.63 6.55/2.63 POL(U2(x_1)) = 2*x_1 6.55/2.63 POL(U3(x_1)) = x_1 6.55/2.63 POL(U7(x_1)) = 2*x_1 6.55/2.63 POL(U8(x_1)) = 2 + x_1 6.55/2.63 POL(f110_in) = 0 6.55/2.63 POL(f110_out1) = 2 6.55/2.63 POL(f126_in) = 0 6.55/2.63 POL(f126_out1) = 1 6.55/2.63 POL(f129_in) = 1 6.55/2.63 POL(f129_out1) = 0 6.55/2.63 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 6.55/2.63 6.55/2.63 f129_in -> f129_out1 6.55/2.63 U7(f110_out1) -> U8(f129_in) 6.55/2.63 U8(f129_out1) -> f126_out1 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (31) 6.55/2.63 Obligation: 6.55/2.63 Q restricted rewrite system: 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 f110_in -> U2(f126_in) 6.55/2.63 U2(f126_out1) -> f110_out1 6.55/2.63 f129_in -> U3(f129_in) 6.55/2.63 U3(f129_out1) -> f129_out1 6.55/2.63 f126_in -> U7(f110_in) 6.55/2.63 6.55/2.63 Q is empty. 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (32) QTRSRRRProof (EQUIVALENT) 6.55/2.63 Used ordering: 6.55/2.63 f110_in/0) 6.55/2.63 U2/1)YES( 6.55/2.63 f126_in/0) 6.55/2.63 f126_out1/0) 6.55/2.63 f110_out1/0) 6.55/2.63 f129_in/0) 6.55/2.63 U3/1)YES( 6.55/2.63 f129_out1/0) 6.55/2.63 U7/1)YES( 6.55/2.63 6.55/2.63 Quasi precedence: 6.55/2.63 [f110_in, f126_in] 6.55/2.63 f126_out1 > f110_out1 6.55/2.63 6.55/2.63 6.55/2.63 Status: 6.55/2.63 f110_in: multiset status 6.55/2.63 f126_in: multiset status 6.55/2.63 f126_out1: multiset status 6.55/2.63 f110_out1: multiset status 6.55/2.63 f129_in: multiset status 6.55/2.63 f129_out1: multiset status 6.55/2.63 6.55/2.63 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 6.55/2.63 6.55/2.63 U2(f126_out1) -> f110_out1 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (33) 6.55/2.63 Obligation: 6.55/2.63 Q restricted rewrite system: 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 f110_in -> U2(f126_in) 6.55/2.63 f129_in -> U3(f129_in) 6.55/2.63 U3(f129_out1) -> f129_out1 6.55/2.63 f126_in -> U7(f110_in) 6.55/2.63 6.55/2.63 Q is empty. 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (34) QTRSRRRProof (EQUIVALENT) 6.55/2.63 Used ordering: 6.55/2.63 Polynomial interpretation [POLO]: 6.55/2.63 6.55/2.63 POL(U2(x_1)) = 2*x_1 6.55/2.63 POL(U3(x_1)) = 2*x_1 6.55/2.63 POL(U7(x_1)) = 2*x_1 6.55/2.63 POL(f110_in) = 0 6.55/2.63 POL(f126_in) = 0 6.55/2.63 POL(f129_in) = 0 6.55/2.63 POL(f129_out1) = 1 6.55/2.63 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 6.55/2.63 6.55/2.63 U3(f129_out1) -> f129_out1 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (35) 6.55/2.63 Obligation: 6.55/2.63 Q restricted rewrite system: 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 f110_in -> U2(f126_in) 6.55/2.63 f129_in -> U3(f129_in) 6.55/2.63 f126_in -> U7(f110_in) 6.55/2.63 6.55/2.63 Q is empty. 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (36) Overlay + Local Confluence (EQUIVALENT) 6.55/2.63 The TRS is overlay and locally confluent. By [NOC] we can switch to innermost. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (37) 6.55/2.63 Obligation: 6.55/2.63 Q restricted rewrite system: 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 f110_in -> U2(f126_in) 6.55/2.63 f129_in -> U3(f129_in) 6.55/2.63 f126_in -> U7(f110_in) 6.55/2.63 6.55/2.63 The set Q consists of the following terms: 6.55/2.63 6.55/2.63 f110_in 6.55/2.63 f129_in 6.55/2.63 f126_in 6.55/2.63 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (38) DependencyPairsProof (EQUIVALENT) 6.55/2.63 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (39) 6.55/2.63 Obligation: 6.55/2.63 Q DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 F110_IN -> F126_IN 6.55/2.63 F129_IN -> F129_IN 6.55/2.63 F126_IN -> F110_IN 6.55/2.63 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 f110_in -> U2(f126_in) 6.55/2.63 f129_in -> U3(f129_in) 6.55/2.63 f126_in -> U7(f110_in) 6.55/2.63 6.55/2.63 The set Q consists of the following terms: 6.55/2.63 6.55/2.63 f110_in 6.55/2.63 f129_in 6.55/2.63 f126_in 6.55/2.63 6.55/2.63 We have to consider all minimal (P,Q,R)-chains. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (40) DependencyGraphProof (EQUIVALENT) 6.55/2.63 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (41) 6.55/2.63 Complex Obligation (AND) 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (42) 6.55/2.63 Obligation: 6.55/2.63 Q DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 F129_IN -> F129_IN 6.55/2.63 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 f110_in -> U2(f126_in) 6.55/2.63 f129_in -> U3(f129_in) 6.55/2.63 f126_in -> U7(f110_in) 6.55/2.63 6.55/2.63 The set Q consists of the following terms: 6.55/2.63 6.55/2.63 f110_in 6.55/2.63 f129_in 6.55/2.63 f126_in 6.55/2.63 6.55/2.63 We have to consider all minimal (P,Q,R)-chains. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (43) 6.55/2.63 Obligation: 6.55/2.63 Q DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 F126_IN -> F110_IN 6.55/2.63 F110_IN -> F126_IN 6.55/2.63 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 f110_in -> U2(f126_in) 6.55/2.63 f129_in -> U3(f129_in) 6.55/2.63 f126_in -> U7(f110_in) 6.55/2.63 6.55/2.63 The set Q consists of the following terms: 6.55/2.63 6.55/2.63 f110_in 6.55/2.63 f129_in 6.55/2.63 f126_in 6.55/2.63 6.55/2.63 We have to consider all minimal (P,Q,R)-chains. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (44) PrologToPiTRSProof (SOUND) 6.55/2.63 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 6.55/2.63 6.55/2.63 rev_in_2: (f,b) (f,f) 6.55/2.63 6.55/2.63 app_in_3: (b,b,f) (b,b,b) 6.55/2.63 6.55/2.63 Transforming Prolog into the following Term Rewriting System: 6.55/2.63 6.55/2.63 Pi-finite rewrite system: 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.63 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.63 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.63 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.63 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.63 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.63 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.63 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.63 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.63 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.63 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.63 6.55/2.63 [] = [] 6.55/2.63 6.55/2.63 rev_out_ag(x1, x2) = rev_out_ag(x1, x2) 6.55/2.63 6.55/2.63 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.63 6.55/2.63 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.63 6.55/2.63 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.63 6.55/2.63 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.63 6.55/2.63 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.63 6.55/2.63 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.63 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 app_out_gga(x1, x2, x3) = app_out_gga(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x2, x3, x5) 6.55/2.63 6.55/2.63 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x3, x4) 6.55/2.63 6.55/2.63 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 app_out_ggg(x1, x2, x3) = app_out_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x2, x3, x4, x5) 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (45) 6.55/2.63 Obligation: 6.55/2.63 Pi-finite rewrite system: 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.63 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.63 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.63 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.63 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.63 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.63 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.63 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.63 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.63 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.63 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.63 6.55/2.63 [] = [] 6.55/2.63 6.55/2.63 rev_out_ag(x1, x2) = rev_out_ag(x1, x2) 6.55/2.63 6.55/2.63 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.63 6.55/2.63 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.63 6.55/2.63 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.63 6.55/2.63 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.63 6.55/2.63 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.63 6.55/2.63 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.63 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 app_out_gga(x1, x2, x3) = app_out_gga(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x2, x3, x5) 6.55/2.63 6.55/2.63 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x3, x4) 6.55/2.63 6.55/2.63 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 app_out_ggg(x1, x2, x3) = app_out_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x2, x3, x4, x5) 6.55/2.63 6.55/2.63 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (46) DependencyPairsProof (EQUIVALENT) 6.55/2.63 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 6.55/2.63 Pi DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 REV_IN_AG(.(X, Xs), Ys) -> U1_AG(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 REV_IN_AG(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.63 REV_IN_AA(.(X, Xs), Ys) -> U1_AA(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 REV_IN_AA(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.63 U1_AA(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_AA(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.63 U1_AA(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> APP_IN_GGA(Zs, .(X, []), Ys) 6.55/2.63 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> U3_GGA(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.63 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGA(Xs, Ys, Zs) 6.55/2.63 U1_AG(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_AG(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.63 U1_AG(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> APP_IN_GGG(Zs, .(X, []), Ys) 6.55/2.63 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> U3_GGG(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.63 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.63 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.63 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.63 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.63 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.63 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.63 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.63 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.63 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.63 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.63 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.63 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.63 6.55/2.63 [] = [] 6.55/2.63 6.55/2.63 rev_out_ag(x1, x2) = rev_out_ag(x1, x2) 6.55/2.63 6.55/2.63 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.63 6.55/2.63 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.63 6.55/2.63 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.63 6.55/2.63 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.63 6.55/2.63 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.63 6.55/2.63 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.63 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 app_out_gga(x1, x2, x3) = app_out_gga(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x2, x3, x5) 6.55/2.63 6.55/2.63 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x3, x4) 6.55/2.63 6.55/2.63 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 app_out_ggg(x1, x2, x3) = app_out_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x2, x3, x4, x5) 6.55/2.63 6.55/2.63 REV_IN_AG(x1, x2) = REV_IN_AG(x2) 6.55/2.63 6.55/2.63 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 6.55/2.63 6.55/2.63 REV_IN_AA(x1, x2) = REV_IN_AA 6.55/2.63 6.55/2.63 U1_AA(x1, x2, x3, x4) = U1_AA(x4) 6.55/2.63 6.55/2.63 U2_AA(x1, x2, x3, x4) = U2_AA(x2, x4) 6.55/2.63 6.55/2.63 APP_IN_GGA(x1, x2, x3) = APP_IN_GGA(x1, x2) 6.55/2.63 6.55/2.63 U3_GGA(x1, x2, x3, x4, x5) = U3_GGA(x2, x3, x5) 6.55/2.63 6.55/2.63 U2_AG(x1, x2, x3, x4) = U2_AG(x2, x3, x4) 6.55/2.63 6.55/2.63 APP_IN_GGG(x1, x2, x3) = APP_IN_GGG(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_GGG(x1, x2, x3, x4, x5) = U3_GGG(x2, x3, x4, x5) 6.55/2.63 6.55/2.63 6.55/2.63 We have to consider all (P,R,Pi)-chains 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (47) 6.55/2.63 Obligation: 6.55/2.63 Pi DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 REV_IN_AG(.(X, Xs), Ys) -> U1_AG(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 REV_IN_AG(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.63 REV_IN_AA(.(X, Xs), Ys) -> U1_AA(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 REV_IN_AA(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.63 U1_AA(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_AA(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.63 U1_AA(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> APP_IN_GGA(Zs, .(X, []), Ys) 6.55/2.63 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> U3_GGA(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.63 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGA(Xs, Ys, Zs) 6.55/2.63 U1_AG(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_AG(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.63 U1_AG(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> APP_IN_GGG(Zs, .(X, []), Ys) 6.55/2.63 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> U3_GGG(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.63 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.63 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.63 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.63 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.63 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.63 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.63 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.63 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.63 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.63 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.63 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.63 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.63 6.55/2.63 [] = [] 6.55/2.63 6.55/2.63 rev_out_ag(x1, x2) = rev_out_ag(x1, x2) 6.55/2.63 6.55/2.63 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.63 6.55/2.63 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.63 6.55/2.63 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.63 6.55/2.63 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.63 6.55/2.63 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.63 6.55/2.63 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.63 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 app_out_gga(x1, x2, x3) = app_out_gga(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x2, x3, x5) 6.55/2.63 6.55/2.63 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x3, x4) 6.55/2.63 6.55/2.63 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 app_out_ggg(x1, x2, x3) = app_out_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x2, x3, x4, x5) 6.55/2.63 6.55/2.63 REV_IN_AG(x1, x2) = REV_IN_AG(x2) 6.55/2.63 6.55/2.63 U1_AG(x1, x2, x3, x4) = U1_AG(x3, x4) 6.55/2.63 6.55/2.63 REV_IN_AA(x1, x2) = REV_IN_AA 6.55/2.63 6.55/2.63 U1_AA(x1, x2, x3, x4) = U1_AA(x4) 6.55/2.63 6.55/2.63 U2_AA(x1, x2, x3, x4) = U2_AA(x2, x4) 6.55/2.63 6.55/2.63 APP_IN_GGA(x1, x2, x3) = APP_IN_GGA(x1, x2) 6.55/2.63 6.55/2.63 U3_GGA(x1, x2, x3, x4, x5) = U3_GGA(x2, x3, x5) 6.55/2.63 6.55/2.63 U2_AG(x1, x2, x3, x4) = U2_AG(x2, x3, x4) 6.55/2.63 6.55/2.63 APP_IN_GGG(x1, x2, x3) = APP_IN_GGG(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_GGG(x1, x2, x3, x4, x5) = U3_GGG(x2, x3, x4, x5) 6.55/2.63 6.55/2.63 6.55/2.63 We have to consider all (P,R,Pi)-chains 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (48) DependencyGraphProof (EQUIVALENT) 6.55/2.63 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 9 less nodes. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (49) 6.55/2.63 Complex Obligation (AND) 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (50) 6.55/2.63 Obligation: 6.55/2.63 Pi DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.63 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.63 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.63 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.63 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.63 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.63 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.63 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.63 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.63 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.63 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.63 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.63 6.55/2.63 [] = [] 6.55/2.63 6.55/2.63 rev_out_ag(x1, x2) = rev_out_ag(x1, x2) 6.55/2.63 6.55/2.63 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.63 6.55/2.63 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.63 6.55/2.63 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.63 6.55/2.63 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.63 6.55/2.63 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.63 6.55/2.63 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.63 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 app_out_gga(x1, x2, x3) = app_out_gga(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x2, x3, x5) 6.55/2.63 6.55/2.63 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x3, x4) 6.55/2.63 6.55/2.63 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 app_out_ggg(x1, x2, x3) = app_out_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x2, x3, x4, x5) 6.55/2.63 6.55/2.63 APP_IN_GGG(x1, x2, x3) = APP_IN_GGG(x1, x2, x3) 6.55/2.63 6.55/2.63 6.55/2.63 We have to consider all (P,R,Pi)-chains 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (51) UsableRulesProof (EQUIVALENT) 6.55/2.63 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (52) 6.55/2.63 Obligation: 6.55/2.63 Pi DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 APP_IN_GGG(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.63 6.55/2.63 R is empty. 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 APP_IN_GGG(x1, x2, x3) = APP_IN_GGG(x1, x2, x3) 6.55/2.63 6.55/2.63 6.55/2.63 We have to consider all (P,R,Pi)-chains 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (53) PiDPToQDPProof (SOUND) 6.55/2.63 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (54) 6.55/2.63 Obligation: 6.55/2.63 Q DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 APP_IN_GGG(.(Xs), Ys, .(Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.63 6.55/2.63 R is empty. 6.55/2.63 Q is empty. 6.55/2.63 We have to consider all (P,Q,R)-chains. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (55) QDPSizeChangeProof (EQUIVALENT) 6.55/2.63 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. 6.55/2.63 6.55/2.63 From the DPs we obtained the following set of size-change graphs: 6.55/2.63 *APP_IN_GGG(.(Xs), Ys, .(Zs)) -> APP_IN_GGG(Xs, Ys, Zs) 6.55/2.63 The graph contains the following edges 1 > 1, 2 >= 2, 3 > 3 6.55/2.63 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (56) 6.55/2.63 YES 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (57) 6.55/2.63 Obligation: 6.55/2.63 Pi DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGA(Xs, Ys, Zs) 6.55/2.63 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.63 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.63 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.63 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.63 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.63 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.63 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.63 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.63 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.63 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.63 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.63 6.55/2.63 [] = [] 6.55/2.63 6.55/2.63 rev_out_ag(x1, x2) = rev_out_ag(x1, x2) 6.55/2.63 6.55/2.63 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.63 6.55/2.63 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.63 6.55/2.63 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.63 6.55/2.63 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.63 6.55/2.63 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.63 6.55/2.63 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.63 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 app_out_gga(x1, x2, x3) = app_out_gga(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x2, x3, x5) 6.55/2.63 6.55/2.63 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x3, x4) 6.55/2.63 6.55/2.63 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 app_out_ggg(x1, x2, x3) = app_out_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x2, x3, x4, x5) 6.55/2.63 6.55/2.63 APP_IN_GGA(x1, x2, x3) = APP_IN_GGA(x1, x2) 6.55/2.63 6.55/2.63 6.55/2.63 We have to consider all (P,R,Pi)-chains 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (58) UsableRulesProof (EQUIVALENT) 6.55/2.63 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (59) 6.55/2.63 Obligation: 6.55/2.63 Pi DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 APP_IN_GGA(.(X, Xs), Ys, .(X, Zs)) -> APP_IN_GGA(Xs, Ys, Zs) 6.55/2.63 6.55/2.63 R is empty. 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 APP_IN_GGA(x1, x2, x3) = APP_IN_GGA(x1, x2) 6.55/2.63 6.55/2.63 6.55/2.63 We have to consider all (P,R,Pi)-chains 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (60) PiDPToQDPProof (SOUND) 6.55/2.63 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (61) 6.55/2.63 Obligation: 6.55/2.63 Q DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 APP_IN_GGA(.(Xs), Ys) -> APP_IN_GGA(Xs, Ys) 6.55/2.63 6.55/2.63 R is empty. 6.55/2.63 Q is empty. 6.55/2.63 We have to consider all (P,Q,R)-chains. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (62) QDPSizeChangeProof (EQUIVALENT) 6.55/2.63 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. 6.55/2.63 6.55/2.63 From the DPs we obtained the following set of size-change graphs: 6.55/2.63 *APP_IN_GGA(.(Xs), Ys) -> APP_IN_GGA(Xs, Ys) 6.55/2.63 The graph contains the following edges 1 > 1, 2 >= 2 6.55/2.63 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (63) 6.55/2.63 YES 6.55/2.63 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (64) 6.55/2.63 Obligation: 6.55/2.63 Pi DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 REV_IN_AA(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.63 6.55/2.63 The TRS R consists of the following rules: 6.55/2.63 6.55/2.63 rev_in_ag([], []) -> rev_out_ag([], []) 6.55/2.63 rev_in_ag(.(X, Xs), Ys) -> U1_ag(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 rev_in_aa([], []) -> rev_out_aa([], []) 6.55/2.63 rev_in_aa(.(X, Xs), Ys) -> U1_aa(X, Xs, Ys, rev_in_aa(Xs, Zs)) 6.55/2.63 U1_aa(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_aa(X, Xs, Ys, app_in_gga(Zs, .(X, []), Ys)) 6.55/2.63 app_in_gga([], X, X) -> app_out_gga([], X, X) 6.55/2.63 app_in_gga(.(X, Xs), Ys, .(X, Zs)) -> U3_gga(X, Xs, Ys, Zs, app_in_gga(Xs, Ys, Zs)) 6.55/2.63 U3_gga(X, Xs, Ys, Zs, app_out_gga(Xs, Ys, Zs)) -> app_out_gga(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_aa(X, Xs, Ys, app_out_gga(Zs, .(X, []), Ys)) -> rev_out_aa(.(X, Xs), Ys) 6.55/2.63 U1_ag(X, Xs, Ys, rev_out_aa(Xs, Zs)) -> U2_ag(X, Xs, Ys, app_in_ggg(Zs, .(X, []), Ys)) 6.55/2.63 app_in_ggg([], X, X) -> app_out_ggg([], X, X) 6.55/2.63 app_in_ggg(.(X, Xs), Ys, .(X, Zs)) -> U3_ggg(X, Xs, Ys, Zs, app_in_ggg(Xs, Ys, Zs)) 6.55/2.63 U3_ggg(X, Xs, Ys, Zs, app_out_ggg(Xs, Ys, Zs)) -> app_out_ggg(.(X, Xs), Ys, .(X, Zs)) 6.55/2.63 U2_ag(X, Xs, Ys, app_out_ggg(Zs, .(X, []), Ys)) -> rev_out_ag(.(X, Xs), Ys) 6.55/2.63 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 rev_in_ag(x1, x2) = rev_in_ag(x2) 6.55/2.63 6.55/2.63 [] = [] 6.55/2.63 6.55/2.63 rev_out_ag(x1, x2) = rev_out_ag(x1, x2) 6.55/2.63 6.55/2.63 U1_ag(x1, x2, x3, x4) = U1_ag(x3, x4) 6.55/2.63 6.55/2.63 rev_in_aa(x1, x2) = rev_in_aa 6.55/2.63 6.55/2.63 rev_out_aa(x1, x2) = rev_out_aa(x1, x2) 6.55/2.63 6.55/2.63 U1_aa(x1, x2, x3, x4) = U1_aa(x4) 6.55/2.63 6.55/2.63 U2_aa(x1, x2, x3, x4) = U2_aa(x2, x4) 6.55/2.63 6.55/2.63 app_in_gga(x1, x2, x3) = app_in_gga(x1, x2) 6.55/2.63 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 app_out_gga(x1, x2, x3) = app_out_gga(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_gga(x1, x2, x3, x4, x5) = U3_gga(x2, x3, x5) 6.55/2.63 6.55/2.63 U2_ag(x1, x2, x3, x4) = U2_ag(x2, x3, x4) 6.55/2.63 6.55/2.63 app_in_ggg(x1, x2, x3) = app_in_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 app_out_ggg(x1, x2, x3) = app_out_ggg(x1, x2, x3) 6.55/2.63 6.55/2.63 U3_ggg(x1, x2, x3, x4, x5) = U3_ggg(x2, x3, x4, x5) 6.55/2.63 6.55/2.63 REV_IN_AA(x1, x2) = REV_IN_AA 6.55/2.63 6.55/2.63 6.55/2.63 We have to consider all (P,R,Pi)-chains 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (65) UsableRulesProof (EQUIVALENT) 6.55/2.63 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (66) 6.55/2.63 Obligation: 6.55/2.63 Pi DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 REV_IN_AA(.(X, Xs), Ys) -> REV_IN_AA(Xs, Zs) 6.55/2.63 6.55/2.63 R is empty. 6.55/2.63 The argument filtering Pi contains the following mapping: 6.55/2.63 .(x1, x2) = .(x2) 6.55/2.63 6.55/2.63 REV_IN_AA(x1, x2) = REV_IN_AA 6.55/2.63 6.55/2.63 6.55/2.63 We have to consider all (P,R,Pi)-chains 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (67) PiDPToQDPProof (SOUND) 6.55/2.63 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (68) 6.55/2.63 Obligation: 6.55/2.63 Q DP problem: 6.55/2.63 The TRS P consists of the following rules: 6.55/2.63 6.55/2.63 REV_IN_AA -> REV_IN_AA 6.55/2.63 6.55/2.63 R is empty. 6.55/2.63 Q is empty. 6.55/2.63 We have to consider all (P,Q,R)-chains. 6.55/2.63 ---------------------------------------- 6.55/2.63 6.55/2.63 (69) PrologToDTProblemTransformerProof (SOUND) 6.55/2.63 Built DT problem from termination graph DT10. 6.55/2.63 6.55/2.63 { 6.55/2.63 "root": 2, 6.55/2.63 "program": { 6.55/2.63 "directives": [], 6.55/2.63 "clauses": [ 6.55/2.63 [ 6.55/2.63 "(rev ([]) ([]))", 6.55/2.63 null 6.55/2.63 ], 6.55/2.63 [ 6.55/2.63 "(rev (. X Xs) Ys)", 6.55/2.63 "(',' (rev Xs Zs) (app Zs (. X ([])) Ys))" 6.55/2.63 ], 6.55/2.63 [ 6.55/2.63 "(app ([]) X X)", 6.55/2.63 null 6.55/2.63 ], 6.55/2.63 [ 6.55/2.63 "(app (. X Xs) Ys (. X Zs))", 6.55/2.63 "(app Xs Ys Zs)" 6.55/2.63 ] 6.55/2.63 ] 6.55/2.63 }, 6.55/2.63 "graph": { 6.55/2.63 "nodes": { 6.55/2.63 "45": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "270": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(app ([]) (. T75 ([])) T72)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T1 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "type": "Nodes", 6.55/2.63 "271": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "272": { 6.55/2.63 "goal": [ 6.55/2.63 { 6.55/2.63 "clause": 2, 6.55/2.63 "scope": 8, 6.55/2.63 "term": "(app ([]) (. T75 ([])) T72)" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "clause": 3, 6.55/2.63 "scope": 8, 6.55/2.63 "term": "(app ([]) (. T75 ([])) T72)" 6.55/2.63 } 6.55/2.63 ], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T1 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "273": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": 2, 6.55/2.63 "scope": 8, 6.55/2.63 "term": "(app ([]) (. T75 ([])) T72)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T1 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "274": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": 3, 6.55/2.63 "scope": 8, 6.55/2.63 "term": "(app ([]) (. T75 ([])) T72)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T1 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "275": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(true)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "276": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "112": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(rev T19 X27)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": ["X27"], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "277": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "310": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(true)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "113": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(',' (app T22 (. T23 ([])) X28) (app X28 (. T24 ([])) ([])))" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": ["X28"], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "278": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "311": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "114": { 6.55/2.63 "goal": [ 6.55/2.63 { 6.55/2.63 "clause": 0, 6.55/2.63 "scope": 4, 6.55/2.63 "term": "(rev T19 X27)" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "clause": 1, 6.55/2.63 "scope": 4, 6.55/2.63 "term": "(rev T19 X27)" 6.55/2.63 } 6.55/2.63 ], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": ["X27"], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "279": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(',' (',' (rev T89 X108) (app X108 (. T90 ([])) X109)) (app X109 (. T91 ([])) T72))" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T1 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": [ 6.55/2.63 "X109", 6.55/2.63 "X108" 6.55/2.63 ], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "312": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "115": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": 0, 6.55/2.63 "scope": 4, 6.55/2.63 "term": "(rev T19 X27)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": ["X27"], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "116": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": 1, 6.55/2.63 "scope": 4, 6.55/2.63 "term": "(rev T19 X27)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": ["X27"], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "90": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(',' (',' (rev T19 X27) (app X27 (. T20 ([])) X28)) (app X28 (. T21 ([])) ([])))" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [ 6.55/2.63 "X28", 6.55/2.63 "X27" 6.55/2.63 ], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "117": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(true)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "91": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "118": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "119": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "58": { 6.55/2.63 "goal": [ 6.55/2.63 { 6.55/2.63 "clause": 0, 6.55/2.63 "scope": 2, 6.55/2.63 "term": "(',' (rev T7 X7) (app X7 (. T8 ([])) ([])))" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "clause": 1, 6.55/2.63 "scope": 2, 6.55/2.63 "term": "(',' (rev T7 X7) (app X7 (. T8 ([])) ([])))" 6.55/2.63 } 6.55/2.63 ], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": ["X7"], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "16": { 6.55/2.63 "goal": [ 6.55/2.63 { 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(true)" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "clause": 1, 6.55/2.63 "scope": 1, 6.55/2.63 "term": "(rev T1 ([]))" 6.55/2.63 } 6.55/2.63 ], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "17": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": 1, 6.55/2.63 "scope": 1, 6.55/2.63 "term": "(rev T1 T2)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T1 T2)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T2"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "18": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": 1, 6.55/2.63 "scope": 1, 6.55/2.63 "term": "(rev T1 ([]))" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "280": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "281": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(rev T89 X108)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": ["X108"], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "282": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(',' (app T92 (. T93 ([])) X109) (app X109 (. T94 ([])) T72))" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T95 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": ["X109"], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "283": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(app T92 (. T93 ([])) X109)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": ["X109"], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "284": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(app T98 (. T99 ([])) T72)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T100 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "285": { 6.55/2.63 "goal": [ 6.55/2.63 { 6.55/2.63 "clause": 2, 6.55/2.63 "scope": 9, 6.55/2.63 "term": "(app T98 (. T99 ([])) T72)" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "clause": 3, 6.55/2.63 "scope": 9, 6.55/2.63 "term": "(app T98 (. T99 ([])) T72)" 6.55/2.63 } 6.55/2.63 ], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T100 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "2": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(rev T1 T2)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T2"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "325": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(app T143 (. T144 ([])) T142)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T142"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "326": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "8": { 6.55/2.63 "goal": [ 6.55/2.63 { 6.55/2.63 "clause": 0, 6.55/2.63 "scope": 1, 6.55/2.63 "term": "(rev T1 T2)" 6.55/2.63 }, 6.55/2.63 { 6.55/2.63 "clause": 1, 6.55/2.63 "scope": 1, 6.55/2.63 "term": "(rev T1 T2)" 6.55/2.63 } 6.55/2.63 ], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T2"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "291": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": 2, 6.55/2.63 "scope": 9, 6.55/2.63 "term": "(app T98 (. T99 ([])) T72)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T100 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "292": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": 3, 6.55/2.63 "scope": 9, 6.55/2.63 "term": "(app T98 (. T99 ([])) T72)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [[ 6.55/2.63 "(rev T100 T72)", 6.55/2.63 "(rev ([]) ([]))" 6.55/2.63 ]], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": ["T72"], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "293": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.63 "term": "(true)" 6.55/2.63 }], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "294": { 6.55/2.63 "goal": [], 6.55/2.63 "kb": { 6.55/2.63 "nonunifying": [], 6.55/2.63 "intvars": {}, 6.55/2.63 "arithmetic": { 6.55/2.63 "type": "PlainIntegerRelationState", 6.55/2.63 "relations": [] 6.55/2.63 }, 6.55/2.63 "ground": [], 6.55/2.63 "free": [], 6.55/2.63 "exprvars": [] 6.55/2.63 } 6.55/2.63 }, 6.55/2.63 "130": { 6.55/2.63 "goal": [{ 6.55/2.63 "clause": -1, 6.55/2.63 "scope": -1, 6.55/2.64 "term": "(',' (rev T31 X41) (app X41 (. T32 ([])) X42))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [ 6.55/2.64 "X42", 6.55/2.64 "X41" 6.55/2.64 ], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "295": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "131": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "132": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(rev T31 X41)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X41"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "133": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(app T33 (. T34 ([])) X42)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X42"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "258": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(app T51 (. T52 ([])) X64)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X64"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "259": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "73": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 0, 6.55/2.64 "scope": 2, 6.55/2.64 "term": "(',' (rev T7 X7) (app X7 (. T8 ([])) ([])))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X7"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "75": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 1, 6.55/2.64 "scope": 2, 6.55/2.64 "term": "(',' (rev T7 X7) (app X7 (. T8 ([])) ([])))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X7"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "76": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(app ([]) (. T9 ([])) ([]))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "77": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "38": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(',' (rev T7 X7) (app X7 (. T8 ([])) ([])))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X7"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "260": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(app T22 (. T23 ([])) X28)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X28"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "261": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(app T57 (. T58 ([])) ([]))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "262": { 6.55/2.64 "goal": [ 6.55/2.64 { 6.55/2.64 "clause": 2, 6.55/2.64 "scope": 6, 6.55/2.64 "term": "(app T57 (. T58 ([])) ([]))" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "clause": 3, 6.55/2.64 "scope": 6, 6.55/2.64 "term": "(app T57 (. T58 ([])) ([]))" 6.55/2.64 } 6.55/2.64 ], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "263": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 3, 6.55/2.64 "scope": 6, 6.55/2.64 "term": "(app T57 (. T58 ([])) ([]))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "264": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "265": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(',' (rev T73 X84) (app X84 (. T74 ([])) T72))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [[ 6.55/2.64 "(rev T1 T72)", 6.55/2.64 "(rev ([]) ([]))" 6.55/2.64 ]], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": ["T72"], 6.55/2.64 "free": ["X84"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "266": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "267": { 6.55/2.64 "goal": [ 6.55/2.64 { 6.55/2.64 "clause": 0, 6.55/2.64 "scope": 7, 6.55/2.64 "term": "(',' (rev T73 X84) (app X84 (. T74 ([])) T72))" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "clause": 1, 6.55/2.64 "scope": 7, 6.55/2.64 "term": "(',' (rev T73 X84) (app X84 (. T74 ([])) T72))" 6.55/2.64 } 6.55/2.64 ], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [[ 6.55/2.64 "(rev T1 T72)", 6.55/2.64 "(rev ([]) ([]))" 6.55/2.64 ]], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": ["T72"], 6.55/2.64 "free": ["X84"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "224": { 6.55/2.64 "goal": [ 6.55/2.64 { 6.55/2.64 "clause": 2, 6.55/2.64 "scope": 5, 6.55/2.64 "term": "(app T33 (. T34 ([])) X42)" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "clause": 3, 6.55/2.64 "scope": 5, 6.55/2.64 "term": "(app T33 (. T34 ([])) X42)" 6.55/2.64 } 6.55/2.64 ], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X42"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "268": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 0, 6.55/2.64 "scope": 7, 6.55/2.64 "term": "(',' (rev T73 X84) (app X84 (. T74 ([])) T72))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [[ 6.55/2.64 "(rev T1 T72)", 6.55/2.64 "(rev ([]) ([]))" 6.55/2.64 ]], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": ["T72"], 6.55/2.64 "free": ["X84"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "225": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 2, 6.55/2.64 "scope": 5, 6.55/2.64 "term": "(app T33 (. T34 ([])) X42)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X42"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "269": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 1, 6.55/2.64 "scope": 7, 6.55/2.64 "term": "(',' (rev T73 X84) (app X84 (. T74 ([])) T72))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [[ 6.55/2.64 "(rev T1 T72)", 6.55/2.64 "(rev ([]) ([]))" 6.55/2.64 ]], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": ["T72"], 6.55/2.64 "free": ["X84"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "226": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 3, 6.55/2.64 "scope": 5, 6.55/2.64 "term": "(app T33 (. T34 ([])) X42)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": ["X42"], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "227": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(true)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "228": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "305": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": -1, 6.55/2.64 "scope": -1, 6.55/2.64 "term": "(app T122 (. T123 ([])) T121)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": ["T121"], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "229": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "306": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "307": { 6.55/2.64 "goal": [ 6.55/2.64 { 6.55/2.64 "clause": 2, 6.55/2.64 "scope": 10, 6.55/2.64 "term": "(app T122 (. T123 ([])) T121)" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "clause": 3, 6.55/2.64 "scope": 10, 6.55/2.64 "term": "(app T122 (. T123 ([])) T121)" 6.55/2.64 } 6.55/2.64 ], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": ["T121"], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "308": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 2, 6.55/2.64 "scope": 10, 6.55/2.64 "term": "(app T122 (. T123 ([])) T121)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": ["T121"], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "309": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 3, 6.55/2.64 "scope": 10, 6.55/2.64 "term": "(app T122 (. T123 ([])) T121)" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": ["T121"], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "85": { 6.55/2.64 "goal": [ 6.55/2.64 { 6.55/2.64 "clause": 2, 6.55/2.64 "scope": 3, 6.55/2.64 "term": "(app ([]) (. T9 ([])) ([]))" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "clause": 3, 6.55/2.64 "scope": 3, 6.55/2.64 "term": "(app ([]) (. T9 ([])) ([]))" 6.55/2.64 } 6.55/2.64 ], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "86": { 6.55/2.64 "goal": [{ 6.55/2.64 "clause": 3, 6.55/2.64 "scope": 3, 6.55/2.64 "term": "(app ([]) (. T9 ([])) ([]))" 6.55/2.64 }], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "87": { 6.55/2.64 "goal": [], 6.55/2.64 "kb": { 6.55/2.64 "nonunifying": [], 6.55/2.64 "intvars": {}, 6.55/2.64 "arithmetic": { 6.55/2.64 "type": "PlainIntegerRelationState", 6.55/2.64 "relations": [] 6.55/2.64 }, 6.55/2.64 "ground": [], 6.55/2.64 "free": [], 6.55/2.64 "exprvars": [] 6.55/2.64 } 6.55/2.64 } 6.55/2.64 }, 6.55/2.64 "edges": [ 6.55/2.64 { 6.55/2.64 "from": 2, 6.55/2.64 "to": 8, 6.55/2.64 "label": "CASE" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 8, 6.55/2.64 "to": 16, 6.55/2.64 "label": "EVAL with clause\nrev([], []).\nand substitutionT1 -> [],\nT2 -> []" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 8, 6.55/2.64 "to": 17, 6.55/2.64 "label": "EVAL-BACKTRACK" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 16, 6.55/2.64 "to": 18, 6.55/2.64 "label": "SUCCESS" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 17, 6.55/2.64 "to": 265, 6.55/2.64 "label": "EVAL with clause\nrev(.(X81, X82), X83) :- ','(rev(X82, X84), app(X84, .(X81, []), X83)).\nand substitutionX81 -> T74,\nX82 -> T73,\nT1 -> .(T74, T73),\nT2 -> T72,\nX83 -> T72,\nT71 -> T73,\nT70 -> T74" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 17, 6.55/2.64 "to": 266, 6.55/2.64 "label": "EVAL-BACKTRACK" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 18, 6.55/2.64 "to": 38, 6.55/2.64 "label": "EVAL with clause\nrev(.(X4, X5), X6) :- ','(rev(X5, X7), app(X7, .(X4, []), X6)).\nand substitutionX4 -> T8,\nX5 -> T7,\nT1 -> .(T8, T7),\nX6 -> [],\nT6 -> T7,\nT5 -> T8" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 18, 6.55/2.64 "to": 45, 6.55/2.64 "label": "EVAL-BACKTRACK" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 38, 6.55/2.64 "to": 58, 6.55/2.64 "label": "CASE" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 58, 6.55/2.64 "to": 73, 6.55/2.64 "label": "PARALLEL" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 58, 6.55/2.64 "to": 75, 6.55/2.64 "label": "PARALLEL" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 73, 6.55/2.64 "to": 76, 6.55/2.64 "label": "EVAL with clause\nrev([], []).\nand substitutionT7 -> [],\nX7 -> [],\nT8 -> T9" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 73, 6.55/2.64 "to": 77, 6.55/2.64 "label": "EVAL-BACKTRACK" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 75, 6.55/2.64 "to": 90, 6.55/2.64 "label": "EVAL with clause\nrev(.(X24, X25), X26) :- ','(rev(X25, X27), app(X27, .(X24, []), X26)).\nand substitutionX24 -> T20,\nX25 -> T19,\nT7 -> .(T20, T19),\nX7 -> X28,\nX26 -> X28,\nT18 -> T19,\nT17 -> T20,\nT8 -> T21" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 75, 6.55/2.64 "to": 91, 6.55/2.64 "label": "EVAL-BACKTRACK" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 76, 6.55/2.64 "to": 85, 6.55/2.64 "label": "CASE" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 85, 6.55/2.64 "to": 86, 6.55/2.64 "label": "BACKTRACK\nfor clause: app([], X, X)because of non-unification" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 86, 6.55/2.64 "to": 87, 6.55/2.64 "label": "BACKTRACK\nfor clause: app(.(X, Xs), Ys, .(X, Zs)) :- app(Xs, Ys, Zs)because of non-unification" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 90, 6.55/2.64 "to": 112, 6.55/2.64 "label": "SPLIT 1" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 90, 6.55/2.64 "to": 113, 6.55/2.64 "label": "SPLIT 2\nreplacements:X27 -> T22,\nT20 -> T23,\nT21 -> T24" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 112, 6.55/2.64 "to": 114, 6.55/2.64 "label": "CASE" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 113, 6.55/2.64 "to": 260, 6.55/2.64 "label": "SPLIT 1" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 113, 6.55/2.64 "to": 261, 6.55/2.64 "label": "SPLIT 2\nreplacements:X28 -> T57,\nT24 -> T58" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 114, 6.55/2.64 "to": 115, 6.55/2.64 "label": "PARALLEL" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 114, 6.55/2.64 "to": 116, 6.55/2.64 "label": "PARALLEL" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 115, 6.55/2.64 "to": 117, 6.55/2.64 "label": "EVAL with clause\nrev([], []).\nand substitutionT19 -> [],\nX27 -> []" 6.55/2.64 }, 6.55/2.64 { 6.55/2.64 "from": 115, 6.55/2.64 "to": 118, 6.55/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 116, 6.91/2.64 "to": 130, 6.91/2.64 "label": "EVAL with clause\nrev(.(X38, X39), X40) :- ','(rev(X39, X41), app(X41, .(X38, []), X40)).\nand substitutionX38 -> T32,\nX39 -> T31,\nT19 -> .(T32, T31),\nX27 -> X42,\nX40 -> X42,\nT30 -> T31,\nT29 -> T32" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 116, 6.91/2.64 "to": 131, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 117, 6.91/2.64 "to": 119, 6.91/2.64 "label": "SUCCESS" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 130, 6.91/2.64 "to": 132, 6.91/2.64 "label": "SPLIT 1" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 130, 6.91/2.64 "to": 133, 6.91/2.64 "label": "SPLIT 2\nreplacements:X41 -> T33,\nT32 -> T34" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 132, 6.91/2.64 "to": 112, 6.91/2.64 "label": "INSTANCE with matching:\nT19 -> T31\nX27 -> X41" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 133, 6.91/2.64 "to": 224, 6.91/2.64 "label": "CASE" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 224, 6.91/2.64 "to": 225, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 224, 6.91/2.64 "to": 226, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 225, 6.91/2.64 "to": 227, 6.91/2.64 "label": "EVAL with clause\napp([], X49, X49).\nand substitutionT33 -> [],\nT34 -> T41,\nX49 -> .(T41, []),\nX42 -> .(T41, [])" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 225, 6.91/2.64 "to": 228, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 226, 6.91/2.64 "to": 258, 6.91/2.64 "label": "EVAL with clause\napp(.(X60, X61), X62, .(X60, X63)) :- app(X61, X62, X63).\nand substitutionX60 -> T48,\nX61 -> T51,\nT33 -> .(T48, T51),\nT34 -> T52,\nX62 -> .(T52, []),\nX63 -> X64,\nX42 -> .(T48, X64),\nT49 -> T51,\nT50 -> T52" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 226, 6.91/2.64 "to": 259, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 227, 6.91/2.64 "to": 229, 6.91/2.64 "label": "SUCCESS" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 258, 6.91/2.64 "to": 133, 6.91/2.64 "label": "INSTANCE with matching:\nT33 -> T51\nT34 -> T52\nX42 -> X64" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 260, 6.91/2.64 "to": 133, 6.91/2.64 "label": "INSTANCE with matching:\nT33 -> T22\nT34 -> T23\nX42 -> X28" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 261, 6.91/2.64 "to": 262, 6.91/2.64 "label": "CASE" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 262, 6.91/2.64 "to": 263, 6.91/2.64 "label": "BACKTRACK\nfor clause: app([], X, X)because of non-unification" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 263, 6.91/2.64 "to": 264, 6.91/2.64 "label": "BACKTRACK\nfor clause: app(.(X, Xs), Ys, .(X, Zs)) :- app(Xs, Ys, Zs)because of non-unification" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 265, 6.91/2.64 "to": 267, 6.91/2.64 "label": "CASE" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 267, 6.91/2.64 "to": 268, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 267, 6.91/2.64 "to": 269, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 268, 6.91/2.64 "to": 270, 6.91/2.64 "label": "EVAL with clause\nrev([], []).\nand substitutionT73 -> [],\nX84 -> [],\nT74 -> T75" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 268, 6.91/2.64 "to": 271, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 269, 6.91/2.64 "to": 279, 6.91/2.64 "label": "EVAL with clause\nrev(.(X105, X106), X107) :- ','(rev(X106, X108), app(X108, .(X105, []), X107)).\nand substitutionX105 -> T90,\nX106 -> T89,\nT73 -> .(T90, T89),\nX84 -> X109,\nX107 -> X109,\nT88 -> T89,\nT87 -> T90,\nT74 -> T91" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 269, 6.91/2.64 "to": 280, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 270, 6.91/2.64 "to": 272, 6.91/2.64 "label": "CASE" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 272, 6.91/2.64 "to": 273, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 272, 6.91/2.64 "to": 274, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 273, 6.91/2.64 "to": 275, 6.91/2.64 "label": "EVAL with clause\napp([], X91, X91).\nand substitutionT75 -> T82,\nX91 -> .(T82, []),\nT72 -> .(T82, [])" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 273, 6.91/2.64 "to": 276, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 274, 6.91/2.64 "to": 278, 6.91/2.64 "label": "BACKTRACK\nfor clause: app(.(X, Xs), Ys, .(X, Zs)) :- app(Xs, Ys, Zs)because of non-unification" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 275, 6.91/2.64 "to": 277, 6.91/2.64 "label": "SUCCESS" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 279, 6.91/2.64 "to": 281, 6.91/2.64 "label": "SPLIT 1" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 279, 6.91/2.64 "to": 282, 6.91/2.64 "label": "SPLIT 2\nreplacements:X108 -> T92,\nT90 -> T93,\nT91 -> T94,\nT1 -> T95" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 281, 6.91/2.64 "to": 112, 6.91/2.64 "label": "INSTANCE with matching:\nT19 -> T89\nX27 -> X108" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 282, 6.91/2.64 "to": 283, 6.91/2.64 "label": "SPLIT 1" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 282, 6.91/2.64 "to": 284, 6.91/2.64 "label": "SPLIT 2\nreplacements:X109 -> T98,\nT94 -> T99,\nT95 -> T100" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 283, 6.91/2.64 "to": 133, 6.91/2.64 "label": "INSTANCE with matching:\nT33 -> T92\nT34 -> T93\nX42 -> X109" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 284, 6.91/2.64 "to": 285, 6.91/2.64 "label": "CASE" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 285, 6.91/2.64 "to": 291, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 285, 6.91/2.64 "to": 292, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 291, 6.91/2.64 "to": 293, 6.91/2.64 "label": "EVAL with clause\napp([], X120, X120).\nand substitutionT98 -> [],\nT99 -> T109,\nX120 -> .(T109, []),\nT72 -> .(T109, [])" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 291, 6.91/2.64 "to": 294, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 292, 6.91/2.64 "to": 305, 6.91/2.64 "label": "EVAL with clause\napp(.(X129, X130), X131, .(X129, X132)) :- app(X130, X131, X132).\nand substitutionX129 -> T118,\nX130 -> T122,\nT98 -> .(T118, T122),\nT99 -> T123,\nX131 -> .(T123, []),\nX132 -> T121,\nT72 -> .(T118, T121),\nT119 -> T122,\nT120 -> T123" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 292, 6.91/2.64 "to": 306, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 293, 6.91/2.64 "to": 295, 6.91/2.64 "label": "SUCCESS" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 305, 6.91/2.64 "to": 307, 6.91/2.64 "label": "CASE" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 307, 6.91/2.64 "to": 308, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 307, 6.91/2.64 "to": 309, 6.91/2.64 "label": "PARALLEL" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 308, 6.91/2.64 "to": 310, 6.91/2.64 "label": "EVAL with clause\napp([], X139, X139).\nand substitutionT122 -> [],\nT123 -> T130,\nX139 -> .(T130, []),\nT121 -> .(T130, [])" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 308, 6.91/2.64 "to": 311, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 309, 6.91/2.64 "to": 325, 6.91/2.64 "label": "EVAL with clause\napp(.(X148, X149), X150, .(X148, X151)) :- app(X149, X150, X151).\nand substitutionX148 -> T139,\nX149 -> T143,\nT122 -> .(T139, T143),\nT123 -> T144,\nX150 -> .(T144, []),\nX151 -> T142,\nT121 -> .(T139, T142),\nT140 -> T143,\nT141 -> T144" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 309, 6.91/2.64 "to": 326, 6.91/2.64 "label": "EVAL-BACKTRACK" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 310, 6.91/2.64 "to": 312, 6.91/2.64 "label": "SUCCESS" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "from": 325, 6.91/2.64 "to": 305, 6.91/2.64 "label": "INSTANCE with matching:\nT122 -> T143\nT123 -> T144\nT121 -> T142" 6.91/2.64 } 6.91/2.64 ], 6.91/2.64 "type": "Graph" 6.91/2.64 } 6.91/2.64 } 6.91/2.64 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (70) 6.91/2.64 Obligation: 6.91/2.64 Triples: 6.91/2.64 6.91/2.64 revA(.(X1, X2), X3) :- revA(X2, X4). 6.91/2.64 revA(.(X1, X2), X3) :- ','(revcA(X2, X4), appB(X4, X1, X3)). 6.91/2.64 appB(.(X1, X2), X3, .(X1, X4)) :- appB(X2, X3, X4). 6.91/2.64 appC(.(X1, X2), X3, .(X1, X4)) :- appC(X2, X3, X4). 6.91/2.64 revD(.(X1, .(X2, X3)), []) :- revA(X3, X4). 6.91/2.64 revD(.(X1, .(X2, X3)), []) :- ','(revcA(X3, X4), appB(X4, X2, X5)). 6.91/2.64 revD(.(X1, .(X2, X3)), X4) :- revA(X3, X5). 6.91/2.64 revD(.(X1, .(X2, X3)), X4) :- ','(revcA(X3, X5), appB(X5, X2, X6)). 6.91/2.64 revD(.(X1, .(X2, X3)), .(X4, X5)) :- ','(revcA(X3, X6), ','(appcB(X6, X2, .(X4, X7)), appC(X7, X1, X5))). 6.91/2.64 6.91/2.64 Clauses: 6.91/2.64 6.91/2.64 revcA([], []). 6.91/2.64 revcA(.(X1, X2), X3) :- ','(revcA(X2, X4), appcB(X4, X1, X3)). 6.91/2.64 appcB([], X1, .(X1, [])). 6.91/2.64 appcB(.(X1, X2), X3, .(X1, X4)) :- appcB(X2, X3, X4). 6.91/2.64 appcC([], X1, .(X1, [])). 6.91/2.64 appcC(.(X1, X2), X3, .(X1, X4)) :- appcC(X2, X3, X4). 6.91/2.64 6.91/2.64 Afs: 6.91/2.64 6.91/2.64 revD(x1, x2) = revD(x2) 6.91/2.64 6.91/2.64 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (71) TriplesToPiDPProof (SOUND) 6.91/2.64 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 6.91/2.64 6.91/2.64 revD_in_2: (f,b) 6.91/2.64 6.91/2.64 revA_in_2: (f,f) 6.91/2.64 6.91/2.64 revcA_in_2: (f,f) 6.91/2.64 6.91/2.64 appcB_in_3: (b,f,f) 6.91/2.64 6.91/2.64 appB_in_3: (b,f,f) 6.91/2.64 6.91/2.64 appC_in_3: (b,f,b) 6.91/2.64 6.91/2.64 Transforming TRIPLES into the following Term Rewriting System: 6.91/2.64 6.91/2.64 Pi DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), []) -> U6_AG(X1, X2, X3, revA_in_aa(X3, X4)) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), []) -> REVA_IN_AA(X3, X4) 6.91/2.64 REVA_IN_AA(.(X1, X2), X3) -> U1_AA(X1, X2, X3, revA_in_aa(X2, X4)) 6.91/2.64 REVA_IN_AA(.(X1, X2), X3) -> REVA_IN_AA(X2, X4) 6.91/2.64 REVA_IN_AA(.(X1, X2), X3) -> U2_AA(X1, X2, X3, revcA_in_aa(X2, X4)) 6.91/2.64 U2_AA(X1, X2, X3, revcA_out_aa(X2, X4)) -> U3_AA(X1, X2, X3, appB_in_gaa(X4, X1, X3)) 6.91/2.64 U2_AA(X1, X2, X3, revcA_out_aa(X2, X4)) -> APPB_IN_GAA(X4, X1, X3) 6.91/2.64 APPB_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> U4_GAA(X1, X2, X3, X4, appB_in_gaa(X2, X3, X4)) 6.91/2.64 APPB_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> APPB_IN_GAA(X2, X3, X4) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), []) -> U7_AG(X1, X2, X3, revcA_in_aa(X3, X4)) 6.91/2.64 U7_AG(X1, X2, X3, revcA_out_aa(X3, X4)) -> U8_AG(X1, X2, X3, appB_in_gaa(X4, X2, X5)) 6.91/2.64 U7_AG(X1, X2, X3, revcA_out_aa(X3, X4)) -> APPB_IN_GAA(X4, X2, X5) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), X4) -> U9_AG(X1, X2, X3, X4, revA_in_aa(X3, X5)) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), X4) -> REVA_IN_AA(X3, X5) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), X4) -> U10_AG(X1, X2, X3, X4, revcA_in_aa(X3, X5)) 6.91/2.64 U10_AG(X1, X2, X3, X4, revcA_out_aa(X3, X5)) -> U11_AG(X1, X2, X3, X4, appB_in_gaa(X5, X2, X6)) 6.91/2.64 U10_AG(X1, X2, X3, X4, revcA_out_aa(X3, X5)) -> APPB_IN_GAA(X5, X2, X6) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), .(X4, X5)) -> U12_AG(X1, X2, X3, X4, X5, revcA_in_aa(X3, X6)) 6.91/2.64 U12_AG(X1, X2, X3, X4, X5, revcA_out_aa(X3, X6)) -> U13_AG(X1, X2, X3, X4, X5, appcB_in_gaa(X6, X2, .(X4, X7))) 6.91/2.64 U13_AG(X1, X2, X3, X4, X5, appcB_out_gaa(X6, X2, .(X4, X7))) -> U14_AG(X1, X2, X3, X4, X5, appC_in_gag(X7, X1, X5)) 6.91/2.64 U13_AG(X1, X2, X3, X4, X5, appcB_out_gaa(X6, X2, .(X4, X7))) -> APPC_IN_GAG(X7, X1, X5) 6.91/2.64 APPC_IN_GAG(.(X1, X2), X3, .(X1, X4)) -> U5_GAG(X1, X2, X3, X4, appC_in_gag(X2, X3, X4)) 6.91/2.64 APPC_IN_GAG(.(X1, X2), X3, .(X1, X4)) -> APPC_IN_GAG(X2, X3, X4) 6.91/2.64 6.91/2.64 The TRS R consists of the following rules: 6.91/2.64 6.91/2.64 revcA_in_aa([], []) -> revcA_out_aa([], []) 6.91/2.64 revcA_in_aa(.(X1, X2), X3) -> U16_aa(X1, X2, X3, revcA_in_aa(X2, X4)) 6.91/2.64 U16_aa(X1, X2, X3, revcA_out_aa(X2, X4)) -> U17_aa(X1, X2, X3, appcB_in_gaa(X4, X1, X3)) 6.91/2.64 appcB_in_gaa([], X1, .(X1, [])) -> appcB_out_gaa([], X1, .(X1, [])) 6.91/2.64 appcB_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U18_gaa(X1, X2, X3, X4, appcB_in_gaa(X2, X3, X4)) 6.91/2.64 U18_gaa(X1, X2, X3, X4, appcB_out_gaa(X2, X3, X4)) -> appcB_out_gaa(.(X1, X2), X3, .(X1, X4)) 6.91/2.64 U17_aa(X1, X2, X3, appcB_out_gaa(X4, X1, X3)) -> revcA_out_aa(.(X1, X2), X3) 6.91/2.64 6.91/2.64 The argument filtering Pi contains the following mapping: 6.91/2.64 [] = [] 6.91/2.64 6.91/2.64 revA_in_aa(x1, x2) = revA_in_aa 6.91/2.64 6.91/2.64 revcA_in_aa(x1, x2) = revcA_in_aa 6.91/2.64 6.91/2.64 revcA_out_aa(x1, x2) = revcA_out_aa(x1, x2) 6.91/2.64 6.91/2.64 U16_aa(x1, x2, x3, x4) = U16_aa(x4) 6.91/2.64 6.91/2.64 U17_aa(x1, x2, x3, x4) = U17_aa(x2, x4) 6.91/2.64 6.91/2.64 appcB_in_gaa(x1, x2, x3) = appcB_in_gaa(x1) 6.91/2.64 6.91/2.64 appcB_out_gaa(x1, x2, x3) = appcB_out_gaa(x1, x3) 6.91/2.64 6.91/2.64 .(x1, x2) = .(x2) 6.91/2.64 6.91/2.64 U18_gaa(x1, x2, x3, x4, x5) = U18_gaa(x2, x5) 6.91/2.64 6.91/2.64 appB_in_gaa(x1, x2, x3) = appB_in_gaa(x1) 6.91/2.64 6.91/2.64 appC_in_gag(x1, x2, x3) = appC_in_gag(x1, x3) 6.91/2.64 6.91/2.64 REVD_IN_AG(x1, x2) = REVD_IN_AG(x2) 6.91/2.64 6.91/2.64 U6_AG(x1, x2, x3, x4) = U6_AG(x4) 6.91/2.64 6.91/2.64 REVA_IN_AA(x1, x2) = REVA_IN_AA 6.91/2.64 6.91/2.64 U1_AA(x1, x2, x3, x4) = U1_AA(x4) 6.91/2.64 6.91/2.64 U2_AA(x1, x2, x3, x4) = U2_AA(x4) 6.91/2.64 6.91/2.64 U3_AA(x1, x2, x3, x4) = U3_AA(x2, x4) 6.91/2.64 6.91/2.64 APPB_IN_GAA(x1, x2, x3) = APPB_IN_GAA(x1) 6.91/2.64 6.91/2.64 U4_GAA(x1, x2, x3, x4, x5) = U4_GAA(x2, x5) 6.91/2.64 6.91/2.64 U7_AG(x1, x2, x3, x4) = U7_AG(x4) 6.91/2.64 6.91/2.64 U8_AG(x1, x2, x3, x4) = U8_AG(x3, x4) 6.91/2.64 6.91/2.64 U9_AG(x1, x2, x3, x4, x5) = U9_AG(x4, x5) 6.91/2.64 6.91/2.64 U10_AG(x1, x2, x3, x4, x5) = U10_AG(x4, x5) 6.91/2.64 6.91/2.64 U11_AG(x1, x2, x3, x4, x5) = U11_AG(x3, x4, x5) 6.91/2.64 6.91/2.64 U12_AG(x1, x2, x3, x4, x5, x6) = U12_AG(x5, x6) 6.91/2.64 6.91/2.64 U13_AG(x1, x2, x3, x4, x5, x6) = U13_AG(x3, x5, x6) 6.91/2.64 6.91/2.64 U14_AG(x1, x2, x3, x4, x5, x6) = U14_AG(x3, x5, x6) 6.91/2.64 6.91/2.64 APPC_IN_GAG(x1, x2, x3) = APPC_IN_GAG(x1, x3) 6.91/2.64 6.91/2.64 U5_GAG(x1, x2, x3, x4, x5) = U5_GAG(x2, x4, x5) 6.91/2.64 6.91/2.64 6.91/2.64 We have to consider all (P,R,Pi)-chains 6.91/2.64 6.91/2.64 6.91/2.64 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 6.91/2.64 6.91/2.64 6.91/2.64 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (72) 6.91/2.64 Obligation: 6.91/2.64 Pi DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), []) -> U6_AG(X1, X2, X3, revA_in_aa(X3, X4)) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), []) -> REVA_IN_AA(X3, X4) 6.91/2.64 REVA_IN_AA(.(X1, X2), X3) -> U1_AA(X1, X2, X3, revA_in_aa(X2, X4)) 6.91/2.64 REVA_IN_AA(.(X1, X2), X3) -> REVA_IN_AA(X2, X4) 6.91/2.64 REVA_IN_AA(.(X1, X2), X3) -> U2_AA(X1, X2, X3, revcA_in_aa(X2, X4)) 6.91/2.64 U2_AA(X1, X2, X3, revcA_out_aa(X2, X4)) -> U3_AA(X1, X2, X3, appB_in_gaa(X4, X1, X3)) 6.91/2.64 U2_AA(X1, X2, X3, revcA_out_aa(X2, X4)) -> APPB_IN_GAA(X4, X1, X3) 6.91/2.64 APPB_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> U4_GAA(X1, X2, X3, X4, appB_in_gaa(X2, X3, X4)) 6.91/2.64 APPB_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> APPB_IN_GAA(X2, X3, X4) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), []) -> U7_AG(X1, X2, X3, revcA_in_aa(X3, X4)) 6.91/2.64 U7_AG(X1, X2, X3, revcA_out_aa(X3, X4)) -> U8_AG(X1, X2, X3, appB_in_gaa(X4, X2, X5)) 6.91/2.64 U7_AG(X1, X2, X3, revcA_out_aa(X3, X4)) -> APPB_IN_GAA(X4, X2, X5) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), X4) -> U9_AG(X1, X2, X3, X4, revA_in_aa(X3, X5)) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), X4) -> REVA_IN_AA(X3, X5) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), X4) -> U10_AG(X1, X2, X3, X4, revcA_in_aa(X3, X5)) 6.91/2.64 U10_AG(X1, X2, X3, X4, revcA_out_aa(X3, X5)) -> U11_AG(X1, X2, X3, X4, appB_in_gaa(X5, X2, X6)) 6.91/2.64 U10_AG(X1, X2, X3, X4, revcA_out_aa(X3, X5)) -> APPB_IN_GAA(X5, X2, X6) 6.91/2.64 REVD_IN_AG(.(X1, .(X2, X3)), .(X4, X5)) -> U12_AG(X1, X2, X3, X4, X5, revcA_in_aa(X3, X6)) 6.91/2.64 U12_AG(X1, X2, X3, X4, X5, revcA_out_aa(X3, X6)) -> U13_AG(X1, X2, X3, X4, X5, appcB_in_gaa(X6, X2, .(X4, X7))) 6.91/2.64 U13_AG(X1, X2, X3, X4, X5, appcB_out_gaa(X6, X2, .(X4, X7))) -> U14_AG(X1, X2, X3, X4, X5, appC_in_gag(X7, X1, X5)) 6.91/2.64 U13_AG(X1, X2, X3, X4, X5, appcB_out_gaa(X6, X2, .(X4, X7))) -> APPC_IN_GAG(X7, X1, X5) 6.91/2.64 APPC_IN_GAG(.(X1, X2), X3, .(X1, X4)) -> U5_GAG(X1, X2, X3, X4, appC_in_gag(X2, X3, X4)) 6.91/2.64 APPC_IN_GAG(.(X1, X2), X3, .(X1, X4)) -> APPC_IN_GAG(X2, X3, X4) 6.91/2.64 6.91/2.64 The TRS R consists of the following rules: 6.91/2.64 6.91/2.64 revcA_in_aa([], []) -> revcA_out_aa([], []) 6.91/2.64 revcA_in_aa(.(X1, X2), X3) -> U16_aa(X1, X2, X3, revcA_in_aa(X2, X4)) 6.91/2.64 U16_aa(X1, X2, X3, revcA_out_aa(X2, X4)) -> U17_aa(X1, X2, X3, appcB_in_gaa(X4, X1, X3)) 6.91/2.64 appcB_in_gaa([], X1, .(X1, [])) -> appcB_out_gaa([], X1, .(X1, [])) 6.91/2.64 appcB_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U18_gaa(X1, X2, X3, X4, appcB_in_gaa(X2, X3, X4)) 6.91/2.64 U18_gaa(X1, X2, X3, X4, appcB_out_gaa(X2, X3, X4)) -> appcB_out_gaa(.(X1, X2), X3, .(X1, X4)) 6.91/2.64 U17_aa(X1, X2, X3, appcB_out_gaa(X4, X1, X3)) -> revcA_out_aa(.(X1, X2), X3) 6.91/2.64 6.91/2.64 The argument filtering Pi contains the following mapping: 6.91/2.64 [] = [] 6.91/2.64 6.91/2.64 revA_in_aa(x1, x2) = revA_in_aa 6.91/2.64 6.91/2.64 revcA_in_aa(x1, x2) = revcA_in_aa 6.91/2.64 6.91/2.64 revcA_out_aa(x1, x2) = revcA_out_aa(x1, x2) 6.91/2.64 6.91/2.64 U16_aa(x1, x2, x3, x4) = U16_aa(x4) 6.91/2.64 6.91/2.64 U17_aa(x1, x2, x3, x4) = U17_aa(x2, x4) 6.91/2.64 6.91/2.64 appcB_in_gaa(x1, x2, x3) = appcB_in_gaa(x1) 6.91/2.64 6.91/2.64 appcB_out_gaa(x1, x2, x3) = appcB_out_gaa(x1, x3) 6.91/2.64 6.91/2.64 .(x1, x2) = .(x2) 6.91/2.64 6.91/2.64 U18_gaa(x1, x2, x3, x4, x5) = U18_gaa(x2, x5) 6.91/2.64 6.91/2.64 appB_in_gaa(x1, x2, x3) = appB_in_gaa(x1) 6.91/2.64 6.91/2.64 appC_in_gag(x1, x2, x3) = appC_in_gag(x1, x3) 6.91/2.64 6.91/2.64 REVD_IN_AG(x1, x2) = REVD_IN_AG(x2) 6.91/2.64 6.91/2.64 U6_AG(x1, x2, x3, x4) = U6_AG(x4) 6.91/2.64 6.91/2.64 REVA_IN_AA(x1, x2) = REVA_IN_AA 6.91/2.64 6.91/2.64 U1_AA(x1, x2, x3, x4) = U1_AA(x4) 6.91/2.64 6.91/2.64 U2_AA(x1, x2, x3, x4) = U2_AA(x4) 6.91/2.64 6.91/2.64 U3_AA(x1, x2, x3, x4) = U3_AA(x2, x4) 6.91/2.64 6.91/2.64 APPB_IN_GAA(x1, x2, x3) = APPB_IN_GAA(x1) 6.91/2.64 6.91/2.64 U4_GAA(x1, x2, x3, x4, x5) = U4_GAA(x2, x5) 6.91/2.64 6.91/2.64 U7_AG(x1, x2, x3, x4) = U7_AG(x4) 6.91/2.64 6.91/2.64 U8_AG(x1, x2, x3, x4) = U8_AG(x3, x4) 6.91/2.64 6.91/2.64 U9_AG(x1, x2, x3, x4, x5) = U9_AG(x4, x5) 6.91/2.64 6.91/2.64 U10_AG(x1, x2, x3, x4, x5) = U10_AG(x4, x5) 6.91/2.64 6.91/2.64 U11_AG(x1, x2, x3, x4, x5) = U11_AG(x3, x4, x5) 6.91/2.64 6.91/2.64 U12_AG(x1, x2, x3, x4, x5, x6) = U12_AG(x5, x6) 6.91/2.64 6.91/2.64 U13_AG(x1, x2, x3, x4, x5, x6) = U13_AG(x3, x5, x6) 6.91/2.64 6.91/2.64 U14_AG(x1, x2, x3, x4, x5, x6) = U14_AG(x3, x5, x6) 6.91/2.64 6.91/2.64 APPC_IN_GAG(x1, x2, x3) = APPC_IN_GAG(x1, x3) 6.91/2.64 6.91/2.64 U5_GAG(x1, x2, x3, x4, x5) = U5_GAG(x2, x4, x5) 6.91/2.64 6.91/2.64 6.91/2.64 We have to consider all (P,R,Pi)-chains 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (73) DependencyGraphProof (EQUIVALENT) 6.91/2.64 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 20 less nodes. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (74) 6.91/2.64 Complex Obligation (AND) 6.91/2.64 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (75) 6.91/2.64 Obligation: 6.91/2.64 Pi DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 APPC_IN_GAG(.(X1, X2), X3, .(X1, X4)) -> APPC_IN_GAG(X2, X3, X4) 6.91/2.64 6.91/2.64 The TRS R consists of the following rules: 6.91/2.64 6.91/2.64 revcA_in_aa([], []) -> revcA_out_aa([], []) 6.91/2.64 revcA_in_aa(.(X1, X2), X3) -> U16_aa(X1, X2, X3, revcA_in_aa(X2, X4)) 6.91/2.64 U16_aa(X1, X2, X3, revcA_out_aa(X2, X4)) -> U17_aa(X1, X2, X3, appcB_in_gaa(X4, X1, X3)) 6.91/2.64 appcB_in_gaa([], X1, .(X1, [])) -> appcB_out_gaa([], X1, .(X1, [])) 6.91/2.64 appcB_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U18_gaa(X1, X2, X3, X4, appcB_in_gaa(X2, X3, X4)) 6.91/2.64 U18_gaa(X1, X2, X3, X4, appcB_out_gaa(X2, X3, X4)) -> appcB_out_gaa(.(X1, X2), X3, .(X1, X4)) 6.91/2.64 U17_aa(X1, X2, X3, appcB_out_gaa(X4, X1, X3)) -> revcA_out_aa(.(X1, X2), X3) 6.91/2.64 6.91/2.64 The argument filtering Pi contains the following mapping: 6.91/2.64 [] = [] 6.91/2.64 6.91/2.64 revcA_in_aa(x1, x2) = revcA_in_aa 6.91/2.64 6.91/2.64 revcA_out_aa(x1, x2) = revcA_out_aa(x1, x2) 6.91/2.64 6.91/2.64 U16_aa(x1, x2, x3, x4) = U16_aa(x4) 6.91/2.64 6.91/2.64 U17_aa(x1, x2, x3, x4) = U17_aa(x2, x4) 6.91/2.64 6.91/2.64 appcB_in_gaa(x1, x2, x3) = appcB_in_gaa(x1) 6.91/2.64 6.91/2.64 appcB_out_gaa(x1, x2, x3) = appcB_out_gaa(x1, x3) 6.91/2.64 6.91/2.64 .(x1, x2) = .(x2) 6.91/2.64 6.91/2.64 U18_gaa(x1, x2, x3, x4, x5) = U18_gaa(x2, x5) 6.91/2.64 6.91/2.64 APPC_IN_GAG(x1, x2, x3) = APPC_IN_GAG(x1, x3) 6.91/2.64 6.91/2.64 6.91/2.64 We have to consider all (P,R,Pi)-chains 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (76) UsableRulesProof (EQUIVALENT) 6.91/2.64 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (77) 6.91/2.64 Obligation: 6.91/2.64 Pi DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 APPC_IN_GAG(.(X1, X2), X3, .(X1, X4)) -> APPC_IN_GAG(X2, X3, X4) 6.91/2.64 6.91/2.64 R is empty. 6.91/2.64 The argument filtering Pi contains the following mapping: 6.91/2.64 .(x1, x2) = .(x2) 6.91/2.64 6.91/2.64 APPC_IN_GAG(x1, x2, x3) = APPC_IN_GAG(x1, x3) 6.91/2.64 6.91/2.64 6.91/2.64 We have to consider all (P,R,Pi)-chains 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (78) PiDPToQDPProof (SOUND) 6.91/2.64 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (79) 6.91/2.64 Obligation: 6.91/2.64 Q DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 APPC_IN_GAG(.(X2), .(X4)) -> APPC_IN_GAG(X2, X4) 6.91/2.64 6.91/2.64 R is empty. 6.91/2.64 Q is empty. 6.91/2.64 We have to consider all (P,Q,R)-chains. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (80) QDPSizeChangeProof (EQUIVALENT) 6.91/2.64 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. 6.91/2.64 6.91/2.64 From the DPs we obtained the following set of size-change graphs: 6.91/2.64 *APPC_IN_GAG(.(X2), .(X4)) -> APPC_IN_GAG(X2, X4) 6.91/2.64 The graph contains the following edges 1 > 1, 2 > 2 6.91/2.64 6.91/2.64 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (81) 6.91/2.64 YES 6.91/2.64 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (82) 6.91/2.64 Obligation: 6.91/2.64 Pi DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 APPB_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> APPB_IN_GAA(X2, X3, X4) 6.91/2.64 6.91/2.64 The TRS R consists of the following rules: 6.91/2.64 6.91/2.64 revcA_in_aa([], []) -> revcA_out_aa([], []) 6.91/2.64 revcA_in_aa(.(X1, X2), X3) -> U16_aa(X1, X2, X3, revcA_in_aa(X2, X4)) 6.91/2.64 U16_aa(X1, X2, X3, revcA_out_aa(X2, X4)) -> U17_aa(X1, X2, X3, appcB_in_gaa(X4, X1, X3)) 6.91/2.64 appcB_in_gaa([], X1, .(X1, [])) -> appcB_out_gaa([], X1, .(X1, [])) 6.91/2.64 appcB_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U18_gaa(X1, X2, X3, X4, appcB_in_gaa(X2, X3, X4)) 6.91/2.64 U18_gaa(X1, X2, X3, X4, appcB_out_gaa(X2, X3, X4)) -> appcB_out_gaa(.(X1, X2), X3, .(X1, X4)) 6.91/2.64 U17_aa(X1, X2, X3, appcB_out_gaa(X4, X1, X3)) -> revcA_out_aa(.(X1, X2), X3) 6.91/2.64 6.91/2.64 The argument filtering Pi contains the following mapping: 6.91/2.64 [] = [] 6.91/2.64 6.91/2.64 revcA_in_aa(x1, x2) = revcA_in_aa 6.91/2.64 6.91/2.64 revcA_out_aa(x1, x2) = revcA_out_aa(x1, x2) 6.91/2.64 6.91/2.64 U16_aa(x1, x2, x3, x4) = U16_aa(x4) 6.91/2.64 6.91/2.64 U17_aa(x1, x2, x3, x4) = U17_aa(x2, x4) 6.91/2.64 6.91/2.64 appcB_in_gaa(x1, x2, x3) = appcB_in_gaa(x1) 6.91/2.64 6.91/2.64 appcB_out_gaa(x1, x2, x3) = appcB_out_gaa(x1, x3) 6.91/2.64 6.91/2.64 .(x1, x2) = .(x2) 6.91/2.64 6.91/2.64 U18_gaa(x1, x2, x3, x4, x5) = U18_gaa(x2, x5) 6.91/2.64 6.91/2.64 APPB_IN_GAA(x1, x2, x3) = APPB_IN_GAA(x1) 6.91/2.64 6.91/2.64 6.91/2.64 We have to consider all (P,R,Pi)-chains 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (83) UsableRulesProof (EQUIVALENT) 6.91/2.64 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (84) 6.91/2.64 Obligation: 6.91/2.64 Pi DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 APPB_IN_GAA(.(X1, X2), X3, .(X1, X4)) -> APPB_IN_GAA(X2, X3, X4) 6.91/2.64 6.91/2.64 R is empty. 6.91/2.64 The argument filtering Pi contains the following mapping: 6.91/2.64 .(x1, x2) = .(x2) 6.91/2.64 6.91/2.64 APPB_IN_GAA(x1, x2, x3) = APPB_IN_GAA(x1) 6.91/2.64 6.91/2.64 6.91/2.64 We have to consider all (P,R,Pi)-chains 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (85) PiDPToQDPProof (SOUND) 6.91/2.64 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (86) 6.91/2.64 Obligation: 6.91/2.64 Q DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 APPB_IN_GAA(.(X2)) -> APPB_IN_GAA(X2) 6.91/2.64 6.91/2.64 R is empty. 6.91/2.64 Q is empty. 6.91/2.64 We have to consider all (P,Q,R)-chains. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (87) QDPSizeChangeProof (EQUIVALENT) 6.91/2.64 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. 6.91/2.64 6.91/2.64 From the DPs we obtained the following set of size-change graphs: 6.91/2.64 *APPB_IN_GAA(.(X2)) -> APPB_IN_GAA(X2) 6.91/2.64 The graph contains the following edges 1 > 1 6.91/2.64 6.91/2.64 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (88) 6.91/2.64 YES 6.91/2.64 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (89) 6.91/2.64 Obligation: 6.91/2.64 Pi DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 REVA_IN_AA(.(X1, X2), X3) -> REVA_IN_AA(X2, X4) 6.91/2.64 6.91/2.64 The TRS R consists of the following rules: 6.91/2.64 6.91/2.64 revcA_in_aa([], []) -> revcA_out_aa([], []) 6.91/2.64 revcA_in_aa(.(X1, X2), X3) -> U16_aa(X1, X2, X3, revcA_in_aa(X2, X4)) 6.91/2.64 U16_aa(X1, X2, X3, revcA_out_aa(X2, X4)) -> U17_aa(X1, X2, X3, appcB_in_gaa(X4, X1, X3)) 6.91/2.64 appcB_in_gaa([], X1, .(X1, [])) -> appcB_out_gaa([], X1, .(X1, [])) 6.91/2.64 appcB_in_gaa(.(X1, X2), X3, .(X1, X4)) -> U18_gaa(X1, X2, X3, X4, appcB_in_gaa(X2, X3, X4)) 6.91/2.64 U18_gaa(X1, X2, X3, X4, appcB_out_gaa(X2, X3, X4)) -> appcB_out_gaa(.(X1, X2), X3, .(X1, X4)) 6.91/2.64 U17_aa(X1, X2, X3, appcB_out_gaa(X4, X1, X3)) -> revcA_out_aa(.(X1, X2), X3) 6.91/2.64 6.91/2.64 The argument filtering Pi contains the following mapping: 6.91/2.64 [] = [] 6.91/2.64 6.91/2.64 revcA_in_aa(x1, x2) = revcA_in_aa 6.91/2.64 6.91/2.64 revcA_out_aa(x1, x2) = revcA_out_aa(x1, x2) 6.91/2.64 6.91/2.64 U16_aa(x1, x2, x3, x4) = U16_aa(x4) 6.91/2.64 6.91/2.64 U17_aa(x1, x2, x3, x4) = U17_aa(x2, x4) 6.91/2.64 6.91/2.64 appcB_in_gaa(x1, x2, x3) = appcB_in_gaa(x1) 6.91/2.64 6.91/2.64 appcB_out_gaa(x1, x2, x3) = appcB_out_gaa(x1, x3) 6.91/2.64 6.91/2.64 .(x1, x2) = .(x2) 6.91/2.64 6.91/2.64 U18_gaa(x1, x2, x3, x4, x5) = U18_gaa(x2, x5) 6.91/2.64 6.91/2.64 REVA_IN_AA(x1, x2) = REVA_IN_AA 6.91/2.64 6.91/2.64 6.91/2.64 We have to consider all (P,R,Pi)-chains 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (90) UsableRulesProof (EQUIVALENT) 6.91/2.64 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (91) 6.91/2.64 Obligation: 6.91/2.64 Pi DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 REVA_IN_AA(.(X1, X2), X3) -> REVA_IN_AA(X2, X4) 6.91/2.64 6.91/2.64 R is empty. 6.91/2.64 The argument filtering Pi contains the following mapping: 6.91/2.64 .(x1, x2) = .(x2) 6.91/2.64 6.91/2.64 REVA_IN_AA(x1, x2) = REVA_IN_AA 6.91/2.64 6.91/2.64 6.91/2.64 We have to consider all (P,R,Pi)-chains 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (92) PiDPToQDPProof (SOUND) 6.91/2.64 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (93) 6.91/2.64 Obligation: 6.91/2.64 Q DP problem: 6.91/2.64 The TRS P consists of the following rules: 6.91/2.64 6.91/2.64 REVA_IN_AA -> REVA_IN_AA 6.91/2.64 6.91/2.64 R is empty. 6.91/2.64 Q is empty. 6.91/2.64 We have to consider all (P,Q,R)-chains. 6.91/2.64 ---------------------------------------- 6.91/2.64 6.91/2.64 (94) PrologToIRSwTTransformerProof (SOUND) 6.91/2.64 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 6.91/2.64 6.91/2.64 { 6.91/2.64 "root": 1, 6.91/2.64 "program": { 6.91/2.64 "directives": [], 6.91/2.64 "clauses": [ 6.91/2.64 [ 6.91/2.64 "(rev ([]) ([]))", 6.91/2.64 null 6.91/2.64 ], 6.91/2.64 [ 6.91/2.64 "(rev (. X Xs) Ys)", 6.91/2.64 "(',' (rev Xs Zs) (app Zs (. X ([])) Ys))" 6.91/2.64 ], 6.91/2.64 [ 6.91/2.64 "(app ([]) X X)", 6.91/2.64 null 6.91/2.64 ], 6.91/2.64 [ 6.91/2.64 "(app (. X Xs) Ys (. X Zs))", 6.91/2.64 "(app Xs Ys Zs)" 6.91/2.64 ] 6.91/2.64 ] 6.91/2.64 }, 6.91/2.64 "graph": { 6.91/2.64 "nodes": { 6.91/2.64 "88": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": -1, 6.91/2.64 "scope": -1, 6.91/2.64 "term": "(rev T12 X11)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": ["X11"], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "89": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": -1, 6.91/2.64 "scope": -1, 6.91/2.64 "term": "(app T14 (. T15 ([])) T11)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": ["T11"], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "type": "Nodes", 6.91/2.64 "212": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": -1, 6.91/2.64 "scope": -1, 6.91/2.64 "term": "(app T42 (. T43 ([])) X47)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": ["X47"], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "213": { 6.91/2.64 "goal": [], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "216": { 6.91/2.64 "goal": [ 6.91/2.64 { 6.91/2.64 "clause": 2, 6.91/2.64 "scope": 4, 6.91/2.64 "term": "(app T14 (. T15 ([])) T11)" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "clause": 3, 6.91/2.64 "scope": 4, 6.91/2.64 "term": "(app T14 (. T15 ([])) T11)" 6.91/2.64 } 6.91/2.64 ], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": ["T11"], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "217": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": 2, 6.91/2.64 "scope": 4, 6.91/2.64 "term": "(app T14 (. T15 ([])) T11)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": ["T11"], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "92": { 6.91/2.64 "goal": [ 6.91/2.64 { 6.91/2.64 "clause": 0, 6.91/2.64 "scope": 2, 6.91/2.64 "term": "(rev T12 X11)" 6.91/2.64 }, 6.91/2.64 { 6.91/2.64 "clause": 1, 6.91/2.64 "scope": 2, 6.91/2.64 "term": "(rev T12 X11)" 6.91/2.64 } 6.91/2.64 ], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": ["X11"], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "218": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": 3, 6.91/2.64 "scope": 4, 6.91/2.64 "term": "(app T14 (. T15 ([])) T11)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": ["T11"], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "219": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": -1, 6.91/2.64 "scope": -1, 6.91/2.64 "term": "(true)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "94": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": 0, 6.91/2.64 "scope": 2, 6.91/2.64 "term": "(rev T12 X11)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": ["X11"], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "95": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": 1, 6.91/2.64 "scope": 2, 6.91/2.64 "term": "(rev T12 X11)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": ["X11"], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "98": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": -1, 6.91/2.64 "scope": -1, 6.91/2.64 "term": "(true)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "99": { 6.91/2.64 "goal": [], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "78": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": 0, 6.91/2.64 "scope": 1, 6.91/2.64 "term": "(rev T1 T2)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": ["T2"], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "79": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": 1, 6.91/2.64 "scope": 1, 6.91/2.64 "term": "(rev T1 T2)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": ["T2"], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "220": { 6.91/2.64 "goal": [], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": [], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "1": { 6.91/2.64 "goal": [{ 6.91/2.64 "clause": -1, 6.91/2.64 "scope": -1, 6.91/2.64 "term": "(rev T1 T2)" 6.91/2.64 }], 6.91/2.64 "kb": { 6.91/2.64 "nonunifying": [], 6.91/2.64 "intvars": {}, 6.91/2.64 "arithmetic": { 6.91/2.64 "type": "PlainIntegerRelationState", 6.91/2.64 "relations": [] 6.91/2.64 }, 6.91/2.64 "ground": ["T2"], 6.91/2.64 "free": [], 6.91/2.64 "exprvars": [] 6.91/2.64 } 6.91/2.64 }, 6.91/2.64 "221": { 6.91/2.64 "goal": [], 6.91/2.64 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "101": { 6.91/2.65 "goal": [], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "200": { 6.91/2.65 "goal": [ 6.91/2.65 { 6.91/2.65 "clause": 2, 6.91/2.65 "scope": 3, 6.91/2.65 "term": "(app T24 (. T25 ([])) X25)" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "clause": 3, 6.91/2.65 "scope": 3, 6.91/2.65 "term": "(app T24 (. T25 ([])) X25)" 6.91/2.65 } 6.91/2.65 ], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": ["X25"], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "222": { 6.91/2.65 "goal": [{ 6.91/2.65 "clause": -1, 6.91/2.65 "scope": -1, 6.91/2.65 "term": "(app T65 (. T66 ([])) T64)" 6.91/2.65 }], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": ["T64"], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "201": { 6.91/2.65 "goal": [{ 6.91/2.65 "clause": 2, 6.91/2.65 "scope": 3, 6.91/2.65 "term": "(app T24 (. T25 ([])) X25)" 6.91/2.65 }], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": ["X25"], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "223": { 6.91/2.65 "goal": [], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "202": { 6.91/2.65 "goal": [{ 6.91/2.65 "clause": 3, 6.91/2.65 "scope": 3, 6.91/2.65 "term": "(app T24 (. T25 ([])) X25)" 6.91/2.65 }], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": ["X25"], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "204": { 6.91/2.65 "goal": [{ 6.91/2.65 "clause": -1, 6.91/2.65 "scope": -1, 6.91/2.65 "term": "(true)" 6.91/2.65 }], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "106": { 6.91/2.65 "goal": [{ 6.91/2.65 "clause": -1, 6.91/2.65 "scope": -1, 6.91/2.65 "term": "(',' (rev T22 X24) (app X24 (. T23 ([])) X25))" 6.91/2.65 }], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [ 6.91/2.65 "X25", 6.91/2.65 "X24" 6.91/2.65 ], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "80": { 6.91/2.65 "goal": [{ 6.91/2.65 "clause": -1, 6.91/2.65 "scope": -1, 6.91/2.65 "term": "(true)" 6.91/2.65 }], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "107": { 6.91/2.65 "goal": [], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "9": { 6.91/2.65 "goal": [ 6.91/2.65 { 6.91/2.65 "clause": 0, 6.91/2.65 "scope": 1, 6.91/2.65 "term": "(rev T1 T2)" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "clause": 1, 6.91/2.65 "scope": 1, 6.91/2.65 "term": "(rev T1 T2)" 6.91/2.65 } 6.91/2.65 ], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": ["T2"], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "81": { 6.91/2.65 "goal": [], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "108": { 6.91/2.65 "goal": [{ 6.91/2.65 "clause": -1, 6.91/2.65 "scope": -1, 6.91/2.65 "term": "(rev T22 X24)" 6.91/2.65 }], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": ["X24"], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "207": { 6.91/2.65 "goal": [], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "82": { 6.91/2.65 "goal": [], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "109": { 6.91/2.65 "goal": [{ 6.91/2.65 "clause": -1, 6.91/2.65 "scope": -1, 6.91/2.65 "term": "(app T24 (. T25 ([])) X25)" 6.91/2.65 }], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": ["X25"], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "208": { 6.91/2.65 "goal": [], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "83": { 6.91/2.65 "goal": [{ 6.91/2.65 "clause": -1, 6.91/2.65 "scope": -1, 6.91/2.65 "term": "(',' (rev T12 X11) (app X11 (. T13 ([])) T11))" 6.91/2.65 }], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": ["T11"], 6.91/2.65 "free": ["X11"], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "84": { 6.91/2.65 "goal": [], 6.91/2.65 "kb": { 6.91/2.65 "nonunifying": [], 6.91/2.65 "intvars": {}, 6.91/2.65 "arithmetic": { 6.91/2.65 "type": "PlainIntegerRelationState", 6.91/2.65 "relations": [] 6.91/2.65 }, 6.91/2.65 "ground": [], 6.91/2.65 "free": [], 6.91/2.65 "exprvars": [] 6.91/2.65 } 6.91/2.65 } 6.91/2.65 }, 6.91/2.65 "edges": [ 6.91/2.65 { 6.91/2.65 "from": 1, 6.91/2.65 "to": 9, 6.91/2.65 "label": "CASE" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 9, 6.91/2.65 "to": 78, 6.91/2.65 "label": "PARALLEL" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 9, 6.91/2.65 "to": 79, 6.91/2.65 "label": "PARALLEL" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 78, 6.91/2.65 "to": 80, 6.91/2.65 "label": "EVAL with clause\nrev([], []).\nand substitutionT1 -> [],\nT2 -> []" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 78, 6.91/2.65 "to": 81, 6.91/2.65 "label": "EVAL-BACKTRACK" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 79, 6.91/2.65 "to": 83, 6.91/2.65 "label": "EVAL with clause\nrev(.(X8, X9), X10) :- ','(rev(X9, X11), app(X11, .(X8, []), X10)).\nand substitutionX8 -> T13,\nX9 -> T12,\nT1 -> .(T13, T12),\nT2 -> T11,\nX10 -> T11,\nT10 -> T12,\nT9 -> T13" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 79, 6.91/2.65 "to": 84, 6.91/2.65 "label": "EVAL-BACKTRACK" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 80, 6.91/2.65 "to": 82, 6.91/2.65 "label": "SUCCESS" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 83, 6.91/2.65 "to": 88, 6.91/2.65 "label": "SPLIT 1" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 83, 6.91/2.65 "to": 89, 6.91/2.65 "label": "SPLIT 2\nreplacements:X11 -> T14,\nT13 -> T15" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 88, 6.91/2.65 "to": 92, 6.91/2.65 "label": "CASE" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 89, 6.91/2.65 "to": 216, 6.91/2.65 "label": "CASE" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 92, 6.91/2.65 "to": 94, 6.91/2.65 "label": "PARALLEL" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 92, 6.91/2.65 "to": 95, 6.91/2.65 "label": "PARALLEL" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 94, 6.91/2.65 "to": 98, 6.91/2.65 "label": "EVAL with clause\nrev([], []).\nand substitutionT12 -> [],\nX11 -> []" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 94, 6.91/2.65 "to": 99, 6.91/2.65 "label": "EVAL-BACKTRACK" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 95, 6.91/2.65 "to": 106, 6.91/2.65 "label": "EVAL with clause\nrev(.(X21, X22), X23) :- ','(rev(X22, X24), app(X24, .(X21, []), X23)).\nand substitutionX21 -> T23,\nX22 -> T22,\nT12 -> .(T23, T22),\nX11 -> X25,\nX23 -> X25,\nT21 -> T22,\nT20 -> T23" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 95, 6.91/2.65 "to": 107, 6.91/2.65 "label": "EVAL-BACKTRACK" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 98, 6.91/2.65 "to": 101, 6.91/2.65 "label": "SUCCESS" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 106, 6.91/2.65 "to": 108, 6.91/2.65 "label": "SPLIT 1" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 106, 6.91/2.65 "to": 109, 6.91/2.65 "label": "SPLIT 2\nreplacements:X24 -> T24,\nT23 -> T25" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 108, 6.91/2.65 "to": 88, 6.91/2.65 "label": "INSTANCE with matching:\nT12 -> T22\nX11 -> X24" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 109, 6.91/2.65 "to": 200, 6.91/2.65 "label": "CASE" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 200, 6.91/2.65 "to": 201, 6.91/2.65 "label": "PARALLEL" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 200, 6.91/2.65 "to": 202, 6.91/2.65 "label": "PARALLEL" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 201, 6.91/2.65 "to": 204, 6.91/2.65 "label": "EVAL with clause\napp([], X32, X32).\nand substitutionT24 -> [],\nT25 -> T32,\nX32 -> .(T32, []),\nX25 -> .(T32, [])" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 201, 6.91/2.65 "to": 207, 6.91/2.65 "label": "EVAL-BACKTRACK" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 202, 6.91/2.65 "to": 212, 6.91/2.65 "label": "EVAL with clause\napp(.(X43, X44), X45, .(X43, X46)) :- app(X44, X45, X46).\nand substitutionX43 -> T39,\nX44 -> T42,\nT24 -> .(T39, T42),\nT25 -> T43,\nX45 -> .(T43, []),\nX46 -> X47,\nX25 -> .(T39, X47),\nT40 -> T42,\nT41 -> T43" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 202, 6.91/2.65 "to": 213, 6.91/2.65 "label": "EVAL-BACKTRACK" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 204, 6.91/2.65 "to": 208, 6.91/2.65 "label": "SUCCESS" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 212, 6.91/2.65 "to": 109, 6.91/2.65 "label": "INSTANCE with matching:\nT24 -> T42\nT25 -> T43\nX25 -> X47" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 216, 6.91/2.65 "to": 217, 6.91/2.65 "label": "PARALLEL" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 216, 6.91/2.65 "to": 218, 6.91/2.65 "label": "PARALLEL" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 217, 6.91/2.65 "to": 219, 6.91/2.65 "label": "EVAL with clause\napp([], X56, X56).\nand substitutionT14 -> [],\nT15 -> T52,\nX56 -> .(T52, []),\nT11 -> .(T52, [])" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 217, 6.91/2.65 "to": 220, 6.91/2.65 "label": "EVAL-BACKTRACK" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 218, 6.91/2.65 "to": 222, 6.91/2.65 "label": "EVAL with clause\napp(.(X65, X66), X67, .(X65, X68)) :- app(X66, X67, X68).\nand substitutionX65 -> T61,\nX66 -> T65,\nT14 -> .(T61, T65),\nT15 -> T66,\nX67 -> .(T66, []),\nX68 -> T64,\nT11 -> .(T61, T64),\nT62 -> T65,\nT63 -> T66" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 218, 6.91/2.65 "to": 223, 6.91/2.65 "label": "EVAL-BACKTRACK" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 219, 6.91/2.65 "to": 221, 6.91/2.65 "label": "SUCCESS" 6.91/2.65 }, 6.91/2.65 { 6.91/2.65 "from": 222, 6.91/2.65 "to": 89, 6.91/2.65 "label": "INSTANCE with matching:\nT14 -> T65\nT15 -> T66\nT11 -> T64" 6.91/2.65 } 6.91/2.65 ], 6.91/2.65 "type": "Graph" 6.91/2.65 } 6.91/2.65 } 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (95) 6.91/2.65 Complex Obligation (AND) 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (96) 6.91/2.65 Obligation: 6.91/2.65 Rules: 6.91/2.65 f200_in -> f202_in :|: TRUE 6.91/2.65 f201_out -> f200_out :|: TRUE 6.91/2.65 f202_out -> f200_out :|: TRUE 6.91/2.65 f200_in -> f201_in :|: TRUE 6.91/2.65 f212_out -> f202_out :|: TRUE 6.91/2.65 f202_in -> f212_in :|: TRUE 6.91/2.65 f213_out -> f202_out :|: TRUE 6.91/2.65 f202_in -> f213_in :|: TRUE 6.91/2.65 f212_in -> f109_in :|: TRUE 6.91/2.65 f109_out -> f212_out :|: TRUE 6.91/2.65 f109_in -> f200_in :|: TRUE 6.91/2.65 f200_out -> f109_out :|: TRUE 6.91/2.65 f1_in(T2) -> f9_in(T2) :|: TRUE 6.91/2.65 f9_out(x) -> f1_out(x) :|: TRUE 6.91/2.65 f9_in(x1) -> f79_in(x1) :|: TRUE 6.91/2.65 f78_out(x2) -> f9_out(x2) :|: TRUE 6.91/2.65 f9_in(x3) -> f78_in(x3) :|: TRUE 6.91/2.65 f79_out(x4) -> f9_out(x4) :|: TRUE 6.91/2.65 f79_in(T11) -> f83_in(T11) :|: TRUE 6.91/2.65 f84_out -> f79_out(x5) :|: TRUE 6.91/2.65 f83_out(x6) -> f79_out(x6) :|: TRUE 6.91/2.65 f79_in(x7) -> f84_in :|: TRUE 6.91/2.65 f83_in(x8) -> f88_in :|: TRUE 6.91/2.65 f89_out(x9) -> f83_out(x9) :|: TRUE 6.91/2.65 f88_out -> f89_in(x10) :|: TRUE 6.91/2.65 f88_in -> f92_in :|: TRUE 6.91/2.65 f92_out -> f88_out :|: TRUE 6.91/2.65 f94_out -> f92_out :|: TRUE 6.91/2.65 f92_in -> f94_in :|: TRUE 6.91/2.65 f92_in -> f95_in :|: TRUE 6.91/2.65 f95_out -> f92_out :|: TRUE 6.91/2.65 f106_out -> f95_out :|: TRUE 6.91/2.65 f95_in -> f106_in :|: TRUE 6.91/2.65 f107_out -> f95_out :|: TRUE 6.91/2.65 f95_in -> f107_in :|: TRUE 6.91/2.65 f106_in -> f108_in :|: TRUE 6.91/2.65 f109_out -> f106_out :|: TRUE 6.91/2.65 f108_out -> f109_in :|: TRUE 6.91/2.65 Start term: f1_in(T2) 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (97) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 6.91/2.65 Constructed simple dependency graph. 6.91/2.65 6.91/2.65 Simplified to the following IRSwTs: 6.91/2.65 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (98) 6.91/2.65 TRUE 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (99) 6.91/2.65 Obligation: 6.91/2.65 Rules: 6.91/2.65 f217_out(T11) -> f216_out(T11) :|: TRUE 6.91/2.65 f216_in(x) -> f218_in(x) :|: TRUE 6.91/2.65 f216_in(x1) -> f217_in(x1) :|: TRUE 6.91/2.65 f218_out(x2) -> f216_out(x2) :|: TRUE 6.91/2.65 f222_in(T64) -> f89_in(T64) :|: TRUE 6.91/2.65 f89_out(x3) -> f222_out(x3) :|: TRUE 6.91/2.65 f218_in(.(x4, x5)) -> f222_in(x5) :|: TRUE 6.91/2.65 f218_in(x6) -> f223_in :|: TRUE 6.91/2.65 f223_out -> f218_out(x7) :|: TRUE 6.91/2.65 f222_out(x8) -> f218_out(.(x9, x8)) :|: TRUE 6.91/2.65 f89_in(x10) -> f216_in(x10) :|: TRUE 6.91/2.65 f216_out(x11) -> f89_out(x11) :|: TRUE 6.91/2.65 f1_in(T2) -> f9_in(T2) :|: TRUE 6.91/2.65 f9_out(x12) -> f1_out(x12) :|: TRUE 6.91/2.65 f9_in(x13) -> f79_in(x13) :|: TRUE 6.91/2.65 f78_out(x14) -> f9_out(x14) :|: TRUE 6.91/2.65 f9_in(x15) -> f78_in(x15) :|: TRUE 6.91/2.65 f79_out(x16) -> f9_out(x16) :|: TRUE 6.91/2.65 f79_in(x17) -> f83_in(x17) :|: TRUE 6.91/2.65 f84_out -> f79_out(x18) :|: TRUE 6.91/2.65 f83_out(x19) -> f79_out(x19) :|: TRUE 6.91/2.65 f79_in(x20) -> f84_in :|: TRUE 6.91/2.65 f83_in(x21) -> f88_in :|: TRUE 6.91/2.65 f89_out(x22) -> f83_out(x22) :|: TRUE 6.91/2.65 f88_out -> f89_in(x23) :|: TRUE 6.91/2.65 Start term: f1_in(T2) 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (100) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 6.91/2.65 Constructed simple dependency graph. 6.91/2.65 6.91/2.65 Simplified to the following IRSwTs: 6.91/2.65 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (101) 6.91/2.65 TRUE 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (102) 6.91/2.65 Obligation: 6.91/2.65 Rules: 6.91/2.65 f106_in -> f108_in :|: TRUE 6.91/2.65 f109_out -> f106_out :|: TRUE 6.91/2.65 f108_out -> f109_in :|: TRUE 6.91/2.65 f200_in -> f202_in :|: TRUE 6.91/2.65 f201_out -> f200_out :|: TRUE 6.91/2.65 f202_out -> f200_out :|: TRUE 6.91/2.65 f200_in -> f201_in :|: TRUE 6.91/2.65 f88_in -> f92_in :|: TRUE 6.91/2.65 f92_out -> f88_out :|: TRUE 6.91/2.65 f212_in -> f109_in :|: TRUE 6.91/2.65 f109_out -> f212_out :|: TRUE 6.91/2.65 f94_out -> f92_out :|: TRUE 6.91/2.65 f92_in -> f94_in :|: TRUE 6.91/2.65 f92_in -> f95_in :|: TRUE 6.91/2.65 f95_out -> f92_out :|: TRUE 6.91/2.65 f204_out -> f201_out :|: TRUE 6.91/2.65 f207_out -> f201_out :|: TRUE 6.91/2.65 f201_in -> f204_in :|: TRUE 6.91/2.65 f201_in -> f207_in :|: TRUE 6.91/2.65 f204_in -> f204_out :|: TRUE 6.91/2.65 f212_out -> f202_out :|: TRUE 6.91/2.65 f202_in -> f212_in :|: TRUE 6.91/2.65 f213_out -> f202_out :|: TRUE 6.91/2.65 f202_in -> f213_in :|: TRUE 6.91/2.65 f106_out -> f95_out :|: TRUE 6.91/2.65 f95_in -> f106_in :|: TRUE 6.91/2.65 f107_out -> f95_out :|: TRUE 6.91/2.65 f95_in -> f107_in :|: TRUE 6.91/2.65 f108_in -> f88_in :|: TRUE 6.91/2.65 f88_out -> f108_out :|: TRUE 6.91/2.65 f109_in -> f200_in :|: TRUE 6.91/2.65 f200_out -> f109_out :|: TRUE 6.91/2.65 f1_in(T2) -> f9_in(T2) :|: TRUE 6.91/2.65 f9_out(x) -> f1_out(x) :|: TRUE 6.91/2.65 f9_in(x1) -> f79_in(x1) :|: TRUE 6.91/2.65 f78_out(x2) -> f9_out(x2) :|: TRUE 6.91/2.65 f9_in(x3) -> f78_in(x3) :|: TRUE 6.91/2.65 f79_out(x4) -> f9_out(x4) :|: TRUE 6.91/2.65 f79_in(T11) -> f83_in(T11) :|: TRUE 6.91/2.65 f84_out -> f79_out(x5) :|: TRUE 6.91/2.65 f83_out(x6) -> f79_out(x6) :|: TRUE 6.91/2.65 f79_in(x7) -> f84_in :|: TRUE 6.91/2.65 f83_in(x8) -> f88_in :|: TRUE 6.91/2.65 f89_out(x9) -> f83_out(x9) :|: TRUE 6.91/2.65 f88_out -> f89_in(x10) :|: TRUE 6.91/2.65 Start term: f1_in(T2) 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (103) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 6.91/2.65 Constructed simple dependency graph. 6.91/2.65 6.91/2.65 Simplified to the following IRSwTs: 6.91/2.65 6.91/2.65 intTRSProblem: 6.91/2.65 f106_in -> f108_in :|: TRUE 6.91/2.65 f88_in -> f92_in :|: TRUE 6.91/2.65 f92_in -> f95_in :|: TRUE 6.91/2.65 f95_in -> f106_in :|: TRUE 6.91/2.65 f108_in -> f88_in :|: TRUE 6.91/2.65 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (104) 6.91/2.65 Obligation: 6.91/2.65 Rules: 6.91/2.65 f106_in -> f108_in :|: TRUE 6.91/2.65 f88_in -> f92_in :|: TRUE 6.91/2.65 f92_in -> f95_in :|: TRUE 6.91/2.65 f95_in -> f106_in :|: TRUE 6.91/2.65 f108_in -> f88_in :|: TRUE 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (105) IntTRSCompressionProof (EQUIVALENT) 6.91/2.65 Compressed rules. 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (106) 6.91/2.65 Obligation: 6.91/2.65 Rules: 6.91/2.65 f88_in -> f88_in :|: TRUE 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (107) IRSFormatTransformerProof (EQUIVALENT) 6.91/2.65 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (108) 6.91/2.65 Obligation: 6.91/2.65 Rules: 6.91/2.65 f88_in -> f88_in :|: TRUE 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (109) IRSwTTerminationDigraphProof (EQUIVALENT) 6.91/2.65 Constructed termination digraph! 6.91/2.65 Nodes: 6.91/2.65 (1) f88_in -> f88_in :|: TRUE 6.91/2.65 6.91/2.65 Arcs: 6.91/2.65 (1) -> (1) 6.91/2.65 6.91/2.65 This digraph is fully evaluated! 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (110) 6.91/2.65 Obligation: 6.91/2.65 6.91/2.65 Termination digraph: 6.91/2.65 Nodes: 6.91/2.65 (1) f88_in -> f88_in :|: TRUE 6.91/2.65 6.91/2.65 Arcs: 6.91/2.65 (1) -> (1) 6.91/2.65 6.91/2.65 This digraph is fully evaluated! 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (111) FilterProof (EQUIVALENT) 6.91/2.65 Used the following sort dictionary for filtering: 6.91/2.65 f88_in() 6.91/2.65 Replaced non-predefined constructor symbols by 0. 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (112) 6.91/2.65 Obligation: 6.91/2.65 Rules: 6.91/2.65 f88_in -> f88_in :|: TRUE 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (113) IntTRSNonPeriodicNontermProof (COMPLETE) 6.91/2.65 Normalized system to the following form: 6.91/2.65 f(pc) -> f(1) :|: pc = 1 && TRUE 6.91/2.65 Proved unsatisfiability of the following formula, indicating that the system is never left after entering: 6.91/2.65 ((run2_0 = ((1 * 1)) and (((run1_0 * 1)) = ((1 * 1)) and T)) and !(((run2_0 * 1)) = ((1 * 1)) and T)) 6.91/2.65 Proved satisfiability of the following formula, indicating that the system is entered at least once: 6.91/2.65 (run2_0 = ((1 * 1)) and (((run1_0 * 1)) = ((1 * 1)) and T)) 6.91/2.65 6.91/2.65 ---------------------------------------- 6.91/2.65 6.91/2.65 (114) 6.91/2.65 NO 6.91/2.69 EOF