7.52/2.77 MAYBE 7.52/2.79 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 7.52/2.79 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 7.52/2.79 7.52/2.79 7.52/2.79 Left Termination of the query pattern 7.52/2.79 7.52/2.79 flat(a,g) 7.52/2.79 7.52/2.79 w.r.t. the given Prolog program could not be shown: 7.52/2.79 7.52/2.79 (0) Prolog 7.52/2.79 (1) PrologToPiTRSProof [SOUND, 0 ms] 7.52/2.79 (2) PiTRS 7.52/2.79 (3) DependencyPairsProof [EQUIVALENT, 0 ms] 7.52/2.79 (4) PiDP 7.52/2.79 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 7.52/2.79 (6) PiDP 7.52/2.79 (7) UsableRulesProof [EQUIVALENT, 0 ms] 7.52/2.79 (8) PiDP 7.52/2.79 (9) PiDPToQDPProof [SOUND, 0 ms] 7.52/2.79 (10) QDP 7.52/2.79 (11) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 7.52/2.79 (12) QDP 7.52/2.79 (13) NonTerminationLoopProof [COMPLETE, 0 ms] 7.52/2.79 (14) NO 7.52/2.79 (15) PrologToPiTRSProof [SOUND, 0 ms] 7.52/2.79 (16) PiTRS 7.52/2.79 (17) DependencyPairsProof [EQUIVALENT, 0 ms] 7.52/2.79 (18) PiDP 7.52/2.79 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 7.52/2.79 (20) PiDP 7.52/2.79 (21) UsableRulesProof [EQUIVALENT, 0 ms] 7.52/2.79 (22) PiDP 7.52/2.79 (23) PiDPToQDPProof [SOUND, 0 ms] 7.52/2.79 (24) QDP 7.52/2.79 (25) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 7.52/2.79 (26) QDP 7.52/2.79 (27) NonTerminationLoopProof [COMPLETE, 0 ms] 7.52/2.79 (28) NO 7.52/2.79 (29) PrologToTRSTransformerProof [SOUND, 0 ms] 7.52/2.79 (30) QTRS 7.52/2.79 (31) DependencyPairsProof [EQUIVALENT, 0 ms] 7.52/2.79 (32) QDP 7.52/2.79 (33) DependencyGraphProof [EQUIVALENT, 0 ms] 7.52/2.79 (34) QDP 7.52/2.79 (35) UsableRulesProof [EQUIVALENT, 0 ms] 7.52/2.79 (36) QDP 7.52/2.79 (37) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 7.52/2.79 (38) QDP 7.52/2.79 (39) NonTerminationLoopProof [COMPLETE, 0 ms] 7.52/2.79 (40) NO 7.52/2.79 (41) PrologToIRSwTTransformerProof [SOUND, 0 ms] 7.52/2.79 (42) IRSwT 7.52/2.79 (43) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 7.52/2.79 (44) IRSwT 7.52/2.79 (45) IntTRSCompressionProof [EQUIVALENT, 23 ms] 7.52/2.79 (46) IRSwT 7.52/2.79 (47) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 7.52/2.79 (48) IRSwT 7.52/2.79 (49) IRSwTTerminationDigraphProof [EQUIVALENT, 11 ms] 7.52/2.79 (50) IRSwT 7.52/2.79 (51) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] 7.52/2.79 (52) IRSwT 7.52/2.79 (53) PrologToDTProblemTransformerProof [SOUND, 0 ms] 7.52/2.79 (54) TRIPLES 7.52/2.79 (55) TriplesToPiDPProof [SOUND, 0 ms] 7.52/2.79 (56) PiDP 7.52/2.79 (57) DependencyGraphProof [EQUIVALENT, 0 ms] 7.52/2.79 (58) PiDP 7.52/2.79 (59) PiDPToQDPProof [SOUND, 0 ms] 7.52/2.79 (60) QDP 7.52/2.79 (61) UsableRulesReductionPairsProof [EQUIVALENT, 0 ms] 7.52/2.79 (62) QDP 7.52/2.79 (63) NonTerminationLoopProof [COMPLETE, 0 ms] 7.52/2.79 (64) NO 7.52/2.79 7.52/2.79 7.52/2.79 ---------------------------------------- 7.52/2.79 7.52/2.79 (0) 7.52/2.79 Obligation: 7.52/2.79 Clauses: 7.52/2.79 7.52/2.79 flat([], []). 7.52/2.79 flat(.([], T), R) :- flat(T, R). 7.52/2.79 flat(.(.(H, T), TT), .(H, R)) :- flat(.(T, TT), R). 7.52/2.79 7.52/2.79 7.52/2.79 Query: flat(a,g) 7.52/2.79 ---------------------------------------- 7.52/2.79 7.52/2.79 (1) PrologToPiTRSProof (SOUND) 7.52/2.79 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 7.52/2.79 7.52/2.79 flat_in_2: (f,b) 7.52/2.79 7.52/2.79 Transforming Prolog into the following Term Rewriting System: 7.52/2.79 7.52/2.79 Pi-finite rewrite system: 7.52/2.79 The TRS R consists of the following rules: 7.52/2.79 7.52/2.79 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.79 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.79 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.79 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.79 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.79 7.52/2.79 The argument filtering Pi contains the following mapping: 7.52/2.79 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.79 7.52/2.79 [] = [] 7.52/2.79 7.52/2.79 flat_out_ag(x1, x2) = flat_out_ag(x1, x2) 7.52/2.79 7.52/2.79 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 7.52/2.79 7.52/2.79 .(x1, x2) = .(x1, x2) 7.52/2.79 7.52/2.79 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x4, x5) 7.52/2.79 7.52/2.79 7.52/2.79 7.52/2.79 7.52/2.79 7.52/2.79 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 7.52/2.79 7.52/2.79 7.52/2.79 7.52/2.79 ---------------------------------------- 7.52/2.79 7.52/2.79 (2) 7.52/2.79 Obligation: 7.52/2.79 Pi-finite rewrite system: 7.52/2.79 The TRS R consists of the following rules: 7.52/2.79 7.52/2.79 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.79 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.79 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.79 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.79 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.79 7.52/2.79 The argument filtering Pi contains the following mapping: 7.52/2.79 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.79 7.52/2.79 [] = [] 7.52/2.79 7.52/2.79 flat_out_ag(x1, x2) = flat_out_ag(x1, x2) 7.52/2.79 7.52/2.79 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 7.52/2.79 7.52/2.79 .(x1, x2) = .(x1, x2) 7.52/2.79 7.52/2.79 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x4, x5) 7.52/2.79 7.52/2.79 7.52/2.79 7.52/2.79 ---------------------------------------- 7.52/2.79 7.52/2.79 (3) DependencyPairsProof (EQUIVALENT) 7.52/2.79 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 7.52/2.79 Pi DP problem: 7.52/2.79 The TRS P consists of the following rules: 7.52/2.79 7.52/2.79 FLAT_IN_AG(.([], T), R) -> U1_AG(T, R, flat_in_ag(T, R)) 7.52/2.79 FLAT_IN_AG(.([], T), R) -> FLAT_IN_AG(T, R) 7.52/2.79 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> U2_AG(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.79 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> FLAT_IN_AG(.(T, TT), R) 7.52/2.79 7.52/2.79 The TRS R consists of the following rules: 7.52/2.79 7.52/2.79 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.79 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.79 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.79 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.79 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.79 7.52/2.79 The argument filtering Pi contains the following mapping: 7.52/2.79 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.79 7.52/2.79 [] = [] 7.52/2.79 7.52/2.79 flat_out_ag(x1, x2) = flat_out_ag(x1, x2) 7.52/2.79 7.52/2.79 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 7.52/2.79 7.52/2.79 .(x1, x2) = .(x1, x2) 7.52/2.79 7.52/2.79 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x4, x5) 7.52/2.79 7.52/2.79 FLAT_IN_AG(x1, x2) = FLAT_IN_AG(x2) 7.52/2.79 7.52/2.79 U1_AG(x1, x2, x3) = U1_AG(x2, x3) 7.52/2.79 7.52/2.79 U2_AG(x1, x2, x3, x4, x5) = U2_AG(x1, x4, x5) 7.52/2.79 7.52/2.79 7.52/2.79 We have to consider all (P,R,Pi)-chains 7.52/2.79 ---------------------------------------- 7.52/2.79 7.52/2.79 (4) 7.52/2.79 Obligation: 7.52/2.79 Pi DP problem: 7.52/2.79 The TRS P consists of the following rules: 7.52/2.79 7.52/2.79 FLAT_IN_AG(.([], T), R) -> U1_AG(T, R, flat_in_ag(T, R)) 7.52/2.79 FLAT_IN_AG(.([], T), R) -> FLAT_IN_AG(T, R) 7.52/2.79 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> U2_AG(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.79 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> FLAT_IN_AG(.(T, TT), R) 7.52/2.79 7.52/2.79 The TRS R consists of the following rules: 7.52/2.79 7.52/2.79 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.79 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.79 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.79 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.79 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.79 7.52/2.79 The argument filtering Pi contains the following mapping: 7.52/2.79 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.79 7.52/2.79 [] = [] 7.52/2.79 7.52/2.79 flat_out_ag(x1, x2) = flat_out_ag(x1, x2) 7.52/2.79 7.52/2.79 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 7.52/2.79 7.52/2.79 .(x1, x2) = .(x1, x2) 7.52/2.79 7.52/2.79 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x4, x5) 7.52/2.79 7.52/2.79 FLAT_IN_AG(x1, x2) = FLAT_IN_AG(x2) 7.52/2.79 7.52/2.79 U1_AG(x1, x2, x3) = U1_AG(x2, x3) 7.52/2.79 7.52/2.79 U2_AG(x1, x2, x3, x4, x5) = U2_AG(x1, x4, x5) 7.52/2.79 7.52/2.79 7.52/2.79 We have to consider all (P,R,Pi)-chains 7.52/2.79 ---------------------------------------- 7.52/2.79 7.52/2.79 (5) DependencyGraphProof (EQUIVALENT) 7.52/2.79 The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 2 less nodes. 7.52/2.79 ---------------------------------------- 7.52/2.79 7.52/2.79 (6) 7.52/2.79 Obligation: 7.52/2.79 Pi DP problem: 7.52/2.79 The TRS P consists of the following rules: 7.52/2.79 7.52/2.79 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> FLAT_IN_AG(.(T, TT), R) 7.52/2.79 FLAT_IN_AG(.([], T), R) -> FLAT_IN_AG(T, R) 7.52/2.79 7.52/2.79 The TRS R consists of the following rules: 7.52/2.79 7.52/2.79 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.79 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.79 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.79 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.79 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.79 7.52/2.79 The argument filtering Pi contains the following mapping: 7.52/2.79 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.79 7.52/2.79 [] = [] 7.52/2.79 7.52/2.79 flat_out_ag(x1, x2) = flat_out_ag(x1, x2) 7.52/2.79 7.52/2.79 U1_ag(x1, x2, x3) = U1_ag(x2, x3) 7.52/2.79 7.52/2.79 .(x1, x2) = .(x1, x2) 7.52/2.79 7.52/2.79 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x4, x5) 7.52/2.79 7.52/2.79 FLAT_IN_AG(x1, x2) = FLAT_IN_AG(x2) 7.52/2.79 7.52/2.79 7.52/2.79 We have to consider all (P,R,Pi)-chains 7.52/2.79 ---------------------------------------- 7.52/2.79 7.52/2.79 (7) UsableRulesProof (EQUIVALENT) 7.52/2.79 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 7.52/2.79 ---------------------------------------- 7.52/2.79 7.52/2.79 (8) 7.52/2.79 Obligation: 7.52/2.79 Pi DP problem: 7.52/2.79 The TRS P consists of the following rules: 7.52/2.79 7.52/2.79 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> FLAT_IN_AG(.(T, TT), R) 7.52/2.81 FLAT_IN_AG(.([], T), R) -> FLAT_IN_AG(T, R) 7.52/2.81 7.52/2.81 R is empty. 7.52/2.81 The argument filtering Pi contains the following mapping: 7.52/2.81 [] = [] 7.52/2.81 7.52/2.81 .(x1, x2) = .(x1, x2) 7.52/2.81 7.52/2.81 FLAT_IN_AG(x1, x2) = FLAT_IN_AG(x2) 7.52/2.81 7.52/2.81 7.52/2.81 We have to consider all (P,R,Pi)-chains 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (9) PiDPToQDPProof (SOUND) 7.52/2.81 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (10) 7.52/2.81 Obligation: 7.52/2.81 Q DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 FLAT_IN_AG(.(H, R)) -> FLAT_IN_AG(R) 7.52/2.81 FLAT_IN_AG(R) -> FLAT_IN_AG(R) 7.52/2.81 7.52/2.81 R is empty. 7.52/2.81 Q is empty. 7.52/2.81 We have to consider all (P,Q,R)-chains. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (11) UsableRulesReductionPairsProof (EQUIVALENT) 7.52/2.81 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 7.52/2.81 7.52/2.81 The following dependency pairs can be deleted: 7.52/2.81 7.52/2.81 FLAT_IN_AG(.(H, R)) -> FLAT_IN_AG(R) 7.52/2.81 No rules are removed from R. 7.52/2.81 7.52/2.81 Used ordering: POLO with Polynomial interpretation [POLO]: 7.52/2.81 7.52/2.81 POL(.(x_1, x_2)) = x_1 + x_2 7.52/2.81 POL(FLAT_IN_AG(x_1)) = 2*x_1 7.52/2.81 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (12) 7.52/2.81 Obligation: 7.52/2.81 Q DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 FLAT_IN_AG(R) -> FLAT_IN_AG(R) 7.52/2.81 7.52/2.81 R is empty. 7.52/2.81 Q is empty. 7.52/2.81 We have to consider all (P,Q,R)-chains. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (13) NonTerminationLoopProof (COMPLETE) 7.52/2.81 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 7.52/2.81 Found a loop by semiunifying a rule from P directly. 7.52/2.81 7.52/2.81 s = FLAT_IN_AG(R) evaluates to t =FLAT_IN_AG(R) 7.52/2.81 7.52/2.81 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 7.52/2.81 * Matcher: [ ] 7.52/2.81 * Semiunifier: [ ] 7.52/2.81 7.52/2.81 -------------------------------------------------------------------------------- 7.52/2.81 Rewriting sequence 7.52/2.81 7.52/2.81 The DP semiunifies directly so there is only one rewrite step from FLAT_IN_AG(R) to FLAT_IN_AG(R). 7.52/2.81 7.52/2.81 7.52/2.81 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (14) 7.52/2.81 NO 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (15) PrologToPiTRSProof (SOUND) 7.52/2.81 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 7.52/2.81 7.52/2.81 flat_in_2: (f,b) 7.52/2.81 7.52/2.81 Transforming Prolog into the following Term Rewriting System: 7.52/2.81 7.52/2.81 Pi-finite rewrite system: 7.52/2.81 The TRS R consists of the following rules: 7.52/2.81 7.52/2.81 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.81 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.81 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.81 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.81 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.81 7.52/2.81 The argument filtering Pi contains the following mapping: 7.52/2.81 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.81 7.52/2.81 [] = [] 7.52/2.81 7.52/2.81 flat_out_ag(x1, x2) = flat_out_ag(x1) 7.52/2.81 7.52/2.81 U1_ag(x1, x2, x3) = U1_ag(x3) 7.52/2.81 7.52/2.81 .(x1, x2) = .(x1, x2) 7.52/2.81 7.52/2.81 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x5) 7.52/2.81 7.52/2.81 7.52/2.81 7.52/2.81 7.52/2.81 7.52/2.81 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 7.52/2.81 7.52/2.81 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (16) 7.52/2.81 Obligation: 7.52/2.81 Pi-finite rewrite system: 7.52/2.81 The TRS R consists of the following rules: 7.52/2.81 7.52/2.81 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.81 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.81 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.81 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.81 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.81 7.52/2.81 The argument filtering Pi contains the following mapping: 7.52/2.81 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.81 7.52/2.81 [] = [] 7.52/2.81 7.52/2.81 flat_out_ag(x1, x2) = flat_out_ag(x1) 7.52/2.81 7.52/2.81 U1_ag(x1, x2, x3) = U1_ag(x3) 7.52/2.81 7.52/2.81 .(x1, x2) = .(x1, x2) 7.52/2.81 7.52/2.81 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x5) 7.52/2.81 7.52/2.81 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (17) DependencyPairsProof (EQUIVALENT) 7.52/2.81 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 7.52/2.81 Pi DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 FLAT_IN_AG(.([], T), R) -> U1_AG(T, R, flat_in_ag(T, R)) 7.52/2.81 FLAT_IN_AG(.([], T), R) -> FLAT_IN_AG(T, R) 7.52/2.81 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> U2_AG(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.81 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> FLAT_IN_AG(.(T, TT), R) 7.52/2.81 7.52/2.81 The TRS R consists of the following rules: 7.52/2.81 7.52/2.81 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.81 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.81 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.81 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.81 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.81 7.52/2.81 The argument filtering Pi contains the following mapping: 7.52/2.81 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.81 7.52/2.81 [] = [] 7.52/2.81 7.52/2.81 flat_out_ag(x1, x2) = flat_out_ag(x1) 7.52/2.81 7.52/2.81 U1_ag(x1, x2, x3) = U1_ag(x3) 7.52/2.81 7.52/2.81 .(x1, x2) = .(x1, x2) 7.52/2.81 7.52/2.81 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x5) 7.52/2.81 7.52/2.81 FLAT_IN_AG(x1, x2) = FLAT_IN_AG(x2) 7.52/2.81 7.52/2.81 U1_AG(x1, x2, x3) = U1_AG(x3) 7.52/2.81 7.52/2.81 U2_AG(x1, x2, x3, x4, x5) = U2_AG(x1, x5) 7.52/2.81 7.52/2.81 7.52/2.81 We have to consider all (P,R,Pi)-chains 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (18) 7.52/2.81 Obligation: 7.52/2.81 Pi DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 FLAT_IN_AG(.([], T), R) -> U1_AG(T, R, flat_in_ag(T, R)) 7.52/2.81 FLAT_IN_AG(.([], T), R) -> FLAT_IN_AG(T, R) 7.52/2.81 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> U2_AG(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.81 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> FLAT_IN_AG(.(T, TT), R) 7.52/2.81 7.52/2.81 The TRS R consists of the following rules: 7.52/2.81 7.52/2.81 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.81 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.81 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.81 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.81 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.81 7.52/2.81 The argument filtering Pi contains the following mapping: 7.52/2.81 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.81 7.52/2.81 [] = [] 7.52/2.81 7.52/2.81 flat_out_ag(x1, x2) = flat_out_ag(x1) 7.52/2.81 7.52/2.81 U1_ag(x1, x2, x3) = U1_ag(x3) 7.52/2.81 7.52/2.81 .(x1, x2) = .(x1, x2) 7.52/2.81 7.52/2.81 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x5) 7.52/2.81 7.52/2.81 FLAT_IN_AG(x1, x2) = FLAT_IN_AG(x2) 7.52/2.81 7.52/2.81 U1_AG(x1, x2, x3) = U1_AG(x3) 7.52/2.81 7.52/2.81 U2_AG(x1, x2, x3, x4, x5) = U2_AG(x1, x5) 7.52/2.81 7.52/2.81 7.52/2.81 We have to consider all (P,R,Pi)-chains 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (19) DependencyGraphProof (EQUIVALENT) 7.52/2.81 The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 2 less nodes. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (20) 7.52/2.81 Obligation: 7.52/2.81 Pi DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> FLAT_IN_AG(.(T, TT), R) 7.52/2.81 FLAT_IN_AG(.([], T), R) -> FLAT_IN_AG(T, R) 7.52/2.81 7.52/2.81 The TRS R consists of the following rules: 7.52/2.81 7.52/2.81 flat_in_ag([], []) -> flat_out_ag([], []) 7.52/2.81 flat_in_ag(.([], T), R) -> U1_ag(T, R, flat_in_ag(T, R)) 7.52/2.81 flat_in_ag(.(.(H, T), TT), .(H, R)) -> U2_ag(H, T, TT, R, flat_in_ag(.(T, TT), R)) 7.52/2.81 U2_ag(H, T, TT, R, flat_out_ag(.(T, TT), R)) -> flat_out_ag(.(.(H, T), TT), .(H, R)) 7.52/2.81 U1_ag(T, R, flat_out_ag(T, R)) -> flat_out_ag(.([], T), R) 7.52/2.81 7.52/2.81 The argument filtering Pi contains the following mapping: 7.52/2.81 flat_in_ag(x1, x2) = flat_in_ag(x2) 7.52/2.81 7.52/2.81 [] = [] 7.52/2.81 7.52/2.81 flat_out_ag(x1, x2) = flat_out_ag(x1) 7.52/2.81 7.52/2.81 U1_ag(x1, x2, x3) = U1_ag(x3) 7.52/2.81 7.52/2.81 .(x1, x2) = .(x1, x2) 7.52/2.81 7.52/2.81 U2_ag(x1, x2, x3, x4, x5) = U2_ag(x1, x5) 7.52/2.81 7.52/2.81 FLAT_IN_AG(x1, x2) = FLAT_IN_AG(x2) 7.52/2.81 7.52/2.81 7.52/2.81 We have to consider all (P,R,Pi)-chains 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (21) UsableRulesProof (EQUIVALENT) 7.52/2.81 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (22) 7.52/2.81 Obligation: 7.52/2.81 Pi DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 FLAT_IN_AG(.(.(H, T), TT), .(H, R)) -> FLAT_IN_AG(.(T, TT), R) 7.52/2.81 FLAT_IN_AG(.([], T), R) -> FLAT_IN_AG(T, R) 7.52/2.81 7.52/2.81 R is empty. 7.52/2.81 The argument filtering Pi contains the following mapping: 7.52/2.81 [] = [] 7.52/2.81 7.52/2.81 .(x1, x2) = .(x1, x2) 7.52/2.81 7.52/2.81 FLAT_IN_AG(x1, x2) = FLAT_IN_AG(x2) 7.52/2.81 7.52/2.81 7.52/2.81 We have to consider all (P,R,Pi)-chains 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (23) PiDPToQDPProof (SOUND) 7.52/2.81 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (24) 7.52/2.81 Obligation: 7.52/2.81 Q DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 FLAT_IN_AG(.(H, R)) -> FLAT_IN_AG(R) 7.52/2.81 FLAT_IN_AG(R) -> FLAT_IN_AG(R) 7.52/2.81 7.52/2.81 R is empty. 7.52/2.81 Q is empty. 7.52/2.81 We have to consider all (P,Q,R)-chains. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (25) UsableRulesReductionPairsProof (EQUIVALENT) 7.52/2.81 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 7.52/2.81 7.52/2.81 The following dependency pairs can be deleted: 7.52/2.81 7.52/2.81 FLAT_IN_AG(.(H, R)) -> FLAT_IN_AG(R) 7.52/2.81 No rules are removed from R. 7.52/2.81 7.52/2.81 Used ordering: POLO with Polynomial interpretation [POLO]: 7.52/2.81 7.52/2.81 POL(.(x_1, x_2)) = x_1 + x_2 7.52/2.81 POL(FLAT_IN_AG(x_1)) = 2*x_1 7.52/2.81 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (26) 7.52/2.81 Obligation: 7.52/2.81 Q DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 FLAT_IN_AG(R) -> FLAT_IN_AG(R) 7.52/2.81 7.52/2.81 R is empty. 7.52/2.81 Q is empty. 7.52/2.81 We have to consider all (P,Q,R)-chains. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (27) NonTerminationLoopProof (COMPLETE) 7.52/2.81 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 7.52/2.81 Found a loop by semiunifying a rule from P directly. 7.52/2.81 7.52/2.81 s = FLAT_IN_AG(R) evaluates to t =FLAT_IN_AG(R) 7.52/2.81 7.52/2.81 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 7.52/2.81 * Matcher: [ ] 7.52/2.81 * Semiunifier: [ ] 7.52/2.81 7.52/2.81 -------------------------------------------------------------------------------- 7.52/2.81 Rewriting sequence 7.52/2.81 7.52/2.81 The DP semiunifies directly so there is only one rewrite step from FLAT_IN_AG(R) to FLAT_IN_AG(R). 7.52/2.81 7.52/2.81 7.52/2.81 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (28) 7.52/2.81 NO 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (29) PrologToTRSTransformerProof (SOUND) 7.52/2.81 Transformed Prolog program to TRS. 7.52/2.81 7.52/2.81 { 7.52/2.81 "root": 10, 7.52/2.81 "program": { 7.52/2.81 "directives": [], 7.52/2.81 "clauses": [ 7.52/2.81 [ 7.52/2.81 "(flat ([]) ([]))", 7.52/2.81 null 7.52/2.81 ], 7.52/2.81 [ 7.52/2.81 "(flat (. ([]) T) R)", 7.52/2.81 "(flat T R)" 7.52/2.81 ], 7.52/2.81 [ 7.52/2.81 "(flat (. (. H T) TT) (. H R))", 7.52/2.81 "(flat (. T TT) R)" 7.52/2.81 ] 7.52/2.81 ] 7.52/2.81 }, 7.52/2.81 "graph": { 7.52/2.81 "nodes": { 7.52/2.81 "11": { 7.52/2.81 "goal": [ 7.52/2.81 { 7.52/2.81 "clause": 0, 7.52/2.81 "scope": 1, 7.52/2.81 "term": "(flat T1 T2)" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "clause": 1, 7.52/2.81 "scope": 1, 7.52/2.81 "term": "(flat T1 T2)" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "clause": 2, 7.52/2.81 "scope": 1, 7.52/2.81 "term": "(flat T1 T2)" 7.52/2.81 } 7.52/2.81 ], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": ["T2"], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "13": { 7.52/2.81 "goal": [{ 7.52/2.81 "clause": 0, 7.52/2.81 "scope": 1, 7.52/2.81 "term": "(flat T1 T2)" 7.52/2.81 }], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": ["T2"], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "14": { 7.52/2.81 "goal": [ 7.52/2.81 { 7.52/2.81 "clause": 1, 7.52/2.81 "scope": 1, 7.52/2.81 "term": "(flat T1 T2)" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "clause": 2, 7.52/2.81 "scope": 1, 7.52/2.81 "term": "(flat T1 T2)" 7.52/2.81 } 7.52/2.81 ], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": ["T2"], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "type": "Nodes", 7.52/2.81 "122": { 7.52/2.81 "goal": [{ 7.52/2.81 "clause": 1, 7.52/2.81 "scope": 1, 7.52/2.81 "term": "(flat T1 T2)" 7.52/2.81 }], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": ["T2"], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "145": { 7.52/2.81 "goal": [{ 7.52/2.81 "clause": -1, 7.52/2.81 "scope": -1, 7.52/2.81 "term": "(flat (. T26 T27) T25)" 7.52/2.81 }], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": ["T25"], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "124": { 7.52/2.81 "goal": [{ 7.52/2.81 "clause": 2, 7.52/2.81 "scope": 1, 7.52/2.81 "term": "(flat T1 T2)" 7.52/2.81 }], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": ["T2"], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "146": { 7.52/2.81 "goal": [], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": [], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "125": { 7.52/2.81 "goal": [{ 7.52/2.81 "clause": -1, 7.52/2.81 "scope": -1, 7.52/2.81 "term": "(flat T13 T12)" 7.52/2.81 }], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": ["T12"], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "115": { 7.52/2.81 "goal": [{ 7.52/2.81 "clause": -1, 7.52/2.81 "scope": -1, 7.52/2.81 "term": "(true)" 7.52/2.81 }], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": [], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "126": { 7.52/2.81 "goal": [], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": [], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "116": { 7.52/2.81 "goal": [], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": [], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "117": { 7.52/2.81 "goal": [], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": [], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "10": { 7.52/2.81 "goal": [{ 7.52/2.81 "clause": -1, 7.52/2.81 "scope": -1, 7.52/2.81 "term": "(flat T1 T2)" 7.52/2.81 }], 7.52/2.81 "kb": { 7.52/2.81 "nonunifying": [], 7.52/2.81 "intvars": {}, 7.52/2.81 "arithmetic": { 7.52/2.81 "type": "PlainIntegerRelationState", 7.52/2.81 "relations": [] 7.52/2.81 }, 7.52/2.81 "ground": ["T2"], 7.52/2.81 "free": [], 7.52/2.81 "exprvars": [] 7.52/2.81 } 7.52/2.81 } 7.52/2.81 }, 7.52/2.81 "edges": [ 7.52/2.81 { 7.52/2.81 "from": 10, 7.52/2.81 "to": 11, 7.52/2.81 "label": "CASE" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 11, 7.52/2.81 "to": 13, 7.52/2.81 "label": "PARALLEL" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 11, 7.52/2.81 "to": 14, 7.52/2.81 "label": "PARALLEL" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 13, 7.52/2.81 "to": 115, 7.52/2.81 "label": "EVAL with clause\nflat([], []).\nand substitutionT1 -> [],\nT2 -> []" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 13, 7.52/2.81 "to": 116, 7.52/2.81 "label": "EVAL-BACKTRACK" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 14, 7.52/2.81 "to": 122, 7.52/2.81 "label": "PARALLEL" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 14, 7.52/2.81 "to": 124, 7.52/2.81 "label": "PARALLEL" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 115, 7.52/2.81 "to": 117, 7.52/2.81 "label": "SUCCESS" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 122, 7.52/2.81 "to": 125, 7.52/2.81 "label": "EVAL with clause\nflat(.([], X9), X10) :- flat(X9, X10).\nand substitutionX9 -> T13,\nT1 -> .([], T13),\nT2 -> T12,\nX10 -> T12,\nT11 -> T13" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 122, 7.52/2.81 "to": 126, 7.52/2.81 "label": "EVAL-BACKTRACK" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 124, 7.52/2.81 "to": 145, 7.52/2.81 "label": "EVAL with clause\nflat(.(.(X19, X20), X21), .(X19, X22)) :- flat(.(X20, X21), X22).\nand substitutionX19 -> T22,\nX20 -> T26,\nX21 -> T27,\nT1 -> .(.(T22, T26), T27),\nX22 -> T25,\nT2 -> .(T22, T25),\nT23 -> T26,\nT24 -> T27" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 124, 7.52/2.81 "to": 146, 7.52/2.81 "label": "EVAL-BACKTRACK" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 125, 7.52/2.81 "to": 10, 7.52/2.81 "label": "INSTANCE with matching:\nT1 -> T13\nT2 -> T12" 7.52/2.81 }, 7.52/2.81 { 7.52/2.81 "from": 145, 7.52/2.81 "to": 10, 7.52/2.81 "label": "INSTANCE with matching:\nT1 -> .(T26, T27)\nT2 -> T25" 7.52/2.81 } 7.52/2.81 ], 7.52/2.81 "type": "Graph" 7.52/2.81 } 7.52/2.81 } 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (30) 7.52/2.81 Obligation: 7.52/2.81 Q restricted rewrite system: 7.52/2.81 The TRS R consists of the following rules: 7.52/2.81 7.52/2.81 f10_in([]) -> f10_out1([]) 7.52/2.81 f10_in(T12) -> U1(f10_in(T12), T12) 7.52/2.81 U1(f10_out1(T13), T12) -> f10_out1(.([], T13)) 7.52/2.81 f10_in(.(T22, T25)) -> U2(f10_in(T25), .(T22, T25)) 7.52/2.81 U2(f10_out1(.(T26, T27)), .(T22, T25)) -> f10_out1(.(.(T22, T26), T27)) 7.52/2.81 7.52/2.81 Q is empty. 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (31) DependencyPairsProof (EQUIVALENT) 7.52/2.81 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (32) 7.52/2.81 Obligation: 7.52/2.81 Q DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 F10_IN(T12) -> U1^1(f10_in(T12), T12) 7.52/2.81 F10_IN(T12) -> F10_IN(T12) 7.52/2.81 F10_IN(.(T22, T25)) -> U2^1(f10_in(T25), .(T22, T25)) 7.52/2.81 F10_IN(.(T22, T25)) -> F10_IN(T25) 7.52/2.81 7.52/2.81 The TRS R consists of the following rules: 7.52/2.81 7.52/2.81 f10_in([]) -> f10_out1([]) 7.52/2.81 f10_in(T12) -> U1(f10_in(T12), T12) 7.52/2.81 U1(f10_out1(T13), T12) -> f10_out1(.([], T13)) 7.52/2.81 f10_in(.(T22, T25)) -> U2(f10_in(T25), .(T22, T25)) 7.52/2.81 U2(f10_out1(.(T26, T27)), .(T22, T25)) -> f10_out1(.(.(T22, T26), T27)) 7.52/2.81 7.52/2.81 Q is empty. 7.52/2.81 We have to consider all minimal (P,Q,R)-chains. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (33) DependencyGraphProof (EQUIVALENT) 7.52/2.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (34) 7.52/2.81 Obligation: 7.52/2.81 Q DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 F10_IN(.(T22, T25)) -> F10_IN(T25) 7.52/2.81 F10_IN(T12) -> F10_IN(T12) 7.52/2.81 7.52/2.81 The TRS R consists of the following rules: 7.52/2.81 7.52/2.81 f10_in([]) -> f10_out1([]) 7.52/2.81 f10_in(T12) -> U1(f10_in(T12), T12) 7.52/2.81 U1(f10_out1(T13), T12) -> f10_out1(.([], T13)) 7.52/2.81 f10_in(.(T22, T25)) -> U2(f10_in(T25), .(T22, T25)) 7.52/2.81 U2(f10_out1(.(T26, T27)), .(T22, T25)) -> f10_out1(.(.(T22, T26), T27)) 7.52/2.81 7.52/2.81 Q is empty. 7.52/2.81 We have to consider all minimal (P,Q,R)-chains. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (35) UsableRulesProof (EQUIVALENT) 7.52/2.81 We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (36) 7.52/2.81 Obligation: 7.52/2.81 Q DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 F10_IN(.(T22, T25)) -> F10_IN(T25) 7.52/2.81 F10_IN(T12) -> F10_IN(T12) 7.52/2.81 7.52/2.81 R is empty. 7.52/2.81 Q is empty. 7.52/2.81 We have to consider all minimal (P,Q,R)-chains. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (37) UsableRulesReductionPairsProof (EQUIVALENT) 7.52/2.81 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 7.52/2.81 7.52/2.81 The following dependency pairs can be deleted: 7.52/2.81 7.52/2.81 F10_IN(.(T22, T25)) -> F10_IN(T25) 7.52/2.81 No rules are removed from R. 7.52/2.81 7.52/2.81 Used ordering: POLO with Polynomial interpretation [POLO]: 7.52/2.81 7.52/2.81 POL(.(x_1, x_2)) = x_1 + x_2 7.52/2.81 POL(F10_IN(x_1)) = 2*x_1 7.52/2.81 7.52/2.81 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (38) 7.52/2.81 Obligation: 7.52/2.81 Q DP problem: 7.52/2.81 The TRS P consists of the following rules: 7.52/2.81 7.52/2.81 F10_IN(T12) -> F10_IN(T12) 7.52/2.81 7.52/2.81 R is empty. 7.52/2.81 Q is empty. 7.52/2.81 We have to consider all minimal (P,Q,R)-chains. 7.52/2.81 ---------------------------------------- 7.52/2.81 7.52/2.81 (39) NonTerminationLoopProof (COMPLETE) 7.52/2.81 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 7.52/2.81 Found a loop by semiunifying a rule from P directly. 7.52/2.81 7.52/2.81 s = F10_IN(T12) evaluates to t =F10_IN(T12) 7.52/2.81 7.52/2.81 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 7.52/2.81 * Matcher: [ ] 7.52/2.81 * Semiunifier: [ ] 7.52/2.81 7.52/2.81 -------------------------------------------------------------------------------- 7.52/2.81 Rewriting sequence 7.52/2.81 7.52/2.81 The DP semiunifies directly so there is only one rewrite step from F10_IN(T12) to F10_IN(T12). 7.52/2.83 7.52/2.83 7.52/2.83 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (40) 7.52/2.83 NO 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (41) PrologToIRSwTTransformerProof (SOUND) 7.52/2.83 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 7.52/2.83 7.52/2.83 { 7.52/2.83 "root": 4, 7.52/2.83 "program": { 7.52/2.83 "directives": [], 7.52/2.83 "clauses": [ 7.52/2.83 [ 7.52/2.83 "(flat ([]) ([]))", 7.52/2.83 null 7.52/2.83 ], 7.52/2.83 [ 7.52/2.83 "(flat (. ([]) T) R)", 7.52/2.83 "(flat T R)" 7.52/2.83 ], 7.52/2.83 [ 7.52/2.83 "(flat (. (. H T) TT) (. H R))", 7.52/2.83 "(flat (. T TT) R)" 7.52/2.83 ] 7.52/2.83 ] 7.52/2.83 }, 7.52/2.83 "graph": { 7.52/2.83 "nodes": { 7.52/2.83 "99": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(true)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "type": "Nodes", 7.52/2.83 "143": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat (. T26 T27) T25)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T25"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "111": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "144": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "101": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "102": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "4": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "104": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "105": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "9": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 0, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "109": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat T13 T12)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T12"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "96": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 0, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "97": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "edges": [ 7.52/2.83 { 7.52/2.83 "from": 4, 7.52/2.83 "to": 9, 7.52/2.83 "label": "CASE" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 9, 7.52/2.83 "to": 96, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 9, 7.52/2.83 "to": 97, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 96, 7.52/2.83 "to": 99, 7.52/2.83 "label": "EVAL with clause\nflat([], []).\nand substitutionT1 -> [],\nT2 -> []" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 96, 7.52/2.83 "to": 101, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 97, 7.52/2.83 "to": 104, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 97, 7.52/2.83 "to": 105, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 99, 7.52/2.83 "to": 102, 7.52/2.83 "label": "SUCCESS" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 104, 7.52/2.83 "to": 109, 7.52/2.83 "label": "EVAL with clause\nflat(.([], X9), X10) :- flat(X9, X10).\nand substitutionX9 -> T13,\nT1 -> .([], T13),\nT2 -> T12,\nX10 -> T12,\nT11 -> T13" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 104, 7.52/2.83 "to": 111, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 105, 7.52/2.83 "to": 143, 7.52/2.83 "label": "EVAL with clause\nflat(.(.(X19, X20), X21), .(X19, X22)) :- flat(.(X20, X21), X22).\nand substitutionX19 -> T22,\nX20 -> T26,\nX21 -> T27,\nT1 -> .(.(T22, T26), T27),\nX22 -> T25,\nT2 -> .(T22, T25),\nT23 -> T26,\nT24 -> T27" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 105, 7.52/2.83 "to": 144, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 109, 7.52/2.83 "to": 4, 7.52/2.83 "label": "INSTANCE with matching:\nT1 -> T13\nT2 -> T12" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 143, 7.52/2.83 "to": 4, 7.52/2.83 "label": "INSTANCE with matching:\nT1 -> .(T26, T27)\nT2 -> T25" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "type": "Graph" 7.52/2.83 } 7.52/2.83 } 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (42) 7.52/2.83 Obligation: 7.52/2.83 Rules: 7.52/2.83 f97_in(T2) -> f104_in(T2) :|: TRUE 7.52/2.83 f104_out(x) -> f97_out(x) :|: TRUE 7.52/2.83 f105_out(x1) -> f97_out(x1) :|: TRUE 7.52/2.83 f97_in(x2) -> f105_in(x2) :|: TRUE 7.52/2.83 f4_out(T25) -> f143_out(T25) :|: TRUE 7.52/2.83 f143_in(x3) -> f4_in(x3) :|: TRUE 7.52/2.83 f97_out(x4) -> f9_out(x4) :|: TRUE 7.52/2.83 f9_in(x5) -> f96_in(x5) :|: TRUE 7.52/2.83 f96_out(x6) -> f9_out(x6) :|: TRUE 7.52/2.83 f9_in(x7) -> f97_in(x7) :|: TRUE 7.52/2.83 f104_in(x8) -> f111_in :|: TRUE 7.52/2.83 f109_out(T12) -> f104_out(T12) :|: TRUE 7.52/2.83 f111_out -> f104_out(x9) :|: TRUE 7.52/2.83 f104_in(x10) -> f109_in(x10) :|: TRUE 7.52/2.83 f4_in(x11) -> f9_in(x11) :|: TRUE 7.52/2.83 f9_out(x12) -> f4_out(x12) :|: TRUE 7.52/2.83 f4_out(x13) -> f109_out(x13) :|: TRUE 7.52/2.83 f109_in(x14) -> f4_in(x14) :|: TRUE 7.52/2.83 f143_out(x15) -> f105_out(.(x16, x15)) :|: TRUE 7.52/2.83 f105_in(x17) -> f144_in :|: TRUE 7.52/2.83 f105_in(.(x18, x19)) -> f143_in(x19) :|: TRUE 7.52/2.83 f144_out -> f105_out(x20) :|: TRUE 7.52/2.83 Start term: f4_in(T2) 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (43) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 7.52/2.83 Constructed simple dependency graph. 7.52/2.83 7.52/2.83 Simplified to the following IRSwTs: 7.52/2.83 7.52/2.83 intTRSProblem: 7.52/2.83 f97_in(T2) -> f104_in(T2) :|: TRUE 7.52/2.83 f97_in(x2) -> f105_in(x2) :|: TRUE 7.52/2.83 f143_in(x3) -> f4_in(x3) :|: TRUE 7.52/2.83 f9_in(x7) -> f97_in(x7) :|: TRUE 7.52/2.83 f104_in(x10) -> f109_in(x10) :|: TRUE 7.52/2.83 f4_in(x11) -> f9_in(x11) :|: TRUE 7.52/2.83 f109_in(x14) -> f4_in(x14) :|: TRUE 7.52/2.83 f105_in(.(x18, x19)) -> f143_in(x19) :|: TRUE 7.52/2.83 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (44) 7.52/2.83 Obligation: 7.52/2.83 Rules: 7.52/2.83 f97_in(T2) -> f104_in(T2) :|: TRUE 7.52/2.83 f97_in(x2) -> f105_in(x2) :|: TRUE 7.52/2.83 f143_in(x3) -> f4_in(x3) :|: TRUE 7.52/2.83 f9_in(x7) -> f97_in(x7) :|: TRUE 7.52/2.83 f104_in(x10) -> f109_in(x10) :|: TRUE 7.52/2.83 f4_in(x11) -> f9_in(x11) :|: TRUE 7.52/2.83 f109_in(x14) -> f4_in(x14) :|: TRUE 7.52/2.83 f105_in(.(x18, x19)) -> f143_in(x19) :|: TRUE 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (45) IntTRSCompressionProof (EQUIVALENT) 7.52/2.83 Compressed rules. 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (46) 7.52/2.83 Obligation: 7.52/2.83 Rules: 7.52/2.83 f9_in(.(x18:0, x19:0)) -> f9_in(x19:0) :|: TRUE 7.52/2.83 f9_in(x7:0) -> f9_in(x7:0) :|: TRUE 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (47) IRSFormatTransformerProof (EQUIVALENT) 7.52/2.83 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (48) 7.52/2.83 Obligation: 7.52/2.83 Rules: 7.52/2.83 f9_in(.(x18:0, x19:0)) -> f9_in(x19:0) :|: TRUE 7.52/2.83 f9_in(x7:0) -> f9_in(x7:0) :|: TRUE 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (49) IRSwTTerminationDigraphProof (EQUIVALENT) 7.52/2.83 Constructed termination digraph! 7.52/2.83 Nodes: 7.52/2.83 (1) f9_in(.(x18:0, x19:0)) -> f9_in(x19:0) :|: TRUE 7.52/2.83 (2) f9_in(x7:0) -> f9_in(x7:0) :|: TRUE 7.52/2.83 7.52/2.83 Arcs: 7.52/2.83 (1) -> (1), (2) 7.52/2.83 (2) -> (1), (2) 7.52/2.83 7.52/2.83 This digraph is fully evaluated! 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (50) 7.52/2.83 Obligation: 7.52/2.83 7.52/2.83 Termination digraph: 7.52/2.83 Nodes: 7.52/2.83 (1) f9_in(.(x18:0, x19:0)) -> f9_in(x19:0) :|: TRUE 7.52/2.83 (2) f9_in(x7:0) -> f9_in(x7:0) :|: TRUE 7.52/2.83 7.52/2.83 Arcs: 7.52/2.83 (1) -> (1), (2) 7.52/2.83 (2) -> (1), (2) 7.52/2.83 7.52/2.83 This digraph is fully evaluated! 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (51) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 7.52/2.83 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 7.52/2.83 7.52/2.83 .(x1, x2) -> .(x2) 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (52) 7.52/2.83 Obligation: 7.52/2.83 Rules: 7.52/2.83 f9_in(.(x19:0)) -> f9_in(x19:0) :|: TRUE 7.52/2.83 f9_in(x7:0) -> f9_in(x7:0) :|: TRUE 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (53) PrologToDTProblemTransformerProof (SOUND) 7.52/2.83 Built DT problem from termination graph DT10. 7.52/2.83 7.52/2.83 { 7.52/2.83 "root": 2, 7.52/2.83 "program": { 7.52/2.83 "directives": [], 7.52/2.83 "clauses": [ 7.52/2.83 [ 7.52/2.83 "(flat ([]) ([]))", 7.52/2.83 null 7.52/2.83 ], 7.52/2.83 [ 7.52/2.83 "(flat (. ([]) T) R)", 7.52/2.83 "(flat T R)" 7.52/2.83 ], 7.52/2.83 [ 7.52/2.83 "(flat (. (. H T) TT) (. H R))", 7.52/2.83 "(flat (. T TT) R)" 7.52/2.83 ] 7.52/2.83 ] 7.52/2.83 }, 7.52/2.83 "graph": { 7.52/2.83 "nodes": { 7.52/2.83 "49": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 2, 7.52/2.83 "term": "(flat T5 ([]))" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "type": "Nodes", 7.52/2.83 "155": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 3, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T24)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T24"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "156": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": 3, 7.52/2.83 "term": null 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T24)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T24)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T24"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "157": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat (. T57 T58) T56)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T56"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "158": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "159": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T24)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T24)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T24"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "50": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 2, 7.52/2.83 "term": "(flat T5 ([]))" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": 2, 7.52/2.83 "term": null 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "12": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 0, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "160": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat (. T71 T72) T70)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T70"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "161": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "162": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat (. T81 T82) T80)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 (. T77 T80))", 7.52/2.83 "(flat (. ([]) X29) X30)" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [ 7.52/2.83 "T77", 7.52/2.83 "T80" 7.52/2.83 ], 7.52/2.83 "free": [ 7.52/2.83 "X29", 7.52/2.83 "X30" 7.52/2.83 ], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "163": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "164": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 0, 7.52/2.83 "scope": 4, 7.52/2.83 "term": "(flat (. T81 T82) T80)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 4, 7.52/2.83 "term": "(flat (. T81 T82) T80)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 4, 7.52/2.83 "term": "(flat (. T81 T82) T80)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 (. T77 T80))", 7.52/2.83 "(flat (. ([]) X29) X30)" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [ 7.52/2.83 "T77", 7.52/2.83 "T80" 7.52/2.83 ], 7.52/2.83 "free": [ 7.52/2.83 "X29", 7.52/2.83 "X30" 7.52/2.83 ], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "165": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 4, 7.52/2.83 "term": "(flat (. T81 T82) T80)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 4, 7.52/2.83 "term": "(flat (. T81 T82) T80)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 (. T77 T80))", 7.52/2.83 "(flat (. ([]) X29) X30)" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [ 7.52/2.83 "T77", 7.52/2.83 "T80" 7.52/2.83 ], 7.52/2.83 "free": [ 7.52/2.83 "X29", 7.52/2.83 "X30" 7.52/2.83 ], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "166": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 4, 7.52/2.83 "term": "(flat (. T81 T82) T80)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 (. T77 T80))", 7.52/2.83 "(flat (. ([]) X29) X30)" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [ 7.52/2.83 "T77", 7.52/2.83 "T80" 7.52/2.83 ], 7.52/2.83 "free": [ 7.52/2.83 "X29", 7.52/2.83 "X30" 7.52/2.83 ], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "2": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "167": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 4, 7.52/2.83 "term": "(flat (. T81 T82) T80)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 (. T77 T80))", 7.52/2.83 "(flat (. ([]) X29) X30)" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [ 7.52/2.83 "T77", 7.52/2.83 "T80" 7.52/2.83 ], 7.52/2.83 "free": [ 7.52/2.83 "X29", 7.52/2.83 "X30" 7.52/2.83 ], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "168": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat T93 T92)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 (. T77 T92))", 7.52/2.83 "(flat (. ([]) X29) X30)" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [ 7.52/2.83 "T77", 7.52/2.83 "T92" 7.52/2.83 ], 7.52/2.83 "free": [ 7.52/2.83 "X29", 7.52/2.83 "X30" 7.52/2.83 ], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "169": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "127": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": 2, 7.52/2.83 "term": null 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "128": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "129": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "64": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat T11 ([]))" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "21": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(true)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "65": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "22": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T2)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "23": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "24": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat T5 ([]))" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "25": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 ([]))", 7.52/2.83 "(flat (. ([]) X3) X4)" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [ 7.52/2.83 "X3", 7.52/2.83 "X4" 7.52/2.83 ], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "26": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 0, 7.52/2.83 "scope": 2, 7.52/2.83 "term": "(flat T5 ([]))" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 2, 7.52/2.83 "term": "(flat T5 ([]))" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 2, 7.52/2.83 "term": "(flat T5 ([]))" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": 2, 7.52/2.83 "term": null 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "27": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 0, 7.52/2.83 "scope": 2, 7.52/2.83 "term": "(flat T5 ([]))" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "28": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 2, 7.52/2.83 "term": "(flat T5 ([]))" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 2, 7.52/2.83 "term": "(flat T5 ([]))" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": 2, 7.52/2.83 "term": null 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 ([]))" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "170": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat (. T106 T107) T105)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 (. T77 (. T102 T105)))", 7.52/2.83 "(flat (. ([]) X29) X30)" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [ 7.52/2.83 "T77", 7.52/2.83 "T102", 7.52/2.83 "T105" 7.52/2.83 ], 7.52/2.83 "free": [ 7.52/2.83 "X29", 7.52/2.83 "X30" 7.52/2.83 ], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "171": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "130": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "131": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T24)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T24)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T24"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "132": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T2)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [ 7.52/2.83 [ 7.52/2.83 "(flat T1 T2)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ], 7.52/2.83 [ 7.52/2.83 "(flat T1 T2)", 7.52/2.83 "(flat (. ([]) X29) X30)" 7.52/2.83 ] 7.52/2.83 ], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T2"], 7.52/2.83 "free": [ 7.52/2.83 "X29", 7.52/2.83 "X30" 7.52/2.83 ], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "133": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 0, 7.52/2.83 "scope": 3, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 3, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 3, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": 3, 7.52/2.83 "term": null 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T24)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T24)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T24"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "134": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 0, 7.52/2.83 "scope": 3, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T24)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T24"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "135": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 3, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 3, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": 3, 7.52/2.83 "term": null 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T24)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T24)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T24"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "136": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(true)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "137": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "138": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "139": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": 1, 7.52/2.83 "scope": 3, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T24)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T24"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "35": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(true)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "37": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "38": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "140": { 7.52/2.83 "goal": [ 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 3, 7.52/2.83 "term": "(flat T25 T24)" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": -1, 7.52/2.83 "scope": 3, 7.52/2.83 "term": null 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "clause": 2, 7.52/2.83 "scope": 1, 7.52/2.83 "term": "(flat T1 T24)" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T24)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T24"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "141": { 7.52/2.83 "goal": [{ 7.52/2.83 "clause": -1, 7.52/2.83 "scope": -1, 7.52/2.83 "term": "(flat T36 T35)" 7.52/2.83 }], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [[ 7.52/2.83 "(flat T1 T35)", 7.52/2.83 "(flat ([]) ([]))" 7.52/2.83 ]], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": ["T35"], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "142": { 7.52/2.83 "goal": [], 7.52/2.83 "kb": { 7.52/2.83 "nonunifying": [], 7.52/2.83 "intvars": {}, 7.52/2.83 "arithmetic": { 7.52/2.83 "type": "PlainIntegerRelationState", 7.52/2.83 "relations": [] 7.52/2.83 }, 7.52/2.83 "ground": [], 7.52/2.83 "free": [], 7.52/2.83 "exprvars": [] 7.52/2.83 } 7.52/2.83 } 7.52/2.83 }, 7.52/2.83 "edges": [ 7.52/2.83 { 7.52/2.83 "from": 2, 7.52/2.83 "to": 12, 7.52/2.83 "label": "CASE" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 12, 7.52/2.83 "to": 21, 7.52/2.83 "label": "EVAL with clause\nflat([], []).\nand substitutionT1 -> [],\nT2 -> []" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 12, 7.52/2.83 "to": 22, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 21, 7.52/2.83 "to": 23, 7.52/2.83 "label": "SUCCESS" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 22, 7.52/2.83 "to": 131, 7.52/2.83 "label": "EVAL with clause\nflat(.([], X29), X30) :- flat(X29, X30).\nand substitutionX29 -> T25,\nT1 -> .([], T25),\nT2 -> T24,\nX30 -> T24,\nT23 -> T25" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 22, 7.52/2.83 "to": 132, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 23, 7.52/2.83 "to": 24, 7.52/2.83 "label": "EVAL with clause\nflat(.([], X3), X4) :- flat(X3, X4).\nand substitutionX3 -> T5,\nT1 -> .([], T5),\nX4 -> [],\nT4 -> T5" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 23, 7.52/2.83 "to": 25, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 24, 7.52/2.83 "to": 26, 7.52/2.83 "label": "CASE" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 25, 7.52/2.83 "to": 130, 7.52/2.83 "label": "BACKTRACK\nfor clause: flat(.(.(H, T), TT), .(H, R)) :- flat(.(T, TT), R)because of non-unification" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 26, 7.52/2.83 "to": 27, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 26, 7.52/2.83 "to": 28, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 27, 7.52/2.83 "to": 35, 7.52/2.83 "label": "EVAL with clause\nflat([], []).\nand substitutionT5 -> []" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 27, 7.52/2.83 "to": 37, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 28, 7.52/2.83 "to": 49, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 28, 7.52/2.83 "to": 50, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 35, 7.52/2.83 "to": 38, 7.52/2.83 "label": "SUCCESS" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 49, 7.52/2.83 "to": 64, 7.52/2.83 "label": "EVAL with clause\nflat(.([], X13), X14) :- flat(X13, X14).\nand substitutionX13 -> T11,\nT5 -> .([], T11),\nX14 -> [],\nT10 -> T11" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 49, 7.52/2.83 "to": 65, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 50, 7.52/2.83 "to": 127, 7.52/2.83 "label": "BACKTRACK\nfor clause: flat(.(.(H, T), TT), .(H, R)) :- flat(.(T, TT), R)because of non-unification" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 64, 7.52/2.83 "to": 2, 7.52/2.83 "label": "INSTANCE with matching:\nT1 -> T11\nT2 -> []" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 127, 7.52/2.83 "to": 128, 7.52/2.83 "label": "FAILURE" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 128, 7.52/2.83 "to": 129, 7.52/2.83 "label": "BACKTRACK\nfor clause: flat(.(.(H, T), TT), .(H, R)) :- flat(.(T, TT), R)because of non-unification" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 131, 7.52/2.83 "to": 133, 7.52/2.83 "label": "CASE" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 132, 7.52/2.83 "to": 162, 7.52/2.83 "label": "EVAL with clause\nflat(.(.(X77, X78), X79), .(X77, X80)) :- flat(.(X78, X79), X80).\nand substitutionX77 -> T77,\nX78 -> T81,\nX79 -> T82,\nT1 -> .(.(T77, T81), T82),\nX80 -> T80,\nT2 -> .(T77, T80),\nT78 -> T81,\nT79 -> T82" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 132, 7.52/2.83 "to": 163, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 133, 7.52/2.83 "to": 134, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 133, 7.52/2.83 "to": 135, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 134, 7.52/2.83 "to": 136, 7.52/2.83 "label": "EVAL with clause\nflat([], []).\nand substitutionT25 -> [],\nT24 -> []" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 134, 7.52/2.83 "to": 137, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 135, 7.52/2.83 "to": 139, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 135, 7.52/2.83 "to": 140, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 136, 7.52/2.83 "to": 138, 7.52/2.83 "label": "SUCCESS" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 139, 7.52/2.83 "to": 141, 7.52/2.83 "label": "EVAL with clause\nflat(.([], X39), X40) :- flat(X39, X40).\nand substitutionX39 -> T36,\nT25 -> .([], T36),\nT24 -> T35,\nX40 -> T35,\nT34 -> T36" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 139, 7.52/2.83 "to": 142, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 140, 7.52/2.83 "to": 155, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 140, 7.52/2.83 "to": 156, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 141, 7.52/2.83 "to": 2, 7.52/2.83 "label": "INSTANCE with matching:\nT1 -> T36\nT2 -> T35" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 155, 7.52/2.83 "to": 157, 7.52/2.83 "label": "EVAL with clause\nflat(.(.(X57, X58), X59), .(X57, X60)) :- flat(.(X58, X59), X60).\nand substitutionX57 -> T53,\nX58 -> T57,\nX59 -> T58,\nT25 -> .(.(T53, T57), T58),\nX60 -> T56,\nT24 -> .(T53, T56),\nT54 -> T57,\nT55 -> T58" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 155, 7.52/2.83 "to": 158, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 156, 7.52/2.83 "to": 159, 7.52/2.83 "label": "FAILURE" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 157, 7.52/2.83 "to": 2, 7.52/2.83 "label": "INSTANCE with matching:\nT1 -> .(T57, T58)\nT2 -> T56" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 159, 7.52/2.83 "to": 160, 7.52/2.83 "label": "EVAL with clause\nflat(.(.(X69, X70), X71), .(X69, X72)) :- flat(.(X70, X71), X72).\nand substitutionX69 -> T67,\nX70 -> T71,\nX71 -> T72,\nT1 -> .(.(T67, T71), T72),\nX72 -> T70,\nT24 -> .(T67, T70),\nT68 -> T71,\nT69 -> T72" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 159, 7.52/2.83 "to": 161, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 160, 7.52/2.83 "to": 2, 7.52/2.83 "label": "INSTANCE with matching:\nT1 -> .(T71, T72)\nT2 -> T70" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 162, 7.52/2.83 "to": 164, 7.52/2.83 "label": "CASE" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 164, 7.52/2.83 "to": 165, 7.52/2.83 "label": "BACKTRACK\nfor clause: flat([], [])because of non-unification" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 165, 7.52/2.83 "to": 166, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 165, 7.52/2.83 "to": 167, 7.52/2.83 "label": "PARALLEL" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 166, 7.52/2.83 "to": 168, 7.52/2.83 "label": "EVAL with clause\nflat(.([], X89), X90) :- flat(X89, X90).\nand substitutionT81 -> [],\nT82 -> T93,\nX89 -> T93,\nT80 -> T92,\nX90 -> T92,\nT91 -> T93" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 166, 7.52/2.83 "to": 169, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 167, 7.52/2.83 "to": 170, 7.52/2.83 "label": "EVAL with clause\nflat(.(.(X99, X100), X101), .(X99, X102)) :- flat(.(X100, X101), X102).\nand substitutionX99 -> T102,\nX100 -> T106,\nT81 -> .(T102, T106),\nT82 -> T107,\nX101 -> T107,\nX102 -> T105,\nT80 -> .(T102, T105),\nT103 -> T106,\nT104 -> T107" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 167, 7.52/2.83 "to": 171, 7.52/2.83 "label": "EVAL-BACKTRACK" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 168, 7.52/2.83 "to": 2, 7.52/2.83 "label": "INSTANCE with matching:\nT1 -> T93\nT2 -> T92" 7.52/2.83 }, 7.52/2.83 { 7.52/2.83 "from": 170, 7.52/2.83 "to": 2, 7.52/2.83 "label": "INSTANCE with matching:\nT1 -> .(T106, T107)\nT2 -> T105" 7.52/2.83 } 7.52/2.83 ], 7.52/2.83 "type": "Graph" 7.52/2.83 } 7.52/2.83 } 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (54) 7.52/2.83 Obligation: 7.52/2.83 Triples: 7.52/2.83 7.52/2.83 flatA(.([], .([], X1)), []) :- flatA(X1, []). 7.52/2.83 flatA(.([], .([], X1)), X2) :- flatA(X1, X2). 7.52/2.83 flatA(.([], .(.(X1, X2), X3)), .(X1, X4)) :- flatA(.(X2, X3), X4). 7.52/2.83 flatA(.(.(X1, X2), X3), .(X1, X4)) :- flatA(.(X2, X3), X4). 7.52/2.83 flatA(.(.(X1, []), X2), .(X1, X3)) :- flatA(X2, X3). 7.52/2.83 flatA(.(.(X1, .(X2, X3)), X4), .(X1, .(X2, X5))) :- flatA(.(X3, X4), X5). 7.52/2.83 7.52/2.83 Clauses: 7.52/2.83 7.52/2.83 flatcA([], []). 7.52/2.83 flatcA(.([], []), []). 7.52/2.83 flatcA(.([], .([], X1)), []) :- flatcA(X1, []). 7.52/2.83 flatcA(.([], []), []). 7.52/2.83 flatcA(.([], .([], X1)), X2) :- flatcA(X1, X2). 7.52/2.83 flatcA(.([], .(.(X1, X2), X3)), .(X1, X4)) :- flatcA(.(X2, X3), X4). 7.52/2.83 flatcA(.(.(X1, X2), X3), .(X1, X4)) :- flatcA(.(X2, X3), X4). 7.52/2.83 flatcA(.(.(X1, []), X2), .(X1, X3)) :- flatcA(X2, X3). 7.52/2.83 flatcA(.(.(X1, .(X2, X3)), X4), .(X1, .(X2, X5))) :- flatcA(.(X3, X4), X5). 7.52/2.83 7.52/2.83 Afs: 7.52/2.83 7.52/2.83 flatA(x1, x2) = flatA(x2) 7.52/2.83 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (55) TriplesToPiDPProof (SOUND) 7.52/2.83 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 7.52/2.83 7.52/2.83 flatA_in_2: (f,b) 7.52/2.83 7.52/2.83 Transforming TRIPLES into the following Term Rewriting System: 7.52/2.83 7.52/2.83 Pi DP problem: 7.52/2.83 The TRS P consists of the following rules: 7.52/2.83 7.52/2.83 FLATA_IN_AG(.([], .([], X1)), []) -> U1_AG(X1, flatA_in_ag(X1, [])) 7.52/2.83 FLATA_IN_AG(.([], .([], X1)), []) -> FLATA_IN_AG(X1, []) 7.52/2.83 FLATA_IN_AG(.([], .([], X1)), X2) -> U2_AG(X1, X2, flatA_in_ag(X1, X2)) 7.52/2.83 FLATA_IN_AG(.([], .([], X1)), X2) -> FLATA_IN_AG(X1, X2) 7.52/2.83 FLATA_IN_AG(.([], .(.(X1, X2), X3)), .(X1, X4)) -> U3_AG(X1, X2, X3, X4, flatA_in_ag(.(X2, X3), X4)) 7.52/2.83 FLATA_IN_AG(.([], .(.(X1, X2), X3)), .(X1, X4)) -> FLATA_IN_AG(.(X2, X3), X4) 7.52/2.83 FLATA_IN_AG(.(.(X1, X2), X3), .(X1, X4)) -> U4_AG(X1, X2, X3, X4, flatA_in_ag(.(X2, X3), X4)) 7.52/2.83 FLATA_IN_AG(.(.(X1, X2), X3), .(X1, X4)) -> FLATA_IN_AG(.(X2, X3), X4) 7.52/2.83 FLATA_IN_AG(.(.(X1, []), X2), .(X1, X3)) -> U5_AG(X1, X2, X3, flatA_in_ag(X2, X3)) 7.52/2.83 FLATA_IN_AG(.(.(X1, []), X2), .(X1, X3)) -> FLATA_IN_AG(X2, X3) 7.52/2.83 FLATA_IN_AG(.(.(X1, .(X2, X3)), X4), .(X1, .(X2, X5))) -> U6_AG(X1, X2, X3, X4, X5, flatA_in_ag(.(X3, X4), X5)) 7.52/2.83 FLATA_IN_AG(.(.(X1, .(X2, X3)), X4), .(X1, .(X2, X5))) -> FLATA_IN_AG(.(X3, X4), X5) 7.52/2.83 7.52/2.83 R is empty. 7.52/2.83 The argument filtering Pi contains the following mapping: 7.52/2.83 flatA_in_ag(x1, x2) = flatA_in_ag(x2) 7.52/2.83 7.52/2.83 [] = [] 7.52/2.83 7.52/2.83 .(x1, x2) = .(x1, x2) 7.52/2.83 7.52/2.83 FLATA_IN_AG(x1, x2) = FLATA_IN_AG(x2) 7.52/2.83 7.52/2.83 U1_AG(x1, x2) = U1_AG(x2) 7.52/2.83 7.52/2.83 U2_AG(x1, x2, x3) = U2_AG(x2, x3) 7.52/2.83 7.52/2.83 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x1, x4, x5) 7.52/2.83 7.52/2.83 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x1, x4, x5) 7.52/2.83 7.52/2.83 U5_AG(x1, x2, x3, x4) = U5_AG(x1, x3, x4) 7.52/2.83 7.52/2.83 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x1, x2, x5, x6) 7.52/2.83 7.52/2.83 7.52/2.83 We have to consider all (P,R,Pi)-chains 7.52/2.83 7.52/2.83 7.52/2.83 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 7.52/2.83 7.52/2.83 7.52/2.83 7.52/2.83 ---------------------------------------- 7.52/2.83 7.52/2.83 (56) 7.52/2.83 Obligation: 7.52/2.83 Pi DP problem: 7.52/2.83 The TRS P consists of the following rules: 7.52/2.83 7.52/2.83 FLATA_IN_AG(.([], .([], X1)), []) -> U1_AG(X1, flatA_in_ag(X1, [])) 7.52/2.83 FLATA_IN_AG(.([], .([], X1)), []) -> FLATA_IN_AG(X1, []) 7.52/2.83 FLATA_IN_AG(.([], .([], X1)), X2) -> U2_AG(X1, X2, flatA_in_ag(X1, X2)) 7.52/2.83 FLATA_IN_AG(.([], .([], X1)), X2) -> FLATA_IN_AG(X1, X2) 7.52/2.83 FLATA_IN_AG(.([], .(.(X1, X2), X3)), .(X1, X4)) -> U3_AG(X1, X2, X3, X4, flatA_in_ag(.(X2, X3), X4)) 7.52/2.83 FLATA_IN_AG(.([], .(.(X1, X2), X3)), .(X1, X4)) -> FLATA_IN_AG(.(X2, X3), X4) 7.52/2.83 FLATA_IN_AG(.(.(X1, X2), X3), .(X1, X4)) -> U4_AG(X1, X2, X3, X4, flatA_in_ag(.(X2, X3), X4)) 7.52/2.83 FLATA_IN_AG(.(.(X1, X2), X3), .(X1, X4)) -> FLATA_IN_AG(.(X2, X3), X4) 7.52/2.83 FLATA_IN_AG(.(.(X1, []), X2), .(X1, X3)) -> U5_AG(X1, X2, X3, flatA_in_ag(X2, X3)) 7.52/2.83 FLATA_IN_AG(.(.(X1, []), X2), .(X1, X3)) -> FLATA_IN_AG(X2, X3) 7.52/2.83 FLATA_IN_AG(.(.(X1, .(X2, X3)), X4), .(X1, .(X2, X5))) -> U6_AG(X1, X2, X3, X4, X5, flatA_in_ag(.(X3, X4), X5)) 7.52/2.83 FLATA_IN_AG(.(.(X1, .(X2, X3)), X4), .(X1, .(X2, X5))) -> FLATA_IN_AG(.(X3, X4), X5) 7.52/2.83 7.52/2.83 R is empty. 7.52/2.83 The argument filtering Pi contains the following mapping: 7.52/2.83 flatA_in_ag(x1, x2) = flatA_in_ag(x2) 7.52/2.83 7.52/2.83 [] = [] 7.52/2.83 7.52/2.83 .(x1, x2) = .(x1, x2) 7.52/2.83 7.52/2.83 FLATA_IN_AG(x1, x2) = FLATA_IN_AG(x2) 7.52/2.83 7.52/2.83 U1_AG(x1, x2) = U1_AG(x2) 7.52/2.83 7.52/2.83 U2_AG(x1, x2, x3) = U2_AG(x2, x3) 7.52/2.83 7.52/2.83 U3_AG(x1, x2, x3, x4, x5) = U3_AG(x1, x4, x5) 7.52/2.83 7.52/2.83 U4_AG(x1, x2, x3, x4, x5) = U4_AG(x1, x4, x5) 7.52/2.83 7.52/2.83 U5_AG(x1, x2, x3, x4) = U5_AG(x1, x3, x4) 7.52/2.83 7.52/2.83 U6_AG(x1, x2, x3, x4, x5, x6) = U6_AG(x1, x2, x5, x6) 7.52/2.83 7.52/2.83 7.52/2.83 We have to consider all (P,R,Pi)-chains 7.52/2.83 ---------------------------------------- 7.52/2.84 7.52/2.84 (57) DependencyGraphProof (EQUIVALENT) 7.52/2.84 The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 6 less nodes. 7.52/2.84 ---------------------------------------- 7.52/2.84 7.52/2.84 (58) 7.52/2.84 Obligation: 7.52/2.84 Pi DP problem: 7.52/2.84 The TRS P consists of the following rules: 7.52/2.84 7.52/2.84 FLATA_IN_AG(.([], .([], X1)), X2) -> FLATA_IN_AG(X1, X2) 7.52/2.84 FLATA_IN_AG(.([], .([], X1)), []) -> FLATA_IN_AG(X1, []) 7.52/2.84 FLATA_IN_AG(.([], .(.(X1, X2), X3)), .(X1, X4)) -> FLATA_IN_AG(.(X2, X3), X4) 7.52/2.84 FLATA_IN_AG(.(.(X1, X2), X3), .(X1, X4)) -> FLATA_IN_AG(.(X2, X3), X4) 7.52/2.84 FLATA_IN_AG(.(.(X1, []), X2), .(X1, X3)) -> FLATA_IN_AG(X2, X3) 7.52/2.84 FLATA_IN_AG(.(.(X1, .(X2, X3)), X4), .(X1, .(X2, X5))) -> FLATA_IN_AG(.(X3, X4), X5) 7.52/2.84 7.52/2.84 R is empty. 7.52/2.84 The argument filtering Pi contains the following mapping: 7.52/2.84 [] = [] 7.52/2.84 7.52/2.84 .(x1, x2) = .(x1, x2) 7.52/2.84 7.52/2.84 FLATA_IN_AG(x1, x2) = FLATA_IN_AG(x2) 7.52/2.84 7.52/2.84 7.52/2.84 We have to consider all (P,R,Pi)-chains 7.52/2.84 ---------------------------------------- 7.52/2.84 7.52/2.84 (59) PiDPToQDPProof (SOUND) 7.52/2.84 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 7.52/2.84 ---------------------------------------- 7.52/2.84 7.52/2.84 (60) 7.52/2.84 Obligation: 7.52/2.84 Q DP problem: 7.52/2.84 The TRS P consists of the following rules: 7.52/2.84 7.52/2.84 FLATA_IN_AG(X2) -> FLATA_IN_AG(X2) 7.52/2.84 FLATA_IN_AG([]) -> FLATA_IN_AG([]) 7.52/2.84 FLATA_IN_AG(.(X1, X4)) -> FLATA_IN_AG(X4) 7.52/2.84 FLATA_IN_AG(.(X1, .(X2, X5))) -> FLATA_IN_AG(X5) 7.52/2.84 7.52/2.84 R is empty. 7.52/2.84 Q is empty. 7.52/2.84 We have to consider all (P,Q,R)-chains. 7.52/2.84 ---------------------------------------- 7.52/2.84 7.52/2.84 (61) UsableRulesReductionPairsProof (EQUIVALENT) 7.52/2.84 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 7.52/2.84 7.52/2.84 The following dependency pairs can be deleted: 7.52/2.84 7.52/2.84 FLATA_IN_AG(.(X1, X4)) -> FLATA_IN_AG(X4) 7.52/2.84 FLATA_IN_AG(.(X1, .(X2, X5))) -> FLATA_IN_AG(X5) 7.52/2.84 No rules are removed from R. 7.52/2.84 7.52/2.84 Used ordering: POLO with Polynomial interpretation [POLO]: 7.52/2.84 7.52/2.84 POL(.(x_1, x_2)) = x_1 + x_2 7.52/2.84 POL(FLATA_IN_AG(x_1)) = 2*x_1 7.52/2.84 POL([]) = 0 7.52/2.84 7.52/2.84 7.52/2.84 ---------------------------------------- 7.52/2.84 7.52/2.84 (62) 7.52/2.84 Obligation: 7.52/2.84 Q DP problem: 7.52/2.84 The TRS P consists of the following rules: 7.52/2.84 7.52/2.84 FLATA_IN_AG(X2) -> FLATA_IN_AG(X2) 7.52/2.84 FLATA_IN_AG([]) -> FLATA_IN_AG([]) 7.52/2.84 7.52/2.84 R is empty. 7.52/2.84 Q is empty. 7.52/2.84 We have to consider all (P,Q,R)-chains. 7.52/2.84 ---------------------------------------- 7.52/2.84 7.52/2.84 (63) NonTerminationLoopProof (COMPLETE) 7.52/2.84 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 7.52/2.84 Found a loop by semiunifying a rule from P directly. 7.52/2.84 7.52/2.84 s = FLATA_IN_AG(X2) evaluates to t =FLATA_IN_AG(X2) 7.52/2.84 7.52/2.84 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 7.52/2.84 * Matcher: [ ] 7.52/2.84 * Semiunifier: [ ] 7.52/2.84 7.52/2.84 -------------------------------------------------------------------------------- 7.52/2.84 Rewriting sequence 7.52/2.84 7.52/2.84 The DP semiunifies directly so there is only one rewrite step from FLATA_IN_AG(X2) to FLATA_IN_AG(X2). 7.52/2.84 7.52/2.84 7.52/2.84 7.52/2.84 7.52/2.84 ---------------------------------------- 7.52/2.84 7.52/2.84 (64) 7.52/2.84 NO 7.78/2.87 EOF