6.82/2.67 MAYBE 6.82/2.68 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 6.82/2.68 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 6.82/2.68 6.82/2.68 6.82/2.68 Left Termination of the query pattern 6.82/2.68 6.82/2.68 transpose_aux(a,g,a) 6.82/2.68 6.82/2.68 w.r.t. the given Prolog program could not be shown: 6.82/2.68 6.82/2.68 (0) Prolog 6.82/2.68 (1) PrologToPiTRSProof [SOUND, 0 ms] 6.82/2.68 (2) PiTRS 6.82/2.68 (3) DependencyPairsProof [EQUIVALENT, 9 ms] 6.82/2.68 (4) PiDP 6.82/2.68 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 6.82/2.68 (6) PiDP 6.82/2.68 (7) UsableRulesProof [EQUIVALENT, 0 ms] 6.82/2.68 (8) PiDP 6.82/2.68 (9) PiDPToQDPProof [SOUND, 0 ms] 6.82/2.68 (10) QDP 6.82/2.68 (11) TransformationProof [EQUIVALENT, 0 ms] 6.82/2.68 (12) QDP 6.82/2.68 (13) TransformationProof [EQUIVALENT, 0 ms] 6.82/2.68 (14) QDP 6.82/2.68 (15) NonTerminationLoopProof [COMPLETE, 0 ms] 6.82/2.68 (16) NO 6.82/2.68 (17) PrologToPiTRSProof [SOUND, 0 ms] 6.82/2.68 (18) PiTRS 6.82/2.68 (19) DependencyPairsProof [EQUIVALENT, 0 ms] 6.82/2.68 (20) PiDP 6.82/2.68 (21) DependencyGraphProof [EQUIVALENT, 0 ms] 6.82/2.68 (22) PiDP 6.82/2.68 (23) UsableRulesProof [EQUIVALENT, 0 ms] 6.82/2.68 (24) PiDP 6.82/2.68 (25) PiDPToQDPProof [SOUND, 0 ms] 6.82/2.68 (26) QDP 6.82/2.68 (27) TransformationProof [EQUIVALENT, 0 ms] 6.82/2.68 (28) QDP 6.82/2.68 (29) TransformationProof [EQUIVALENT, 0 ms] 6.82/2.68 (30) QDP 6.82/2.68 (31) NonTerminationLoopProof [COMPLETE, 0 ms] 6.82/2.68 (32) NO 6.82/2.68 (33) PrologToDTProblemTransformerProof [SOUND, 57 ms] 6.82/2.68 (34) TRIPLES 6.82/2.68 (35) TriplesToPiDPProof [SOUND, 0 ms] 6.82/2.68 (36) PiDP 6.82/2.68 (37) DependencyGraphProof [EQUIVALENT, 0 ms] 6.82/2.68 (38) PiDP 6.82/2.68 (39) PiDPToQDPProof [SOUND, 0 ms] 6.82/2.68 (40) QDP 6.82/2.68 (41) TransformationProof [EQUIVALENT, 0 ms] 6.82/2.68 (42) QDP 6.82/2.68 (43) TransformationProof [EQUIVALENT, 0 ms] 6.82/2.68 (44) QDP 6.82/2.68 (45) NonTerminationLoopProof [COMPLETE, 0 ms] 6.82/2.68 (46) NO 6.82/2.68 (47) PrologToIRSwTTransformerProof [SOUND, 62 ms] 6.82/2.68 (48) IRSwT 6.82/2.68 (49) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 6.82/2.68 (50) IRSwT 6.82/2.68 (51) IntTRSCompressionProof [EQUIVALENT, 51 ms] 6.82/2.68 (52) IRSwT 6.82/2.68 (53) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 6.82/2.68 (54) IRSwT 6.82/2.68 (55) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 6.82/2.68 (56) IRSwT 6.82/2.68 (57) IRSwTToIntTRSProof [SOUND, 0 ms] 6.82/2.68 (58) IRSwT 6.82/2.68 (59) PrologToTRSTransformerProof [SOUND, 23 ms] 6.82/2.68 (60) QTRS 6.82/2.68 (61) AAECC Innermost [EQUIVALENT, 0 ms] 6.82/2.68 (62) QTRS 6.82/2.68 (63) DependencyPairsProof [EQUIVALENT, 0 ms] 6.82/2.68 (64) QDP 6.82/2.68 (65) DependencyGraphProof [EQUIVALENT, 0 ms] 6.82/2.68 (66) QDP 6.82/2.68 (67) UsableRulesProof [EQUIVALENT, 0 ms] 6.82/2.68 (68) QDP 6.82/2.68 (69) QReductionProof [EQUIVALENT, 0 ms] 6.82/2.68 (70) QDP 6.82/2.68 (71) TransformationProof [EQUIVALENT, 0 ms] 6.82/2.68 (72) QDP 6.82/2.68 (73) TransformationProof [EQUIVALENT, 0 ms] 6.82/2.68 (74) QDP 6.82/2.68 (75) NonTerminationLoopProof [COMPLETE, 0 ms] 6.82/2.68 (76) NO 6.82/2.68 6.82/2.68 6.82/2.68 ---------------------------------------- 6.82/2.68 6.82/2.68 (0) 6.82/2.68 Obligation: 6.82/2.68 Clauses: 6.82/2.68 6.82/2.68 transpose_aux(.(R, Rs), X1, .(C, Cs)) :- row2col(R, .(C, Cs), Cols1, [], Accm). 6.82/2.68 row2col(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) :- row2col(Xs, Cols, Cols1, .([], A), B). 6.82/2.68 6.82/2.68 6.82/2.68 Query: transpose_aux(a,g,a) 6.82/2.68 ---------------------------------------- 6.82/2.68 6.82/2.68 (1) PrologToPiTRSProof (SOUND) 6.82/2.68 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 6.82/2.68 6.82/2.68 transpose_aux_in_3: (f,b,f) 6.82/2.68 6.82/2.68 row2col_in_5: (f,f,f,b,f) 6.82/2.68 6.82/2.68 Transforming Prolog into the following Term Rewriting System: 6.82/2.68 6.82/2.68 Pi-finite rewrite system: 6.82/2.68 The TRS R consists of the following rules: 6.82/2.68 6.82/2.68 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.68 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.68 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.68 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.68 6.82/2.68 The argument filtering Pi contains the following mapping: 6.82/2.68 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.68 6.82/2.68 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x6) 6.82/2.68 6.82/2.68 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.68 6.82/2.68 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x8) 6.82/2.68 6.82/2.68 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x5) 6.82/2.68 6.82/2.68 .(x1, x2) = .(x1, x2) 6.82/2.68 6.82/2.68 [] = [] 6.82/2.68 6.82/2.68 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga 6.82/2.68 6.82/2.68 6.82/2.68 6.82/2.68 6.82/2.68 6.82/2.68 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 6.82/2.68 6.82/2.68 6.82/2.68 6.82/2.68 ---------------------------------------- 6.82/2.68 6.82/2.68 (2) 6.82/2.68 Obligation: 6.82/2.68 Pi-finite rewrite system: 6.82/2.68 The TRS R consists of the following rules: 6.82/2.68 6.82/2.68 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.68 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.68 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.68 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.68 6.82/2.68 The argument filtering Pi contains the following mapping: 6.82/2.68 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.68 6.82/2.68 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x6) 6.82/2.68 6.82/2.68 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.68 6.82/2.68 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x8) 6.82/2.68 6.82/2.68 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x5) 6.82/2.68 6.82/2.68 .(x1, x2) = .(x1, x2) 6.82/2.68 6.82/2.68 [] = [] 6.82/2.68 6.82/2.68 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga 6.82/2.68 6.82/2.68 6.82/2.68 6.82/2.68 ---------------------------------------- 6.82/2.68 6.82/2.68 (3) DependencyPairsProof (EQUIVALENT) 6.82/2.68 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 6.82/2.68 Pi DP problem: 6.82/2.68 The TRS P consists of the following rules: 6.82/2.68 6.82/2.68 TRANSPOSE_AUX_IN_AGA(.(R, Rs), X1, .(C, Cs)) -> U1_AGA(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.68 TRANSPOSE_AUX_IN_AGA(.(R, Rs), X1, .(C, Cs)) -> ROW2COL_IN_AAAGA(R, .(C, Cs), Cols1, [], Accm) 6.82/2.68 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_AAAGA(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.68 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> ROW2COL_IN_AAAGA(Xs, Cols, Cols1, .([], A), B) 6.82/2.68 6.82/2.68 The TRS R consists of the following rules: 6.82/2.68 6.82/2.68 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.68 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.68 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.68 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.68 6.82/2.68 The argument filtering Pi contains the following mapping: 6.82/2.68 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.68 6.82/2.68 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x6) 6.82/2.68 6.82/2.68 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.68 6.82/2.68 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x8) 6.82/2.68 6.82/2.68 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x5) 6.82/2.69 6.82/2.69 .(x1, x2) = .(x1, x2) 6.82/2.69 6.82/2.69 [] = [] 6.82/2.69 6.82/2.69 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga 6.82/2.69 6.82/2.69 TRANSPOSE_AUX_IN_AGA(x1, x2, x3) = TRANSPOSE_AUX_IN_AGA(x2) 6.82/2.69 6.82/2.69 U1_AGA(x1, x2, x3, x4, x5, x6) = U1_AGA(x6) 6.82/2.69 6.82/2.69 ROW2COL_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COL_IN_AAAGA(x4) 6.82/2.69 6.82/2.69 U2_AAAGA(x1, x2, x3, x4, x5, x6, x7, x8) = U2_AAAGA(x8) 6.82/2.69 6.82/2.69 6.82/2.69 We have to consider all (P,R,Pi)-chains 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (4) 6.82/2.69 Obligation: 6.82/2.69 Pi DP problem: 6.82/2.69 The TRS P consists of the following rules: 6.82/2.69 6.82/2.69 TRANSPOSE_AUX_IN_AGA(.(R, Rs), X1, .(C, Cs)) -> U1_AGA(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.69 TRANSPOSE_AUX_IN_AGA(.(R, Rs), X1, .(C, Cs)) -> ROW2COL_IN_AAAGA(R, .(C, Cs), Cols1, [], Accm) 6.82/2.69 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_AAAGA(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.69 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> ROW2COL_IN_AAAGA(Xs, Cols, Cols1, .([], A), B) 6.82/2.69 6.82/2.69 The TRS R consists of the following rules: 6.82/2.69 6.82/2.69 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.69 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.69 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.69 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.69 6.82/2.69 The argument filtering Pi contains the following mapping: 6.82/2.69 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.69 6.82/2.69 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x6) 6.82/2.69 6.82/2.69 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.69 6.82/2.69 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x8) 6.82/2.69 6.82/2.69 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x5) 6.82/2.69 6.82/2.69 .(x1, x2) = .(x1, x2) 6.82/2.69 6.82/2.69 [] = [] 6.82/2.69 6.82/2.69 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga 6.82/2.69 6.82/2.69 TRANSPOSE_AUX_IN_AGA(x1, x2, x3) = TRANSPOSE_AUX_IN_AGA(x2) 6.82/2.69 6.82/2.69 U1_AGA(x1, x2, x3, x4, x5, x6) = U1_AGA(x6) 6.82/2.69 6.82/2.69 ROW2COL_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COL_IN_AAAGA(x4) 6.82/2.69 6.82/2.69 U2_AAAGA(x1, x2, x3, x4, x5, x6, x7, x8) = U2_AAAGA(x8) 6.82/2.69 6.82/2.69 6.82/2.69 We have to consider all (P,R,Pi)-chains 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (5) DependencyGraphProof (EQUIVALENT) 6.82/2.69 The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 3 less nodes. 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (6) 6.82/2.69 Obligation: 6.82/2.69 Pi DP problem: 6.82/2.69 The TRS P consists of the following rules: 6.82/2.69 6.82/2.69 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> ROW2COL_IN_AAAGA(Xs, Cols, Cols1, .([], A), B) 6.82/2.69 6.82/2.69 The TRS R consists of the following rules: 6.82/2.69 6.82/2.69 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.69 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.69 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.69 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.69 6.82/2.69 The argument filtering Pi contains the following mapping: 6.82/2.69 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.69 6.82/2.69 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x6) 6.82/2.69 6.82/2.69 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.69 6.82/2.69 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x8) 6.82/2.69 6.82/2.69 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x5) 6.82/2.69 6.82/2.69 .(x1, x2) = .(x1, x2) 6.82/2.69 6.82/2.69 [] = [] 6.82/2.69 6.82/2.69 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga 6.82/2.69 6.82/2.69 ROW2COL_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COL_IN_AAAGA(x4) 6.82/2.69 6.82/2.69 6.82/2.69 We have to consider all (P,R,Pi)-chains 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (7) UsableRulesProof (EQUIVALENT) 6.82/2.69 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (8) 6.82/2.69 Obligation: 6.82/2.69 Pi DP problem: 6.82/2.69 The TRS P consists of the following rules: 6.82/2.69 6.82/2.69 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> ROW2COL_IN_AAAGA(Xs, Cols, Cols1, .([], A), B) 6.82/2.69 6.82/2.69 R is empty. 6.82/2.69 The argument filtering Pi contains the following mapping: 6.82/2.69 .(x1, x2) = .(x1, x2) 6.82/2.69 6.82/2.69 [] = [] 6.82/2.69 6.82/2.69 ROW2COL_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COL_IN_AAAGA(x4) 6.82/2.69 6.82/2.69 6.82/2.69 We have to consider all (P,R,Pi)-chains 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (9) PiDPToQDPProof (SOUND) 6.82/2.69 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (10) 6.82/2.69 Obligation: 6.82/2.69 Q DP problem: 6.82/2.69 The TRS P consists of the following rules: 6.82/2.69 6.82/2.69 ROW2COL_IN_AAAGA(A) -> ROW2COL_IN_AAAGA(.([], A)) 6.82/2.69 6.82/2.69 R is empty. 6.82/2.69 Q is empty. 6.82/2.69 We have to consider all (P,Q,R)-chains. 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (11) TransformationProof (EQUIVALENT) 6.82/2.69 By instantiating [LPAR04] the rule ROW2COL_IN_AAAGA(A) -> ROW2COL_IN_AAAGA(.([], A)) we obtained the following new rules [LPAR04]: 6.82/2.69 6.82/2.69 (ROW2COL_IN_AAAGA(.([], z0)) -> ROW2COL_IN_AAAGA(.([], .([], z0))),ROW2COL_IN_AAAGA(.([], z0)) -> ROW2COL_IN_AAAGA(.([], .([], z0)))) 6.82/2.69 6.82/2.69 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (12) 6.82/2.69 Obligation: 6.82/2.69 Q DP problem: 6.82/2.69 The TRS P consists of the following rules: 6.82/2.69 6.82/2.69 ROW2COL_IN_AAAGA(.([], z0)) -> ROW2COL_IN_AAAGA(.([], .([], z0))) 6.82/2.69 6.82/2.69 R is empty. 6.82/2.69 Q is empty. 6.82/2.69 We have to consider all (P,Q,R)-chains. 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (13) TransformationProof (EQUIVALENT) 6.82/2.69 By instantiating [LPAR04] the rule ROW2COL_IN_AAAGA(.([], z0)) -> ROW2COL_IN_AAAGA(.([], .([], z0))) we obtained the following new rules [LPAR04]: 6.82/2.69 6.82/2.69 (ROW2COL_IN_AAAGA(.([], .([], z0))) -> ROW2COL_IN_AAAGA(.([], .([], .([], z0)))),ROW2COL_IN_AAAGA(.([], .([], z0))) -> ROW2COL_IN_AAAGA(.([], .([], .([], z0))))) 6.82/2.69 6.82/2.69 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (14) 6.82/2.69 Obligation: 6.82/2.69 Q DP problem: 6.82/2.69 The TRS P consists of the following rules: 6.82/2.69 6.82/2.69 ROW2COL_IN_AAAGA(.([], .([], z0))) -> ROW2COL_IN_AAAGA(.([], .([], .([], z0)))) 6.82/2.69 6.82/2.69 R is empty. 6.82/2.69 Q is empty. 6.82/2.69 We have to consider all (P,Q,R)-chains. 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (15) NonTerminationLoopProof (COMPLETE) 6.82/2.69 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 6.82/2.69 Found a loop by semiunifying a rule from P directly. 6.82/2.69 6.82/2.69 s = ROW2COL_IN_AAAGA(.([], .([], z0))) evaluates to t =ROW2COL_IN_AAAGA(.([], .([], .([], z0)))) 6.82/2.69 6.82/2.69 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 6.82/2.69 * Matcher: [z0 / .([], z0)] 6.82/2.69 * Semiunifier: [ ] 6.82/2.69 6.82/2.69 -------------------------------------------------------------------------------- 6.82/2.69 Rewriting sequence 6.82/2.69 6.82/2.69 The DP semiunifies directly so there is only one rewrite step from ROW2COL_IN_AAAGA(.([], .([], z0))) to ROW2COL_IN_AAAGA(.([], .([], .([], z0)))). 6.82/2.69 6.82/2.69 6.82/2.69 6.82/2.69 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (16) 6.82/2.69 NO 6.82/2.69 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (17) PrologToPiTRSProof (SOUND) 6.82/2.69 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 6.82/2.69 6.82/2.69 transpose_aux_in_3: (f,b,f) 6.82/2.69 6.82/2.69 row2col_in_5: (f,f,f,b,f) 6.82/2.69 6.82/2.69 Transforming Prolog into the following Term Rewriting System: 6.82/2.69 6.82/2.69 Pi-finite rewrite system: 6.82/2.69 The TRS R consists of the following rules: 6.82/2.69 6.82/2.69 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.69 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.69 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.69 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.69 6.82/2.69 The argument filtering Pi contains the following mapping: 6.82/2.69 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.69 6.82/2.69 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x3, x6) 6.82/2.69 6.82/2.69 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.69 6.82/2.69 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x6, x8) 6.82/2.69 6.82/2.69 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x4, x5) 6.82/2.69 6.82/2.69 .(x1, x2) = .(x1, x2) 6.82/2.69 6.82/2.69 [] = [] 6.82/2.69 6.82/2.69 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga(x2) 6.82/2.69 6.82/2.69 6.82/2.69 6.82/2.69 6.82/2.69 6.82/2.69 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 6.82/2.69 6.82/2.69 6.82/2.69 6.82/2.69 ---------------------------------------- 6.82/2.69 6.82/2.69 (18) 6.82/2.69 Obligation: 6.82/2.69 Pi-finite rewrite system: 6.82/2.69 The TRS R consists of the following rules: 6.82/2.69 6.82/2.69 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.69 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.69 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.69 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.70 6.82/2.70 The argument filtering Pi contains the following mapping: 6.82/2.70 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.70 6.82/2.70 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x3, x6) 6.82/2.70 6.82/2.70 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.70 6.82/2.70 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x6, x8) 6.82/2.70 6.82/2.70 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x4, x5) 6.82/2.70 6.82/2.70 .(x1, x2) = .(x1, x2) 6.82/2.70 6.82/2.70 [] = [] 6.82/2.70 6.82/2.70 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga(x2) 6.82/2.70 6.82/2.70 6.82/2.70 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (19) DependencyPairsProof (EQUIVALENT) 6.82/2.70 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 6.82/2.70 Pi DP problem: 6.82/2.70 The TRS P consists of the following rules: 6.82/2.70 6.82/2.70 TRANSPOSE_AUX_IN_AGA(.(R, Rs), X1, .(C, Cs)) -> U1_AGA(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.70 TRANSPOSE_AUX_IN_AGA(.(R, Rs), X1, .(C, Cs)) -> ROW2COL_IN_AAAGA(R, .(C, Cs), Cols1, [], Accm) 6.82/2.70 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_AAAGA(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.70 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> ROW2COL_IN_AAAGA(Xs, Cols, Cols1, .([], A), B) 6.82/2.70 6.82/2.70 The TRS R consists of the following rules: 6.82/2.70 6.82/2.70 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.70 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.70 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.70 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.70 6.82/2.70 The argument filtering Pi contains the following mapping: 6.82/2.70 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.70 6.82/2.70 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x3, x6) 6.82/2.70 6.82/2.70 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.70 6.82/2.70 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x6, x8) 6.82/2.70 6.82/2.70 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x4, x5) 6.82/2.70 6.82/2.70 .(x1, x2) = .(x1, x2) 6.82/2.70 6.82/2.70 [] = [] 6.82/2.70 6.82/2.70 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga(x2) 6.82/2.70 6.82/2.70 TRANSPOSE_AUX_IN_AGA(x1, x2, x3) = TRANSPOSE_AUX_IN_AGA(x2) 6.82/2.70 6.82/2.70 U1_AGA(x1, x2, x3, x4, x5, x6) = U1_AGA(x3, x6) 6.82/2.70 6.82/2.70 ROW2COL_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COL_IN_AAAGA(x4) 6.82/2.70 6.82/2.70 U2_AAAGA(x1, x2, x3, x4, x5, x6, x7, x8) = U2_AAAGA(x6, x8) 6.82/2.70 6.82/2.70 6.82/2.70 We have to consider all (P,R,Pi)-chains 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (20) 6.82/2.70 Obligation: 6.82/2.70 Pi DP problem: 6.82/2.70 The TRS P consists of the following rules: 6.82/2.70 6.82/2.70 TRANSPOSE_AUX_IN_AGA(.(R, Rs), X1, .(C, Cs)) -> U1_AGA(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.70 TRANSPOSE_AUX_IN_AGA(.(R, Rs), X1, .(C, Cs)) -> ROW2COL_IN_AAAGA(R, .(C, Cs), Cols1, [], Accm) 6.82/2.70 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_AAAGA(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.70 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> ROW2COL_IN_AAAGA(Xs, Cols, Cols1, .([], A), B) 6.82/2.70 6.82/2.70 The TRS R consists of the following rules: 6.82/2.70 6.82/2.70 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.70 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.70 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.70 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.70 6.82/2.70 The argument filtering Pi contains the following mapping: 6.82/2.70 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.70 6.82/2.70 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x3, x6) 6.82/2.70 6.82/2.70 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.70 6.82/2.70 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x6, x8) 6.82/2.70 6.82/2.70 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x4, x5) 6.82/2.70 6.82/2.70 .(x1, x2) = .(x1, x2) 6.82/2.70 6.82/2.70 [] = [] 6.82/2.70 6.82/2.70 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga(x2) 6.82/2.70 6.82/2.70 TRANSPOSE_AUX_IN_AGA(x1, x2, x3) = TRANSPOSE_AUX_IN_AGA(x2) 6.82/2.70 6.82/2.70 U1_AGA(x1, x2, x3, x4, x5, x6) = U1_AGA(x3, x6) 6.82/2.70 6.82/2.70 ROW2COL_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COL_IN_AAAGA(x4) 6.82/2.70 6.82/2.70 U2_AAAGA(x1, x2, x3, x4, x5, x6, x7, x8) = U2_AAAGA(x6, x8) 6.82/2.70 6.82/2.70 6.82/2.70 We have to consider all (P,R,Pi)-chains 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (21) DependencyGraphProof (EQUIVALENT) 6.82/2.70 The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 3 less nodes. 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (22) 6.82/2.70 Obligation: 6.82/2.70 Pi DP problem: 6.82/2.70 The TRS P consists of the following rules: 6.82/2.70 6.82/2.70 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> ROW2COL_IN_AAAGA(Xs, Cols, Cols1, .([], A), B) 6.82/2.70 6.82/2.70 The TRS R consists of the following rules: 6.82/2.70 6.82/2.70 transpose_aux_in_aga(.(R, Rs), X1, .(C, Cs)) -> U1_aga(R, Rs, X1, C, Cs, row2col_in_aaaga(R, .(C, Cs), Cols1, [], Accm)) 6.82/2.70 row2col_in_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_in_aaaga(Xs, Cols, Cols1, .([], A), B)) 6.82/2.70 U2_aaaga(X, Xs, Ys, Cols, Cols1, A, B, row2col_out_aaaga(Xs, Cols, Cols1, .([], A), B)) -> row2col_out_aaaga(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) 6.82/2.70 U1_aga(R, Rs, X1, C, Cs, row2col_out_aaaga(R, .(C, Cs), Cols1, [], Accm)) -> transpose_aux_out_aga(.(R, Rs), X1, .(C, Cs)) 6.82/2.70 6.82/2.70 The argument filtering Pi contains the following mapping: 6.82/2.70 transpose_aux_in_aga(x1, x2, x3) = transpose_aux_in_aga(x2) 6.82/2.70 6.82/2.70 U1_aga(x1, x2, x3, x4, x5, x6) = U1_aga(x3, x6) 6.82/2.70 6.82/2.70 row2col_in_aaaga(x1, x2, x3, x4, x5) = row2col_in_aaaga(x4) 6.82/2.70 6.82/2.70 U2_aaaga(x1, x2, x3, x4, x5, x6, x7, x8) = U2_aaaga(x6, x8) 6.82/2.70 6.82/2.70 row2col_out_aaaga(x1, x2, x3, x4, x5) = row2col_out_aaaga(x4, x5) 6.82/2.70 6.82/2.70 .(x1, x2) = .(x1, x2) 6.82/2.70 6.82/2.70 [] = [] 6.82/2.70 6.82/2.70 transpose_aux_out_aga(x1, x2, x3) = transpose_aux_out_aga(x2) 6.82/2.70 6.82/2.70 ROW2COL_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COL_IN_AAAGA(x4) 6.82/2.70 6.82/2.70 6.82/2.70 We have to consider all (P,R,Pi)-chains 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (23) UsableRulesProof (EQUIVALENT) 6.82/2.70 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (24) 6.82/2.70 Obligation: 6.82/2.70 Pi DP problem: 6.82/2.70 The TRS P consists of the following rules: 6.82/2.70 6.82/2.70 ROW2COL_IN_AAAGA(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) -> ROW2COL_IN_AAAGA(Xs, Cols, Cols1, .([], A), B) 6.82/2.70 6.82/2.70 R is empty. 6.82/2.70 The argument filtering Pi contains the following mapping: 6.82/2.70 .(x1, x2) = .(x1, x2) 6.82/2.70 6.82/2.70 [] = [] 6.82/2.70 6.82/2.70 ROW2COL_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COL_IN_AAAGA(x4) 6.82/2.70 6.82/2.70 6.82/2.70 We have to consider all (P,R,Pi)-chains 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (25) PiDPToQDPProof (SOUND) 6.82/2.70 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (26) 6.82/2.70 Obligation: 6.82/2.70 Q DP problem: 6.82/2.70 The TRS P consists of the following rules: 6.82/2.70 6.82/2.70 ROW2COL_IN_AAAGA(A) -> ROW2COL_IN_AAAGA(.([], A)) 6.82/2.70 6.82/2.70 R is empty. 6.82/2.70 Q is empty. 6.82/2.70 We have to consider all (P,Q,R)-chains. 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (27) TransformationProof (EQUIVALENT) 6.82/2.70 By instantiating [LPAR04] the rule ROW2COL_IN_AAAGA(A) -> ROW2COL_IN_AAAGA(.([], A)) we obtained the following new rules [LPAR04]: 6.82/2.70 6.82/2.70 (ROW2COL_IN_AAAGA(.([], z0)) -> ROW2COL_IN_AAAGA(.([], .([], z0))),ROW2COL_IN_AAAGA(.([], z0)) -> ROW2COL_IN_AAAGA(.([], .([], z0)))) 6.82/2.70 6.82/2.70 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (28) 6.82/2.70 Obligation: 6.82/2.70 Q DP problem: 6.82/2.70 The TRS P consists of the following rules: 6.82/2.70 6.82/2.70 ROW2COL_IN_AAAGA(.([], z0)) -> ROW2COL_IN_AAAGA(.([], .([], z0))) 6.82/2.70 6.82/2.70 R is empty. 6.82/2.70 Q is empty. 6.82/2.70 We have to consider all (P,Q,R)-chains. 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (29) TransformationProof (EQUIVALENT) 6.82/2.70 By instantiating [LPAR04] the rule ROW2COL_IN_AAAGA(.([], z0)) -> ROW2COL_IN_AAAGA(.([], .([], z0))) we obtained the following new rules [LPAR04]: 6.82/2.70 6.82/2.70 (ROW2COL_IN_AAAGA(.([], .([], z0))) -> ROW2COL_IN_AAAGA(.([], .([], .([], z0)))),ROW2COL_IN_AAAGA(.([], .([], z0))) -> ROW2COL_IN_AAAGA(.([], .([], .([], z0))))) 6.82/2.70 6.82/2.70 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (30) 6.82/2.70 Obligation: 6.82/2.70 Q DP problem: 6.82/2.70 The TRS P consists of the following rules: 6.82/2.70 6.82/2.70 ROW2COL_IN_AAAGA(.([], .([], z0))) -> ROW2COL_IN_AAAGA(.([], .([], .([], z0)))) 6.82/2.70 6.82/2.70 R is empty. 6.82/2.70 Q is empty. 6.82/2.70 We have to consider all (P,Q,R)-chains. 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (31) NonTerminationLoopProof (COMPLETE) 6.82/2.70 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 6.82/2.70 Found a loop by semiunifying a rule from P directly. 6.82/2.70 6.82/2.70 s = ROW2COL_IN_AAAGA(.([], .([], z0))) evaluates to t =ROW2COL_IN_AAAGA(.([], .([], .([], z0)))) 6.82/2.70 6.82/2.70 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 6.82/2.70 * Matcher: [z0 / .([], z0)] 6.82/2.70 * Semiunifier: [ ] 6.82/2.70 6.82/2.70 -------------------------------------------------------------------------------- 6.82/2.70 Rewriting sequence 6.82/2.70 6.82/2.70 The DP semiunifies directly so there is only one rewrite step from ROW2COL_IN_AAAGA(.([], .([], z0))) to ROW2COL_IN_AAAGA(.([], .([], .([], z0)))). 6.82/2.70 6.82/2.70 6.82/2.70 6.82/2.70 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (32) 6.82/2.70 NO 6.82/2.70 6.82/2.70 ---------------------------------------- 6.82/2.70 6.82/2.70 (33) PrologToDTProblemTransformerProof (SOUND) 6.82/2.70 Built DT problem from termination graph DT10. 6.82/2.70 6.82/2.70 { 6.82/2.70 "root": 1, 6.82/2.70 "program": { 6.82/2.70 "directives": [], 6.82/2.70 "clauses": [ 6.82/2.70 [ 6.82/2.70 "(transpose_aux (. R Rs) X1 (. C Cs))", 6.82/2.70 "(row2col R (. C Cs) Cols1 ([]) Accm)" 6.82/2.70 ], 6.82/2.70 [ 6.82/2.70 "(row2col (. X Xs) (. (. X Ys) Cols) (. Ys Cols1) A B)", 6.82/2.70 "(row2col Xs Cols Cols1 (. ([]) A) B)" 6.82/2.70 ] 6.82/2.70 ] 6.82/2.70 }, 6.82/2.70 "graph": { 6.82/2.70 "nodes": { 6.82/2.70 "191": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": 1, 6.82/2.70 "scope": 5, 6.82/2.70 "term": "(row2col T65 T66 X111 (. ([]) (. ([]) (. ([]) ([])))) X112)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X111", 6.82/2.70 "X112" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "170": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": 1, 6.82/2.70 "scope": 2, 6.82/2.70 "term": "(row2col T14 (. T15 T16) X12 ([]) X13)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X12", 6.82/2.70 "X13" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "type": "Nodes", 6.82/2.70 "173": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T29 T30 X39 (. ([]) ([])) X40)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X39", 6.82/2.70 "X40" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "174": { 6.82/2.70 "goal": [], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "176": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": 1, 6.82/2.70 "scope": 3, 6.82/2.70 "term": "(row2col T29 T30 X39 (. ([]) ([])) X40)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X39", 6.82/2.70 "X40" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "178": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T47 T48 X75 (. ([]) (. ([]) ([]))) X76)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X75", 6.82/2.70 "X76" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "179": { 6.82/2.70 "goal": [], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "212": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T101 T102 X183 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))) X184)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X183", 6.82/2.70 "X184" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "234": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T137 T138 X255 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))))) X256)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X255", 6.82/2.70 "X256" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "213": { 6.82/2.70 "goal": [], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "235": { 6.82/2.70 "goal": [], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "214": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": 1, 6.82/2.70 "scope": 7, 6.82/2.70 "term": "(row2col T101 T102 X183 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))) X184)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X183", 6.82/2.70 "X184" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "239": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": 1, 6.82/2.70 "scope": 9, 6.82/2.70 "term": "(row2col T137 T138 X255 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))))) X256)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X255", 6.82/2.70 "X256" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "219": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T119 T120 X219 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([]))))))) X220)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X219", 6.82/2.70 "X220" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "184": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": 1, 6.82/2.70 "scope": 4, 6.82/2.70 "term": "(row2col T47 T48 X75 (. ([]) (. ([]) ([]))) X76)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X75", 6.82/2.70 "X76" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "187": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T65 T66 X111 (. ([]) (. ([]) (. ([]) ([])))) X112)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X111", 6.82/2.70 "X112" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "220": { 6.82/2.70 "goal": [], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "1": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(transpose_aux T1 T2 T3)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": ["T2"], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "166": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": 0, 6.82/2.70 "scope": 1, 6.82/2.70 "term": "(transpose_aux T1 T2 T3)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": ["T2"], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "188": { 6.82/2.70 "goal": [], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "243": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T155 T156 X291 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([]))))))))) X292)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X291", 6.82/2.70 "X292" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "244": { 6.82/2.70 "goal": [], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "168": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T14 (. T15 T16) X12 ([]) X13)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X12", 6.82/2.70 "X13" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "245": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T155 T156 X291 (. ([]) T161) X292)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": ["T161"], 6.82/2.70 "free": [ 6.82/2.70 "X291", 6.82/2.70 "X292" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "169": { 6.82/2.70 "goal": [], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "202": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": -1, 6.82/2.70 "scope": -1, 6.82/2.70 "term": "(row2col T83 T84 X147 (. ([]) (. ([]) (. ([]) (. ([]) ([]))))) X148)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X147", 6.82/2.70 "X148" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "224": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": 1, 6.82/2.70 "scope": 8, 6.82/2.70 "term": "(row2col T119 T120 X219 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([]))))))) X220)" 6.82/2.70 }], 6.82/2.70 "kb": { 6.82/2.70 "nonunifying": [], 6.82/2.70 "intvars": {}, 6.82/2.70 "arithmetic": { 6.82/2.70 "type": "PlainIntegerRelationState", 6.82/2.70 "relations": [] 6.82/2.70 }, 6.82/2.70 "ground": [], 6.82/2.70 "free": [ 6.82/2.70 "X219", 6.82/2.70 "X220" 6.82/2.70 ], 6.82/2.70 "exprvars": [] 6.82/2.70 } 6.82/2.70 }, 6.82/2.70 "246": { 6.82/2.70 "goal": [{ 6.82/2.70 "clause": 1, 6.82/2.70 "scope": 10, 6.82/2.71 "term": "(row2col T155 T156 X291 (. ([]) T161) X292)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": ["T161"], 6.82/2.71 "free": [ 6.82/2.71 "X291", 6.82/2.71 "X292" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "203": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "247": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T182 T183 X336 (. ([]) (. ([]) T181)) X337)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": ["T181"], 6.82/2.71 "free": [ 6.82/2.71 "X336", 6.82/2.71 "X337" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "248": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "206": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 6, 6.82/2.71 "term": "(row2col T83 T84 X147 (. ([]) (. ([]) (. ([]) (. ([]) ([]))))) X148)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X147", 6.82/2.71 "X148" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "edges": [ 6.82/2.71 { 6.82/2.71 "from": 1, 6.82/2.71 "to": 166, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 166, 6.82/2.71 "to": 168, 6.82/2.71 "label": "EVAL with clause\ntranspose_aux(.(X7, X8), X9, .(X10, X11)) :- row2col(X7, .(X10, X11), X12, [], X13).\nand substitutionX7 -> T14,\nX8 -> T10,\nT1 -> .(T14, T10),\nT2 -> T11,\nX9 -> T11,\nX10 -> T15,\nX11 -> T16,\nT3 -> .(T15, T16),\nT9 -> T14,\nT12 -> T15,\nT13 -> T16" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 166, 6.82/2.71 "to": 169, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 168, 6.82/2.71 "to": 170, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 170, 6.82/2.71 "to": 173, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X32, X33), .(.(X32, X34), X35), .(X34, X36), X37, X38) :- row2col(X33, X35, X36, .([], X37), X38).\nand substitutionX32 -> T25,\nX33 -> T29,\nT14 -> .(T25, T29),\nX34 -> T27,\nT15 -> .(T25, T27),\nT16 -> T30,\nX35 -> T30,\nX36 -> X39,\nX12 -> .(T27, X39),\nX37 -> [],\nX13 -> X40,\nX38 -> X40,\nT26 -> T29,\nT28 -> T30" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 170, 6.82/2.71 "to": 174, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 173, 6.82/2.71 "to": 176, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 176, 6.82/2.71 "to": 178, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X68, X69), .(.(X68, X70), X71), .(X70, X72), X73, X74) :- row2col(X69, X71, X72, .([], X73), X74).\nand substitutionX68 -> T43,\nX69 -> T47,\nT29 -> .(T43, T47),\nX70 -> T45,\nX71 -> T48,\nT30 -> .(.(T43, T45), T48),\nX72 -> X75,\nX39 -> .(T45, X75),\nX73 -> .([], []),\nX40 -> X76,\nX74 -> X76,\nT44 -> T47,\nT46 -> T48" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 176, 6.82/2.71 "to": 179, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 178, 6.82/2.71 "to": 184, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 184, 6.82/2.71 "to": 187, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X104, X105), .(.(X104, X106), X107), .(X106, X108), X109, X110) :- row2col(X105, X107, X108, .([], X109), X110).\nand substitutionX104 -> T61,\nX105 -> T65,\nT47 -> .(T61, T65),\nX106 -> T63,\nX107 -> T66,\nT48 -> .(.(T61, T63), T66),\nX108 -> X111,\nX75 -> .(T63, X111),\nX109 -> .([], .([], [])),\nX76 -> X112,\nX110 -> X112,\nT62 -> T65,\nT64 -> T66" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 184, 6.82/2.71 "to": 188, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 187, 6.82/2.71 "to": 191, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 191, 6.82/2.71 "to": 202, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X140, X141), .(.(X140, X142), X143), .(X142, X144), X145, X146) :- row2col(X141, X143, X144, .([], X145), X146).\nand substitutionX140 -> T79,\nX141 -> T83,\nT65 -> .(T79, T83),\nX142 -> T81,\nX143 -> T84,\nT66 -> .(.(T79, T81), T84),\nX144 -> X147,\nX111 -> .(T81, X147),\nX145 -> .([], .([], .([], []))),\nX112 -> X148,\nX146 -> X148,\nT80 -> T83,\nT82 -> T84" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 191, 6.82/2.71 "to": 203, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 202, 6.82/2.71 "to": 206, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 206, 6.82/2.71 "to": 212, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X176, X177), .(.(X176, X178), X179), .(X178, X180), X181, X182) :- row2col(X177, X179, X180, .([], X181), X182).\nand substitutionX176 -> T97,\nX177 -> T101,\nT83 -> .(T97, T101),\nX178 -> T99,\nX179 -> T102,\nT84 -> .(.(T97, T99), T102),\nX180 -> X183,\nX147 -> .(T99, X183),\nX181 -> .([], .([], .([], .([], [])))),\nX148 -> X184,\nX182 -> X184,\nT98 -> T101,\nT100 -> T102" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 206, 6.82/2.71 "to": 213, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 212, 6.82/2.71 "to": 214, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 214, 6.82/2.71 "to": 219, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X212, X213), .(.(X212, X214), X215), .(X214, X216), X217, X218) :- row2col(X213, X215, X216, .([], X217), X218).\nand substitutionX212 -> T115,\nX213 -> T119,\nT101 -> .(T115, T119),\nX214 -> T117,\nX215 -> T120,\nT102 -> .(.(T115, T117), T120),\nX216 -> X219,\nX183 -> .(T117, X219),\nX217 -> .([], .([], .([], .([], .([], []))))),\nX184 -> X220,\nX218 -> X220,\nT116 -> T119,\nT118 -> T120" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 214, 6.82/2.71 "to": 220, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 219, 6.82/2.71 "to": 224, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 224, 6.82/2.71 "to": 234, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X248, X249), .(.(X248, X250), X251), .(X250, X252), X253, X254) :- row2col(X249, X251, X252, .([], X253), X254).\nand substitutionX248 -> T133,\nX249 -> T137,\nT119 -> .(T133, T137),\nX250 -> T135,\nX251 -> T138,\nT120 -> .(.(T133, T135), T138),\nX252 -> X255,\nX219 -> .(T135, X255),\nX253 -> .([], .([], .([], .([], .([], .([], [])))))),\nX220 -> X256,\nX254 -> X256,\nT134 -> T137,\nT136 -> T138" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 224, 6.82/2.71 "to": 235, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 234, 6.82/2.71 "to": 239, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 239, 6.82/2.71 "to": 243, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X284, X285), .(.(X284, X286), X287), .(X286, X288), X289, X290) :- row2col(X285, X287, X288, .([], X289), X290).\nand substitutionX284 -> T151,\nX285 -> T155,\nT137 -> .(T151, T155),\nX286 -> T153,\nX287 -> T156,\nT138 -> .(.(T151, T153), T156),\nX288 -> X291,\nX255 -> .(T153, X291),\nX289 -> .([], .([], .([], .([], .([], .([], .([], []))))))),\nX256 -> X292,\nX290 -> X292,\nT152 -> T155,\nT154 -> T156" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 239, 6.82/2.71 "to": 244, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 243, 6.82/2.71 "to": 245, 6.82/2.71 "label": "GENERALIZATION\nT161 <-- .([], .([], .([], .([], .([], .([], .([], [])))))))\n\nNew Knowledge:\nT161 is ground" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 245, 6.82/2.71 "to": 246, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 246, 6.82/2.71 "to": 247, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X329, X330), .(.(X329, X331), X332), .(X331, X333), X334, X335) :- row2col(X330, X332, X333, .([], X334), X335).\nand substitutionX329 -> T177,\nX330 -> T182,\nT155 -> .(T177, T182),\nX331 -> T179,\nX332 -> T183,\nT156 -> .(.(T177, T179), T183),\nX333 -> X336,\nX291 -> .(T179, X336),\nT161 -> T181,\nX334 -> .([], T181),\nX292 -> X337,\nX335 -> X337,\nT178 -> T182,\nT180 -> T183" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 246, 6.82/2.71 "to": 248, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 247, 6.82/2.71 "to": 245, 6.82/2.71 "label": "INSTANCE with matching:\nT155 -> T182\nT156 -> T183\nX291 -> X336\nT161 -> .([], T181)\nX292 -> X337" 6.82/2.71 } 6.82/2.71 ], 6.82/2.71 "type": "Graph" 6.82/2.71 } 6.82/2.71 } 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (34) 6.82/2.71 Obligation: 6.82/2.71 Triples: 6.82/2.71 6.82/2.71 row2colA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), X6, X7) :- row2colA(X2, X4, X5, .([], X6), X7). 6.82/2.71 transpose_auxB(.(.(X1, .(X2, .(X3, .(X4, .(X5, .(X6, .(X7, .(X8, X9)))))))), X10), X11, .(.(X1, X12), .(.(X2, X13), .(.(X3, X14), .(.(X4, X15), .(.(X5, X16), .(.(X6, X17), .(.(X7, X18), .(.(X8, X19), X20))))))))) :- row2colA(X9, X20, X21, .([], .([], .([], .([], .([], .([], .([], []))))))), X22). 6.82/2.71 6.82/2.71 Clauses: 6.82/2.71 6.82/2.71 row2colcA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), X6, X7) :- row2colcA(X2, X4, X5, .([], X6), X7). 6.82/2.71 6.82/2.71 Afs: 6.82/2.71 6.82/2.71 transpose_auxB(x1, x2, x3) = transpose_auxB(x2) 6.82/2.71 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (35) TriplesToPiDPProof (SOUND) 6.82/2.71 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 6.82/2.71 6.82/2.71 transpose_auxB_in_3: (f,b,f) 6.82/2.71 6.82/2.71 row2colA_in_5: (f,f,f,b,f) 6.82/2.71 6.82/2.71 Transforming TRIPLES into the following Term Rewriting System: 6.82/2.71 6.82/2.71 Pi DP problem: 6.82/2.71 The TRS P consists of the following rules: 6.82/2.71 6.82/2.71 TRANSPOSE_AUXB_IN_AGA(.(.(X1, .(X2, .(X3, .(X4, .(X5, .(X6, .(X7, .(X8, X9)))))))), X10), X11, .(.(X1, X12), .(.(X2, X13), .(.(X3, X14), .(.(X4, X15), .(.(X5, X16), .(.(X6, X17), .(.(X7, X18), .(.(X8, X19), X20))))))))) -> U2_AGA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, row2colA_in_aaaga(X9, X20, X21, .([], .([], .([], .([], .([], .([], .([], []))))))), X22)) 6.82/2.71 TRANSPOSE_AUXB_IN_AGA(.(.(X1, .(X2, .(X3, .(X4, .(X5, .(X6, .(X7, .(X8, X9)))))))), X10), X11, .(.(X1, X12), .(.(X2, X13), .(.(X3, X14), .(.(X4, X15), .(.(X5, X16), .(.(X6, X17), .(.(X7, X18), .(.(X8, X19), X20))))))))) -> ROW2COLA_IN_AAAGA(X9, X20, X21, .([], .([], .([], .([], .([], .([], .([], []))))))), X22) 6.82/2.71 ROW2COLA_IN_AAAGA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), X6, X7) -> U1_AAAGA(X1, X2, X3, X4, X5, X6, X7, row2colA_in_aaaga(X2, X4, X5, .([], X6), X7)) 6.82/2.71 ROW2COLA_IN_AAAGA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), X6, X7) -> ROW2COLA_IN_AAAGA(X2, X4, X5, .([], X6), X7) 6.82/2.71 6.82/2.71 R is empty. 6.82/2.71 The argument filtering Pi contains the following mapping: 6.82/2.71 row2colA_in_aaaga(x1, x2, x3, x4, x5) = row2colA_in_aaaga(x4) 6.82/2.71 6.82/2.71 .(x1, x2) = .(x1, x2) 6.82/2.71 6.82/2.71 [] = [] 6.82/2.71 6.82/2.71 TRANSPOSE_AUXB_IN_AGA(x1, x2, x3) = TRANSPOSE_AUXB_IN_AGA(x2) 6.82/2.71 6.82/2.71 U2_AGA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) = U2_AGA(x11, x21) 6.82/2.71 6.82/2.71 ROW2COLA_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COLA_IN_AAAGA(x4) 6.82/2.71 6.82/2.71 U1_AAAGA(x1, x2, x3, x4, x5, x6, x7, x8) = U1_AAAGA(x6, x8) 6.82/2.71 6.82/2.71 6.82/2.71 We have to consider all (P,R,Pi)-chains 6.82/2.71 6.82/2.71 6.82/2.71 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 6.82/2.71 6.82/2.71 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (36) 6.82/2.71 Obligation: 6.82/2.71 Pi DP problem: 6.82/2.71 The TRS P consists of the following rules: 6.82/2.71 6.82/2.71 TRANSPOSE_AUXB_IN_AGA(.(.(X1, .(X2, .(X3, .(X4, .(X5, .(X6, .(X7, .(X8, X9)))))))), X10), X11, .(.(X1, X12), .(.(X2, X13), .(.(X3, X14), .(.(X4, X15), .(.(X5, X16), .(.(X6, X17), .(.(X7, X18), .(.(X8, X19), X20))))))))) -> U2_AGA(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, row2colA_in_aaaga(X9, X20, X21, .([], .([], .([], .([], .([], .([], .([], []))))))), X22)) 6.82/2.71 TRANSPOSE_AUXB_IN_AGA(.(.(X1, .(X2, .(X3, .(X4, .(X5, .(X6, .(X7, .(X8, X9)))))))), X10), X11, .(.(X1, X12), .(.(X2, X13), .(.(X3, X14), .(.(X4, X15), .(.(X5, X16), .(.(X6, X17), .(.(X7, X18), .(.(X8, X19), X20))))))))) -> ROW2COLA_IN_AAAGA(X9, X20, X21, .([], .([], .([], .([], .([], .([], .([], []))))))), X22) 6.82/2.71 ROW2COLA_IN_AAAGA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), X6, X7) -> U1_AAAGA(X1, X2, X3, X4, X5, X6, X7, row2colA_in_aaaga(X2, X4, X5, .([], X6), X7)) 6.82/2.71 ROW2COLA_IN_AAAGA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), X6, X7) -> ROW2COLA_IN_AAAGA(X2, X4, X5, .([], X6), X7) 6.82/2.71 6.82/2.71 R is empty. 6.82/2.71 The argument filtering Pi contains the following mapping: 6.82/2.71 row2colA_in_aaaga(x1, x2, x3, x4, x5) = row2colA_in_aaaga(x4) 6.82/2.71 6.82/2.71 .(x1, x2) = .(x1, x2) 6.82/2.71 6.82/2.71 [] = [] 6.82/2.71 6.82/2.71 TRANSPOSE_AUXB_IN_AGA(x1, x2, x3) = TRANSPOSE_AUXB_IN_AGA(x2) 6.82/2.71 6.82/2.71 U2_AGA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) = U2_AGA(x11, x21) 6.82/2.71 6.82/2.71 ROW2COLA_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COLA_IN_AAAGA(x4) 6.82/2.71 6.82/2.71 U1_AAAGA(x1, x2, x3, x4, x5, x6, x7, x8) = U1_AAAGA(x6, x8) 6.82/2.71 6.82/2.71 6.82/2.71 We have to consider all (P,R,Pi)-chains 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (37) DependencyGraphProof (EQUIVALENT) 6.82/2.71 The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 3 less nodes. 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (38) 6.82/2.71 Obligation: 6.82/2.71 Pi DP problem: 6.82/2.71 The TRS P consists of the following rules: 6.82/2.71 6.82/2.71 ROW2COLA_IN_AAAGA(.(X1, X2), .(.(X1, X3), X4), .(X3, X5), X6, X7) -> ROW2COLA_IN_AAAGA(X2, X4, X5, .([], X6), X7) 6.82/2.71 6.82/2.71 R is empty. 6.82/2.71 The argument filtering Pi contains the following mapping: 6.82/2.71 .(x1, x2) = .(x1, x2) 6.82/2.71 6.82/2.71 [] = [] 6.82/2.71 6.82/2.71 ROW2COLA_IN_AAAGA(x1, x2, x3, x4, x5) = ROW2COLA_IN_AAAGA(x4) 6.82/2.71 6.82/2.71 6.82/2.71 We have to consider all (P,R,Pi)-chains 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (39) PiDPToQDPProof (SOUND) 6.82/2.71 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (40) 6.82/2.71 Obligation: 6.82/2.71 Q DP problem: 6.82/2.71 The TRS P consists of the following rules: 6.82/2.71 6.82/2.71 ROW2COLA_IN_AAAGA(X6) -> ROW2COLA_IN_AAAGA(.([], X6)) 6.82/2.71 6.82/2.71 R is empty. 6.82/2.71 Q is empty. 6.82/2.71 We have to consider all (P,Q,R)-chains. 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (41) TransformationProof (EQUIVALENT) 6.82/2.71 By instantiating [LPAR04] the rule ROW2COLA_IN_AAAGA(X6) -> ROW2COLA_IN_AAAGA(.([], X6)) we obtained the following new rules [LPAR04]: 6.82/2.71 6.82/2.71 (ROW2COLA_IN_AAAGA(.([], z0)) -> ROW2COLA_IN_AAAGA(.([], .([], z0))),ROW2COLA_IN_AAAGA(.([], z0)) -> ROW2COLA_IN_AAAGA(.([], .([], z0)))) 6.82/2.71 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (42) 6.82/2.71 Obligation: 6.82/2.71 Q DP problem: 6.82/2.71 The TRS P consists of the following rules: 6.82/2.71 6.82/2.71 ROW2COLA_IN_AAAGA(.([], z0)) -> ROW2COLA_IN_AAAGA(.([], .([], z0))) 6.82/2.71 6.82/2.71 R is empty. 6.82/2.71 Q is empty. 6.82/2.71 We have to consider all (P,Q,R)-chains. 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (43) TransformationProof (EQUIVALENT) 6.82/2.71 By instantiating [LPAR04] the rule ROW2COLA_IN_AAAGA(.([], z0)) -> ROW2COLA_IN_AAAGA(.([], .([], z0))) we obtained the following new rules [LPAR04]: 6.82/2.71 6.82/2.71 (ROW2COLA_IN_AAAGA(.([], .([], z0))) -> ROW2COLA_IN_AAAGA(.([], .([], .([], z0)))),ROW2COLA_IN_AAAGA(.([], .([], z0))) -> ROW2COLA_IN_AAAGA(.([], .([], .([], z0))))) 6.82/2.71 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (44) 6.82/2.71 Obligation: 6.82/2.71 Q DP problem: 6.82/2.71 The TRS P consists of the following rules: 6.82/2.71 6.82/2.71 ROW2COLA_IN_AAAGA(.([], .([], z0))) -> ROW2COLA_IN_AAAGA(.([], .([], .([], z0)))) 6.82/2.71 6.82/2.71 R is empty. 6.82/2.71 Q is empty. 6.82/2.71 We have to consider all (P,Q,R)-chains. 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (45) NonTerminationLoopProof (COMPLETE) 6.82/2.71 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 6.82/2.71 Found a loop by semiunifying a rule from P directly. 6.82/2.71 6.82/2.71 s = ROW2COLA_IN_AAAGA(.([], .([], z0))) evaluates to t =ROW2COLA_IN_AAAGA(.([], .([], .([], z0)))) 6.82/2.71 6.82/2.71 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 6.82/2.71 * Matcher: [z0 / .([], z0)] 6.82/2.71 * Semiunifier: [ ] 6.82/2.71 6.82/2.71 -------------------------------------------------------------------------------- 6.82/2.71 Rewriting sequence 6.82/2.71 6.82/2.71 The DP semiunifies directly so there is only one rewrite step from ROW2COLA_IN_AAAGA(.([], .([], z0))) to ROW2COLA_IN_AAAGA(.([], .([], .([], z0)))). 6.82/2.71 6.82/2.71 6.82/2.71 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (46) 6.82/2.71 NO 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (47) PrologToIRSwTTransformerProof (SOUND) 6.82/2.71 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 6.82/2.71 6.82/2.71 { 6.82/2.71 "root": 2, 6.82/2.71 "program": { 6.82/2.71 "directives": [], 6.82/2.71 "clauses": [ 6.82/2.71 [ 6.82/2.71 "(transpose_aux (. R Rs) X1 (. C Cs))", 6.82/2.71 "(row2col R (. C Cs) Cols1 ([]) Accm)" 6.82/2.71 ], 6.82/2.71 [ 6.82/2.71 "(row2col (. X Xs) (. (. X Ys) Cols) (. Ys Cols1) A B)", 6.82/2.71 "(row2col Xs Cols Cols1 (. ([]) A) B)" 6.82/2.71 ] 6.82/2.71 ] 6.82/2.71 }, 6.82/2.71 "graph": { 6.82/2.71 "nodes": { 6.82/2.71 "171": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T38 T39 X55 (. ([]) ([])) X56)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X55", 6.82/2.71 "X56" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "193": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T74 T75 X127 (. ([]) (. ([]) (. ([]) ([])))) X128)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X127", 6.82/2.71 "X128" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "type": "Nodes", 6.82/2.71 "172": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "194": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "195": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 5, 6.82/2.71 "term": "(row2col T74 T75 X127 (. ([]) (. ([]) (. ([]) ([])))) X128)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X127", 6.82/2.71 "X128" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "196": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T92 T93 X163 (. ([]) (. ([]) (. ([]) (. ([]) ([]))))) X164)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X163", 6.82/2.71 "X164" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "175": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 3, 6.82/2.71 "term": "(row2col T38 T39 X55 (. ([]) ([])) X56)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X55", 6.82/2.71 "X56" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "197": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "198": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 6, 6.82/2.71 "term": "(row2col T92 T93 X163 (. ([]) (. ([]) (. ([]) (. ([]) ([]))))) X164)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X163", 6.82/2.71 "X164" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "199": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T110 T111 X199 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))) X200)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X199", 6.82/2.71 "X200" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "236": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T191 T192 X352 (. ([]) (. ([]) T190)) X353)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": ["T190"], 6.82/2.71 "free": [ 6.82/2.71 "X352", 6.82/2.71 "X353" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "215": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T146 T147 X271 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))))) X272)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X271", 6.82/2.71 "X272" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "237": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "216": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "217": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 9, 6.82/2.71 "term": "(row2col T146 T147 X271 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))))) X272)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X271", 6.82/2.71 "X272" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "52": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "39": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T19 (. T20 T21) X19 ([]) X20)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X19", 6.82/2.71 "X20" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "180": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T56 T57 X91 (. ([]) (. ([]) ([]))) X92)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X91", 6.82/2.71 "X92" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "181": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "185": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 4, 6.82/2.71 "term": "(row2col T56 T57 X91 (. ([]) (. ([]) ([]))) X92)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X91", 6.82/2.71 "X92" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "221": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T164 T165 X307 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([]))))))))) X308)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X307", 6.82/2.71 "X308" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "2": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(transpose_aux T1 T2 T3)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": ["T2"], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "167": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 2, 6.82/2.71 "term": "(row2col T19 (. T20 T21) X19 ([]) X20)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X19", 6.82/2.71 "X20" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "200": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "222": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "201": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 7, 6.82/2.71 "term": "(row2col T110 T111 X199 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))) X200)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X199", 6.82/2.71 "X200" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "204": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T128 T129 X235 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([]))))))) X236)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X235", 6.82/2.71 "X236" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "226": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T164 T165 X307 (. ([]) T170) X308)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": ["T170"], 6.82/2.71 "free": [ 6.82/2.71 "X307", 6.82/2.71 "X308" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "7": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 0, 6.82/2.71 "scope": 1, 6.82/2.71 "term": "(transpose_aux T1 T2 T3)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": ["T2"], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "205": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "227": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 10, 6.82/2.71 "term": "(row2col T164 T165 X307 (. ([]) T170) X308)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": ["T170"], 6.82/2.71 "free": [ 6.82/2.71 "X307", 6.82/2.71 "X308" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "207": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 8, 6.82/2.71 "term": "(row2col T128 T129 X235 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([]))))))) X236)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X235", 6.82/2.71 "X236" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "edges": [ 6.82/2.71 { 6.82/2.71 "from": 2, 6.82/2.71 "to": 7, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 7, 6.82/2.71 "to": 39, 6.82/2.71 "label": "EVAL with clause\ntranspose_aux(.(X14, X15), X16, .(X17, X18)) :- row2col(X14, .(X17, X18), X19, [], X20).\nand substitutionX14 -> T19,\nX15 -> T15,\nT1 -> .(T19, T15),\nT2 -> T16,\nX16 -> T16,\nX17 -> T20,\nX18 -> T21,\nT3 -> .(T20, T21),\nT14 -> T19,\nT17 -> T20,\nT18 -> T21" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 7, 6.82/2.71 "to": 52, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 39, 6.82/2.71 "to": 167, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 167, 6.82/2.71 "to": 171, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X48, X49), .(.(X48, X50), X51), .(X50, X52), X53, X54) :- row2col(X49, X51, X52, .([], X53), X54).\nand substitutionX48 -> T34,\nX49 -> T38,\nT19 -> .(T34, T38),\nX50 -> T36,\nT20 -> .(T34, T36),\nT21 -> T39,\nX51 -> T39,\nX52 -> X55,\nX19 -> .(T36, X55),\nX53 -> [],\nX20 -> X56,\nX54 -> X56,\nT35 -> T38,\nT37 -> T39" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 167, 6.82/2.71 "to": 172, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 171, 6.82/2.71 "to": 175, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 175, 6.82/2.71 "to": 180, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X84, X85), .(.(X84, X86), X87), .(X86, X88), X89, X90) :- row2col(X85, X87, X88, .([], X89), X90).\nand substitutionX84 -> T52,\nX85 -> T56,\nT38 -> .(T52, T56),\nX86 -> T54,\nX87 -> T57,\nT39 -> .(.(T52, T54), T57),\nX88 -> X91,\nX55 -> .(T54, X91),\nX89 -> .([], []),\nX56 -> X92,\nX90 -> X92,\nT53 -> T56,\nT55 -> T57" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 175, 6.82/2.71 "to": 181, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 180, 6.82/2.71 "to": 185, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 185, 6.82/2.71 "to": 193, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X120, X121), .(.(X120, X122), X123), .(X122, X124), X125, X126) :- row2col(X121, X123, X124, .([], X125), X126).\nand substitutionX120 -> T70,\nX121 -> T74,\nT56 -> .(T70, T74),\nX122 -> T72,\nX123 -> T75,\nT57 -> .(.(T70, T72), T75),\nX124 -> X127,\nX91 -> .(T72, X127),\nX125 -> .([], .([], [])),\nX92 -> X128,\nX126 -> X128,\nT71 -> T74,\nT73 -> T75" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 185, 6.82/2.71 "to": 194, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 193, 6.82/2.71 "to": 195, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 195, 6.82/2.71 "to": 196, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X156, X157), .(.(X156, X158), X159), .(X158, X160), X161, X162) :- row2col(X157, X159, X160, .([], X161), X162).\nand substitutionX156 -> T88,\nX157 -> T92,\nT74 -> .(T88, T92),\nX158 -> T90,\nX159 -> T93,\nT75 -> .(.(T88, T90), T93),\nX160 -> X163,\nX127 -> .(T90, X163),\nX161 -> .([], .([], .([], []))),\nX128 -> X164,\nX162 -> X164,\nT89 -> T92,\nT91 -> T93" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 195, 6.82/2.71 "to": 197, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 196, 6.82/2.71 "to": 198, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 198, 6.82/2.71 "to": 199, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X192, X193), .(.(X192, X194), X195), .(X194, X196), X197, X198) :- row2col(X193, X195, X196, .([], X197), X198).\nand substitutionX192 -> T106,\nX193 -> T110,\nT92 -> .(T106, T110),\nX194 -> T108,\nX195 -> T111,\nT93 -> .(.(T106, T108), T111),\nX196 -> X199,\nX163 -> .(T108, X199),\nX197 -> .([], .([], .([], .([], [])))),\nX164 -> X200,\nX198 -> X200,\nT107 -> T110,\nT109 -> T111" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 198, 6.82/2.71 "to": 200, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 199, 6.82/2.71 "to": 201, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 201, 6.82/2.71 "to": 204, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X228, X229), .(.(X228, X230), X231), .(X230, X232), X233, X234) :- row2col(X229, X231, X232, .([], X233), X234).\nand substitutionX228 -> T124,\nX229 -> T128,\nT110 -> .(T124, T128),\nX230 -> T126,\nX231 -> T129,\nT111 -> .(.(T124, T126), T129),\nX232 -> X235,\nX199 -> .(T126, X235),\nX233 -> .([], .([], .([], .([], .([], []))))),\nX200 -> X236,\nX234 -> X236,\nT125 -> T128,\nT127 -> T129" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 201, 6.82/2.71 "to": 205, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 204, 6.82/2.71 "to": 207, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 207, 6.82/2.71 "to": 215, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X264, X265), .(.(X264, X266), X267), .(X266, X268), X269, X270) :- row2col(X265, X267, X268, .([], X269), X270).\nand substitutionX264 -> T142,\nX265 -> T146,\nT128 -> .(T142, T146),\nX266 -> T144,\nX267 -> T147,\nT129 -> .(.(T142, T144), T147),\nX268 -> X271,\nX235 -> .(T144, X271),\nX269 -> .([], .([], .([], .([], .([], .([], [])))))),\nX236 -> X272,\nX270 -> X272,\nT143 -> T146,\nT145 -> T147" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 207, 6.82/2.71 "to": 216, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 215, 6.82/2.71 "to": 217, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 217, 6.82/2.71 "to": 221, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X300, X301), .(.(X300, X302), X303), .(X302, X304), X305, X306) :- row2col(X301, X303, X304, .([], X305), X306).\nand substitutionX300 -> T160,\nX301 -> T164,\nT146 -> .(T160, T164),\nX302 -> T162,\nX303 -> T165,\nT147 -> .(.(T160, T162), T165),\nX304 -> X307,\nX271 -> .(T162, X307),\nX305 -> .([], .([], .([], .([], .([], .([], .([], []))))))),\nX272 -> X308,\nX306 -> X308,\nT161 -> T164,\nT163 -> T165" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 217, 6.82/2.71 "to": 222, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 221, 6.82/2.71 "to": 226, 6.82/2.71 "label": "GENERALIZATION\nT170 <-- .([], .([], .([], .([], .([], .([], .([], [])))))))\n\nNew Knowledge:\nT170 is ground" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 226, 6.82/2.71 "to": 227, 6.82/2.71 "label": "CASE" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 227, 6.82/2.71 "to": 236, 6.82/2.71 "label": "EVAL with clause\nrow2col(.(X345, X346), .(.(X345, X347), X348), .(X347, X349), X350, X351) :- row2col(X346, X348, X349, .([], X350), X351).\nand substitutionX345 -> T186,\nX346 -> T191,\nT164 -> .(T186, T191),\nX347 -> T188,\nX348 -> T192,\nT165 -> .(.(T186, T188), T192),\nX349 -> X352,\nX307 -> .(T188, X352),\nT170 -> T190,\nX350 -> .([], T190),\nX308 -> X353,\nX351 -> X353,\nT187 -> T191,\nT189 -> T192" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 227, 6.82/2.71 "to": 237, 6.82/2.71 "label": "EVAL-BACKTRACK" 6.82/2.71 }, 6.82/2.71 { 6.82/2.71 "from": 236, 6.82/2.71 "to": 226, 6.82/2.71 "label": "INSTANCE with matching:\nT164 -> T191\nT165 -> T192\nX307 -> X352\nT170 -> .([], T190)\nX308 -> X353" 6.82/2.71 } 6.82/2.71 ], 6.82/2.71 "type": "Graph" 6.82/2.71 } 6.82/2.71 } 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (48) 6.82/2.71 Obligation: 6.82/2.71 Rules: 6.82/2.71 f237_out -> f227_out(T170) :|: TRUE 6.82/2.71 f227_in(x) -> f237_in :|: TRUE 6.82/2.71 f236_out(T190) -> f227_out(T190) :|: TRUE 6.82/2.71 f227_in(x1) -> f236_in(x1) :|: TRUE 6.82/2.71 f226_out(.([], x2)) -> f236_out(x2) :|: TRUE 6.82/2.71 f236_in(x3) -> f226_in(.([], x3)) :|: TRUE 6.82/2.71 f226_in(x4) -> f227_in(x4) :|: TRUE 6.82/2.71 f227_out(x5) -> f226_out(x5) :|: TRUE 6.82/2.71 f7_out(T2) -> f2_out(T2) :|: TRUE 6.82/2.71 f2_in(x6) -> f7_in(x6) :|: TRUE 6.82/2.71 f39_out -> f7_out(T16) :|: TRUE 6.82/2.71 f7_in(x7) -> f52_in :|: TRUE 6.82/2.71 f7_in(x8) -> f39_in :|: TRUE 6.82/2.71 f52_out -> f7_out(x9) :|: TRUE 6.82/2.71 f167_out -> f39_out :|: TRUE 6.82/2.71 f39_in -> f167_in :|: TRUE 6.82/2.71 f167_in -> f171_in :|: TRUE 6.82/2.71 f171_out -> f167_out :|: TRUE 6.82/2.71 f172_out -> f167_out :|: TRUE 6.82/2.71 f167_in -> f172_in :|: TRUE 6.82/2.71 f171_in -> f175_in :|: TRUE 6.82/2.71 f175_out -> f171_out :|: TRUE 6.82/2.71 f175_in -> f181_in :|: TRUE 6.82/2.71 f175_in -> f180_in :|: TRUE 6.82/2.71 f181_out -> f175_out :|: TRUE 6.82/2.71 f180_out -> f175_out :|: TRUE 6.82/2.71 f185_out -> f180_out :|: TRUE 6.82/2.71 f180_in -> f185_in :|: TRUE 6.82/2.71 f185_in -> f193_in :|: TRUE 6.82/2.71 f193_out -> f185_out :|: TRUE 6.82/2.71 f194_out -> f185_out :|: TRUE 6.82/2.71 f185_in -> f194_in :|: TRUE 6.82/2.71 f193_in -> f195_in :|: TRUE 6.82/2.71 f195_out -> f193_out :|: TRUE 6.82/2.71 f196_out -> f195_out :|: TRUE 6.82/2.71 f197_out -> f195_out :|: TRUE 6.82/2.71 f195_in -> f196_in :|: TRUE 6.82/2.71 f195_in -> f197_in :|: TRUE 6.82/2.71 f198_out -> f196_out :|: TRUE 6.82/2.71 f196_in -> f198_in :|: TRUE 6.82/2.71 f200_out -> f198_out :|: TRUE 6.82/2.71 f199_out -> f198_out :|: TRUE 6.82/2.71 f198_in -> f199_in :|: TRUE 6.82/2.71 f198_in -> f200_in :|: TRUE 6.82/2.71 f201_out -> f199_out :|: TRUE 6.82/2.71 f199_in -> f201_in :|: TRUE 6.82/2.71 f205_out -> f201_out :|: TRUE 6.82/2.71 f204_out -> f201_out :|: TRUE 6.82/2.71 f201_in -> f205_in :|: TRUE 6.82/2.71 f201_in -> f204_in :|: TRUE 6.82/2.71 f207_out -> f204_out :|: TRUE 6.82/2.71 f204_in -> f207_in :|: TRUE 6.82/2.71 f207_in -> f215_in :|: TRUE 6.82/2.71 f215_out -> f207_out :|: TRUE 6.82/2.71 f216_out -> f207_out :|: TRUE 6.82/2.71 f207_in -> f216_in :|: TRUE 6.82/2.71 f215_in -> f217_in :|: TRUE 6.82/2.71 f217_out -> f215_out :|: TRUE 6.82/2.71 f217_in -> f221_in :|: TRUE 6.82/2.71 f222_out -> f217_out :|: TRUE 6.82/2.71 f221_out -> f217_out :|: TRUE 6.82/2.71 f217_in -> f222_in :|: TRUE 6.82/2.71 f226_out(.([], .([], .([], .([], .([], .([], .([], [])))))))) -> f221_out :|: TRUE 6.82/2.71 f221_in -> f226_in(.([], .([], .([], .([], .([], .([], .([], [])))))))) :|: TRUE 6.82/2.71 Start term: f2_in(T2) 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (49) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 6.82/2.71 Constructed simple dependency graph. 6.82/2.71 6.82/2.71 Simplified to the following IRSwTs: 6.82/2.71 6.82/2.71 intTRSProblem: 6.82/2.71 f227_in(x1) -> f236_in(x1) :|: TRUE 6.82/2.71 f236_in(x3) -> f226_in(.([], x3)) :|: TRUE 6.82/2.71 f226_in(x4) -> f227_in(x4) :|: TRUE 6.82/2.71 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (50) 6.82/2.71 Obligation: 6.82/2.71 Rules: 6.82/2.71 f227_in(x1) -> f236_in(x1) :|: TRUE 6.82/2.71 f236_in(x3) -> f226_in(.([], x3)) :|: TRUE 6.82/2.71 f226_in(x4) -> f227_in(x4) :|: TRUE 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (51) IntTRSCompressionProof (EQUIVALENT) 6.82/2.71 Compressed rules. 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (52) 6.82/2.71 Obligation: 6.82/2.71 Rules: 6.82/2.71 f227_in(x1:0) -> f227_in(.([], x1:0)) :|: TRUE 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (53) IRSFormatTransformerProof (EQUIVALENT) 6.82/2.71 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (54) 6.82/2.71 Obligation: 6.82/2.71 Rules: 6.82/2.71 f227_in(x1:0) -> f227_in(.([], x1:0)) :|: TRUE 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (55) IRSwTTerminationDigraphProof (EQUIVALENT) 6.82/2.71 Constructed termination digraph! 6.82/2.71 Nodes: 6.82/2.71 (1) f227_in(x1:0) -> f227_in(.([], x1:0)) :|: TRUE 6.82/2.71 6.82/2.71 Arcs: 6.82/2.71 (1) -> (1) 6.82/2.71 6.82/2.71 This digraph is fully evaluated! 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (56) 6.82/2.71 Obligation: 6.82/2.71 6.82/2.71 Termination digraph: 6.82/2.71 Nodes: 6.82/2.71 (1) f227_in(x1:0) -> f227_in(.([], x1:0)) :|: TRUE 6.82/2.71 6.82/2.71 Arcs: 6.82/2.71 (1) -> (1) 6.82/2.71 6.82/2.71 This digraph is fully evaluated! 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (57) IRSwTToIntTRSProof (SOUND) 6.82/2.71 Applied path-length measure to transform intTRS with terms to intTRS. 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (58) 6.82/2.71 Obligation: 6.82/2.71 Rules: 6.82/2.71 f227_in(x) -> f227_in(.([], x)) :|: TRUE 6.82/2.71 6.82/2.71 ---------------------------------------- 6.82/2.71 6.82/2.71 (59) PrologToTRSTransformerProof (SOUND) 6.82/2.71 Transformed Prolog program to TRS. 6.82/2.71 6.82/2.71 { 6.82/2.71 "root": 3, 6.82/2.71 "program": { 6.82/2.71 "directives": [], 6.82/2.71 "clauses": [ 6.82/2.71 [ 6.82/2.71 "(transpose_aux (. R Rs) X1 (. C Cs))", 6.82/2.71 "(row2col R (. C Cs) Cols1 ([]) Accm)" 6.82/2.71 ], 6.82/2.71 [ 6.82/2.71 "(row2col (. X Xs) (. (. X Ys) Cols) (. Ys Cols1) A B)", 6.82/2.71 "(row2col Xs Cols Cols1 (. ([]) A) B)" 6.82/2.71 ] 6.82/2.71 ] 6.82/2.71 }, 6.82/2.71 "graph": { 6.82/2.71 "nodes": { 6.82/2.71 "190": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "192": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 4, 6.82/2.71 "term": "(row2col T56 T57 X91 (. ([]) (. ([]) ([]))) X92)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X91", 6.82/2.71 "X92" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "type": "Nodes", 6.82/2.71 "250": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "251": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 8, 6.82/2.71 "term": "(row2col T128 T129 X235 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([]))))))) X236)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X235", 6.82/2.71 "X236" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "252": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T146 T147 X271 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))))) X272)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X271", 6.82/2.71 "X272" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "253": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "177": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 2, 6.82/2.71 "term": "(row2col T19 (. T20 T21) X19 ([]) X20)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X19", 6.82/2.71 "X20" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "254": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": 1, 6.82/2.71 "scope": 9, 6.82/2.71 "term": "(row2col T146 T147 X271 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))))) X272)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X271", 6.82/2.71 "X272" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "255": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T164 T165 X307 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([]))))))))) X308)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [ 6.82/2.71 "X307", 6.82/2.71 "X308" 6.82/2.71 ], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "256": { 6.82/2.71 "goal": [], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": [], 6.82/2.71 "free": [], 6.82/2.71 "exprvars": [] 6.82/2.71 } 6.82/2.71 }, 6.82/2.71 "257": { 6.82/2.71 "goal": [{ 6.82/2.71 "clause": -1, 6.82/2.71 "scope": -1, 6.82/2.71 "term": "(row2col T164 T165 X307 (. ([]) T170) X308)" 6.82/2.71 }], 6.82/2.71 "kb": { 6.82/2.71 "nonunifying": [], 6.82/2.71 "intvars": {}, 6.82/2.71 "arithmetic": { 6.82/2.71 "type": "PlainIntegerRelationState", 6.82/2.71 "relations": [] 6.82/2.71 }, 6.82/2.71 "ground": ["T170"], 7.14/2.71 "free": [ 7.14/2.71 "X307", 7.14/2.71 "X308" 7.14/2.71 ], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "258": { 7.14/2.71 "goal": [{ 7.14/2.71 "clause": 1, 7.14/2.71 "scope": 10, 7.14/2.71 "term": "(row2col T164 T165 X307 (. ([]) T170) X308)" 7.14/2.71 }], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.71 "arithmetic": { 7.14/2.71 "type": "PlainIntegerRelationState", 7.14/2.71 "relations": [] 7.14/2.71 }, 7.14/2.71 "ground": ["T170"], 7.14/2.71 "free": [ 7.14/2.71 "X307", 7.14/2.71 "X308" 7.14/2.71 ], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "138": { 7.14/2.71 "goal": [{ 7.14/2.71 "clause": 0, 7.14/2.71 "scope": 1, 7.14/2.71 "term": "(transpose_aux T1 T2 T3)" 7.14/2.71 }], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.71 "arithmetic": { 7.14/2.71 "type": "PlainIntegerRelationState", 7.14/2.71 "relations": [] 7.14/2.71 }, 7.14/2.71 "ground": ["T2"], 7.14/2.71 "free": [], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "259": { 7.14/2.71 "goal": [{ 7.14/2.71 "clause": -1, 7.14/2.71 "scope": -1, 7.14/2.71 "term": "(row2col T191 T192 X352 (. ([]) (. ([]) T190)) X353)" 7.14/2.71 }], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.71 "arithmetic": { 7.14/2.71 "type": "PlainIntegerRelationState", 7.14/2.71 "relations": [] 7.14/2.71 }, 7.14/2.71 "ground": ["T190"], 7.14/2.71 "free": [ 7.14/2.71 "X352", 7.14/2.71 "X353" 7.14/2.71 ], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "238": { 7.14/2.71 "goal": [{ 7.14/2.71 "clause": 1, 7.14/2.71 "scope": 6, 7.14/2.71 "term": "(row2col T92 T93 X163 (. ([]) (. ([]) (. ([]) (. ([]) ([]))))) X164)" 7.14/2.71 }], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.71 "arithmetic": { 7.14/2.71 "type": "PlainIntegerRelationState", 7.14/2.71 "relations": [] 7.14/2.71 }, 7.14/2.71 "ground": [], 7.14/2.71 "free": [ 7.14/2.71 "X163", 7.14/2.71 "X164" 7.14/2.71 ], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "218": { 7.14/2.71 "goal": [{ 7.14/2.71 "clause": -1, 7.14/2.71 "scope": -1, 7.14/2.71 "term": "(row2col T74 T75 X127 (. ([]) (. ([]) (. ([]) ([])))) X128)" 7.14/2.71 }], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.71 "arithmetic": { 7.14/2.71 "type": "PlainIntegerRelationState", 7.14/2.71 "relations": [] 7.14/2.71 }, 7.14/2.71 "ground": [], 7.14/2.71 "free": [ 7.14/2.71 "X127", 7.14/2.71 "X128" 7.14/2.71 ], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "182": { 7.14/2.71 "goal": [{ 7.14/2.71 "clause": -1, 7.14/2.71 "scope": -1, 7.14/2.71 "term": "(row2col T38 T39 X55 (. ([]) ([])) X56)" 7.14/2.71 }], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.71 "arithmetic": { 7.14/2.71 "type": "PlainIntegerRelationState", 7.14/2.71 "relations": [] 7.14/2.71 }, 7.14/2.71 "ground": [], 7.14/2.71 "free": [ 7.14/2.71 "X55", 7.14/2.71 "X56" 7.14/2.71 ], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "183": { 7.14/2.71 "goal": [], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.71 "arithmetic": { 7.14/2.71 "type": "PlainIntegerRelationState", 7.14/2.71 "relations": [] 7.14/2.71 }, 7.14/2.71 "ground": [], 7.14/2.71 "free": [], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "260": { 7.14/2.71 "goal": [], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.71 "arithmetic": { 7.14/2.71 "type": "PlainIntegerRelationState", 7.14/2.71 "relations": [] 7.14/2.71 }, 7.14/2.71 "ground": [], 7.14/2.71 "free": [], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "240": { 7.14/2.71 "goal": [{ 7.14/2.71 "clause": -1, 7.14/2.71 "scope": -1, 7.14/2.71 "term": "(row2col T110 T111 X199 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))) X200)" 7.14/2.71 }], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.71 "arithmetic": { 7.14/2.71 "type": "PlainIntegerRelationState", 7.14/2.71 "relations": [] 7.14/2.71 }, 7.14/2.71 "ground": [], 7.14/2.71 "free": [ 7.14/2.71 "X199", 7.14/2.71 "X200" 7.14/2.71 ], 7.14/2.71 "exprvars": [] 7.14/2.71 } 7.14/2.71 }, 7.14/2.71 "186": { 7.14/2.71 "goal": [{ 7.14/2.71 "clause": 1, 7.14/2.71 "scope": 3, 7.14/2.71 "term": "(row2col T38 T39 X55 (. ([]) ([])) X56)" 7.14/2.71 }], 7.14/2.71 "kb": { 7.14/2.71 "nonunifying": [], 7.14/2.71 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [ 7.14/2.72 "X55", 7.14/2.72 "X56" 7.14/2.72 ], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "241": { 7.14/2.72 "goal": [], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "242": { 7.14/2.72 "goal": [{ 7.14/2.72 "clause": 1, 7.14/2.72 "scope": 7, 7.14/2.72 "term": "(row2col T110 T111 X199 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([])))))) X200)" 7.14/2.72 }], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [ 7.14/2.72 "X199", 7.14/2.72 "X200" 7.14/2.72 ], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "189": { 7.14/2.72 "goal": [{ 7.14/2.72 "clause": -1, 7.14/2.72 "scope": -1, 7.14/2.72 "term": "(row2col T56 T57 X91 (. ([]) (. ([]) ([]))) X92)" 7.14/2.72 }], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [ 7.14/2.72 "X91", 7.14/2.72 "X92" 7.14/2.72 ], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "3": { 7.14/2.72 "goal": [{ 7.14/2.72 "clause": -1, 7.14/2.72 "scope": -1, 7.14/2.72 "term": "(transpose_aux T1 T2 T3)" 7.14/2.72 }], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": ["T2"], 7.14/2.72 "free": [], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "146": { 7.14/2.72 "goal": [{ 7.14/2.72 "clause": -1, 7.14/2.72 "scope": -1, 7.14/2.72 "term": "(row2col T19 (. T20 T21) X19 ([]) X20)" 7.14/2.72 }], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [ 7.14/2.72 "X19", 7.14/2.72 "X20" 7.14/2.72 ], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "223": { 7.14/2.72 "goal": [], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "147": { 7.14/2.72 "goal": [], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "225": { 7.14/2.72 "goal": [{ 7.14/2.72 "clause": 1, 7.14/2.72 "scope": 5, 7.14/2.72 "term": "(row2col T74 T75 X127 (. ([]) (. ([]) (. ([]) ([])))) X128)" 7.14/2.72 }], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [ 7.14/2.72 "X127", 7.14/2.72 "X128" 7.14/2.72 ], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "249": { 7.14/2.72 "goal": [{ 7.14/2.72 "clause": -1, 7.14/2.72 "scope": -1, 7.14/2.72 "term": "(row2col T128 T129 X235 (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) (. ([]) ([]))))))) X236)" 7.14/2.72 }], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [ 7.14/2.72 "X235", 7.14/2.72 "X236" 7.14/2.72 ], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "228": { 7.14/2.72 "goal": [{ 7.14/2.72 "clause": -1, 7.14/2.72 "scope": -1, 7.14/2.72 "term": "(row2col T92 T93 X163 (. ([]) (. ([]) (. ([]) (. ([]) ([]))))) X164)" 7.14/2.72 }], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [ 7.14/2.72 "X163", 7.14/2.72 "X164" 7.14/2.72 ], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "229": { 7.14/2.72 "goal": [], 7.14/2.72 "kb": { 7.14/2.72 "nonunifying": [], 7.14/2.72 "intvars": {}, 7.14/2.72 "arithmetic": { 7.14/2.72 "type": "PlainIntegerRelationState", 7.14/2.72 "relations": [] 7.14/2.72 }, 7.14/2.72 "ground": [], 7.14/2.72 "free": [], 7.14/2.72 "exprvars": [] 7.14/2.72 } 7.14/2.72 } 7.14/2.72 }, 7.14/2.72 "edges": [ 7.14/2.72 { 7.14/2.72 "from": 3, 7.14/2.72 "to": 138, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 138, 7.14/2.72 "to": 146, 7.14/2.72 "label": "EVAL with clause\ntranspose_aux(.(X14, X15), X16, .(X17, X18)) :- row2col(X14, .(X17, X18), X19, [], X20).\nand substitutionX14 -> T19,\nX15 -> T15,\nT1 -> .(T19, T15),\nT2 -> T16,\nX16 -> T16,\nX17 -> T20,\nX18 -> T21,\nT3 -> .(T20, T21),\nT14 -> T19,\nT17 -> T20,\nT18 -> T21" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 138, 7.14/2.72 "to": 147, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 146, 7.14/2.72 "to": 177, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 177, 7.14/2.72 "to": 182, 7.14/2.72 "label": "EVAL with clause\nrow2col(.(X48, X49), .(.(X48, X50), X51), .(X50, X52), X53, X54) :- row2col(X49, X51, X52, .([], X53), X54).\nand substitutionX48 -> T34,\nX49 -> T38,\nT19 -> .(T34, T38),\nX50 -> T36,\nT20 -> .(T34, T36),\nT21 -> T39,\nX51 -> T39,\nX52 -> X55,\nX19 -> .(T36, X55),\nX53 -> [],\nX20 -> X56,\nX54 -> X56,\nT35 -> T38,\nT37 -> T39" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 177, 7.14/2.72 "to": 183, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 182, 7.14/2.72 "to": 186, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 186, 7.14/2.72 "to": 189, 7.14/2.72 "label": "EVAL with clause\nrow2col(.(X84, X85), .(.(X84, X86), X87), .(X86, X88), X89, X90) :- row2col(X85, X87, X88, .([], X89), X90).\nand substitutionX84 -> T52,\nX85 -> T56,\nT38 -> .(T52, T56),\nX86 -> T54,\nX87 -> T57,\nT39 -> .(.(T52, T54), T57),\nX88 -> X91,\nX55 -> .(T54, X91),\nX89 -> .([], []),\nX56 -> X92,\nX90 -> X92,\nT53 -> T56,\nT55 -> T57" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 186, 7.14/2.72 "to": 190, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 189, 7.14/2.72 "to": 192, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 192, 7.14/2.72 "to": 218, 7.14/2.72 "label": "EVAL with clause\nrow2col(.(X120, X121), .(.(X120, X122), X123), .(X122, X124), X125, X126) :- row2col(X121, X123, X124, .([], X125), X126).\nand substitutionX120 -> T70,\nX121 -> T74,\nT56 -> .(T70, T74),\nX122 -> T72,\nX123 -> T75,\nT57 -> .(.(T70, T72), T75),\nX124 -> X127,\nX91 -> .(T72, X127),\nX125 -> .([], .([], [])),\nX92 -> X128,\nX126 -> X128,\nT71 -> T74,\nT73 -> T75" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 192, 7.14/2.72 "to": 223, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 218, 7.14/2.72 "to": 225, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 225, 7.14/2.72 "to": 228, 7.14/2.72 "label": "EVAL with clause\nrow2col(.(X156, X157), .(.(X156, X158), X159), .(X158, X160), X161, X162) :- row2col(X157, X159, X160, .([], X161), X162).\nand substitutionX156 -> T88,\nX157 -> T92,\nT74 -> .(T88, T92),\nX158 -> T90,\nX159 -> T93,\nT75 -> .(.(T88, T90), T93),\nX160 -> X163,\nX127 -> .(T90, X163),\nX161 -> .([], .([], .([], []))),\nX128 -> X164,\nX162 -> X164,\nT89 -> T92,\nT91 -> T93" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 225, 7.14/2.72 "to": 229, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 228, 7.14/2.72 "to": 238, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 238, 7.14/2.72 "to": 240, 7.14/2.72 "label": "EVAL with clause\nrow2col(.(X192, X193), .(.(X192, X194), X195), .(X194, X196), X197, X198) :- row2col(X193, X195, X196, .([], X197), X198).\nand substitutionX192 -> T106,\nX193 -> T110,\nT92 -> .(T106, T110),\nX194 -> T108,\nX195 -> T111,\nT93 -> .(.(T106, T108), T111),\nX196 -> X199,\nX163 -> .(T108, X199),\nX197 -> .([], .([], .([], .([], [])))),\nX164 -> X200,\nX198 -> X200,\nT107 -> T110,\nT109 -> T111" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 238, 7.14/2.72 "to": 241, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 240, 7.14/2.72 "to": 242, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 242, 7.14/2.72 "to": 249, 7.14/2.72 "label": "EVAL with clause\nrow2col(.(X228, X229), .(.(X228, X230), X231), .(X230, X232), X233, X234) :- row2col(X229, X231, X232, .([], X233), X234).\nand substitutionX228 -> T124,\nX229 -> T128,\nT110 -> .(T124, T128),\nX230 -> T126,\nX231 -> T129,\nT111 -> .(.(T124, T126), T129),\nX232 -> X235,\nX199 -> .(T126, X235),\nX233 -> .([], .([], .([], .([], .([], []))))),\nX200 -> X236,\nX234 -> X236,\nT125 -> T128,\nT127 -> T129" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 242, 7.14/2.72 "to": 250, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 249, 7.14/2.72 "to": 251, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 251, 7.14/2.72 "to": 252, 7.14/2.72 "label": "EVAL with clause\nrow2col(.(X264, X265), .(.(X264, X266), X267), .(X266, X268), X269, X270) :- row2col(X265, X267, X268, .([], X269), X270).\nand substitutionX264 -> T142,\nX265 -> T146,\nT128 -> .(T142, T146),\nX266 -> T144,\nX267 -> T147,\nT129 -> .(.(T142, T144), T147),\nX268 -> X271,\nX235 -> .(T144, X271),\nX269 -> .([], .([], .([], .([], .([], .([], [])))))),\nX236 -> X272,\nX270 -> X272,\nT143 -> T146,\nT145 -> T147" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 251, 7.14/2.72 "to": 253, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 252, 7.14/2.72 "to": 254, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 254, 7.14/2.72 "to": 255, 7.14/2.72 "label": "EVAL with clause\nrow2col(.(X300, X301), .(.(X300, X302), X303), .(X302, X304), X305, X306) :- row2col(X301, X303, X304, .([], X305), X306).\nand substitutionX300 -> T160,\nX301 -> T164,\nT146 -> .(T160, T164),\nX302 -> T162,\nX303 -> T165,\nT147 -> .(.(T160, T162), T165),\nX304 -> X307,\nX271 -> .(T162, X307),\nX305 -> .([], .([], .([], .([], .([], .([], .([], []))))))),\nX272 -> X308,\nX306 -> X308,\nT161 -> T164,\nT163 -> T165" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 254, 7.14/2.72 "to": 256, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 255, 7.14/2.72 "to": 257, 7.14/2.72 "label": "GENERALIZATION\nT170 <-- .([], .([], .([], .([], .([], .([], .([], [])))))))\n\nNew Knowledge:\nT170 is ground" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 257, 7.14/2.72 "to": 258, 7.14/2.72 "label": "CASE" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 258, 7.14/2.72 "to": 259, 7.14/2.72 "label": "EVAL with clause\nrow2col(.(X345, X346), .(.(X345, X347), X348), .(X347, X349), X350, X351) :- row2col(X346, X348, X349, .([], X350), X351).\nand substitutionX345 -> T186,\nX346 -> T191,\nT164 -> .(T186, T191),\nX347 -> T188,\nX348 -> T192,\nT165 -> .(.(T186, T188), T192),\nX349 -> X352,\nX307 -> .(T188, X352),\nT170 -> T190,\nX350 -> .([], T190),\nX308 -> X353,\nX351 -> X353,\nT187 -> T191,\nT189 -> T192" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 258, 7.14/2.72 "to": 260, 7.14/2.72 "label": "EVAL-BACKTRACK" 7.14/2.72 }, 7.14/2.72 { 7.14/2.72 "from": 259, 7.14/2.72 "to": 257, 7.14/2.72 "label": "INSTANCE with matching:\nT164 -> T191\nT165 -> T192\nX307 -> X352\nT170 -> .([], T190)\nX308 -> X353" 7.14/2.72 } 7.14/2.72 ], 7.14/2.72 "type": "Graph" 7.14/2.72 } 7.14/2.72 } 7.14/2.72 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (60) 7.14/2.72 Obligation: 7.14/2.72 Q restricted rewrite system: 7.14/2.72 The TRS R consists of the following rules: 7.14/2.72 7.14/2.72 f3_in(T16) -> U1(f257_in(.([], .([], .([], .([], .([], .([], .([], [])))))))), T16) 7.14/2.72 U1(f257_out1(X308), T16) -> f3_out1 7.14/2.72 f257_in(T190) -> U2(f257_in(.([], T190)), T190) 7.14/2.72 U2(f257_out1(X353), T190) -> f257_out1(X353) 7.14/2.72 7.14/2.72 Q is empty. 7.14/2.72 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (61) AAECC Innermost (EQUIVALENT) 7.14/2.72 We have applied [NOC,AAECCNOC] to switch to innermost. The TRS R 1 is 7.14/2.72 f257_in(T190) -> U2(f257_in(.([], T190)), T190) 7.14/2.72 U2(f257_out1(X353), T190) -> f257_out1(X353) 7.14/2.72 7.14/2.72 The TRS R 2 is 7.14/2.72 f3_in(T16) -> U1(f257_in(.([], .([], .([], .([], .([], .([], .([], [])))))))), T16) 7.14/2.72 U1(f257_out1(X308), T16) -> f3_out1 7.14/2.72 7.14/2.72 The signature Sigma is {f3_in_1, U1_2, f3_out1} 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (62) 7.14/2.72 Obligation: 7.14/2.72 Q restricted rewrite system: 7.14/2.72 The TRS R consists of the following rules: 7.14/2.72 7.14/2.72 f3_in(T16) -> U1(f257_in(.([], .([], .([], .([], .([], .([], .([], [])))))))), T16) 7.14/2.72 U1(f257_out1(X308), T16) -> f3_out1 7.14/2.72 f257_in(T190) -> U2(f257_in(.([], T190)), T190) 7.14/2.72 U2(f257_out1(X353), T190) -> f257_out1(X353) 7.14/2.72 7.14/2.72 The set Q consists of the following terms: 7.14/2.72 7.14/2.72 f3_in(x0) 7.14/2.72 U1(f257_out1(x0), x1) 7.14/2.72 f257_in(x0) 7.14/2.72 U2(f257_out1(x0), x1) 7.14/2.72 7.14/2.72 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (63) DependencyPairsProof (EQUIVALENT) 7.14/2.72 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (64) 7.14/2.72 Obligation: 7.14/2.72 Q DP problem: 7.14/2.72 The TRS P consists of the following rules: 7.14/2.72 7.14/2.72 F3_IN(T16) -> U1^1(f257_in(.([], .([], .([], .([], .([], .([], .([], [])))))))), T16) 7.14/2.72 F3_IN(T16) -> F257_IN(.([], .([], .([], .([], .([], .([], .([], [])))))))) 7.14/2.72 F257_IN(T190) -> U2^1(f257_in(.([], T190)), T190) 7.14/2.72 F257_IN(T190) -> F257_IN(.([], T190)) 7.14/2.72 7.14/2.72 The TRS R consists of the following rules: 7.14/2.72 7.14/2.72 f3_in(T16) -> U1(f257_in(.([], .([], .([], .([], .([], .([], .([], [])))))))), T16) 7.14/2.72 U1(f257_out1(X308), T16) -> f3_out1 7.14/2.72 f257_in(T190) -> U2(f257_in(.([], T190)), T190) 7.14/2.72 U2(f257_out1(X353), T190) -> f257_out1(X353) 7.14/2.72 7.14/2.72 The set Q consists of the following terms: 7.14/2.72 7.14/2.72 f3_in(x0) 7.14/2.72 U1(f257_out1(x0), x1) 7.14/2.72 f257_in(x0) 7.14/2.72 U2(f257_out1(x0), x1) 7.14/2.72 7.14/2.72 We have to consider all minimal (P,Q,R)-chains. 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (65) DependencyGraphProof (EQUIVALENT) 7.14/2.72 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (66) 7.14/2.72 Obligation: 7.14/2.72 Q DP problem: 7.14/2.72 The TRS P consists of the following rules: 7.14/2.72 7.14/2.72 F257_IN(T190) -> F257_IN(.([], T190)) 7.14/2.72 7.14/2.72 The TRS R consists of the following rules: 7.14/2.72 7.14/2.72 f3_in(T16) -> U1(f257_in(.([], .([], .([], .([], .([], .([], .([], [])))))))), T16) 7.14/2.72 U1(f257_out1(X308), T16) -> f3_out1 7.14/2.72 f257_in(T190) -> U2(f257_in(.([], T190)), T190) 7.14/2.72 U2(f257_out1(X353), T190) -> f257_out1(X353) 7.14/2.72 7.14/2.72 The set Q consists of the following terms: 7.14/2.72 7.14/2.72 f3_in(x0) 7.14/2.72 U1(f257_out1(x0), x1) 7.14/2.72 f257_in(x0) 7.14/2.72 U2(f257_out1(x0), x1) 7.14/2.72 7.14/2.72 We have to consider all minimal (P,Q,R)-chains. 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (67) UsableRulesProof (EQUIVALENT) 7.14/2.72 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (68) 7.14/2.72 Obligation: 7.14/2.72 Q DP problem: 7.14/2.72 The TRS P consists of the following rules: 7.14/2.72 7.14/2.72 F257_IN(T190) -> F257_IN(.([], T190)) 7.14/2.72 7.14/2.72 R is empty. 7.14/2.72 The set Q consists of the following terms: 7.14/2.72 7.14/2.72 f3_in(x0) 7.14/2.72 U1(f257_out1(x0), x1) 7.14/2.72 f257_in(x0) 7.14/2.72 U2(f257_out1(x0), x1) 7.14/2.72 7.14/2.72 We have to consider all minimal (P,Q,R)-chains. 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (69) QReductionProof (EQUIVALENT) 7.14/2.72 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 7.14/2.72 7.14/2.72 f3_in(x0) 7.14/2.72 U1(f257_out1(x0), x1) 7.14/2.72 f257_in(x0) 7.14/2.72 U2(f257_out1(x0), x1) 7.14/2.72 7.14/2.72 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (70) 7.14/2.72 Obligation: 7.14/2.72 Q DP problem: 7.14/2.72 The TRS P consists of the following rules: 7.14/2.72 7.14/2.72 F257_IN(T190) -> F257_IN(.([], T190)) 7.14/2.72 7.14/2.72 R is empty. 7.14/2.72 Q is empty. 7.14/2.72 We have to consider all minimal (P,Q,R)-chains. 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (71) TransformationProof (EQUIVALENT) 7.14/2.72 By instantiating [LPAR04] the rule F257_IN(T190) -> F257_IN(.([], T190)) we obtained the following new rules [LPAR04]: 7.14/2.72 7.14/2.72 (F257_IN(.([], z0)) -> F257_IN(.([], .([], z0))),F257_IN(.([], z0)) -> F257_IN(.([], .([], z0)))) 7.14/2.72 7.14/2.72 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (72) 7.14/2.72 Obligation: 7.14/2.72 Q DP problem: 7.14/2.72 The TRS P consists of the following rules: 7.14/2.72 7.14/2.72 F257_IN(.([], z0)) -> F257_IN(.([], .([], z0))) 7.14/2.72 7.14/2.72 R is empty. 7.14/2.72 Q is empty. 7.14/2.72 We have to consider all minimal (P,Q,R)-chains. 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (73) TransformationProof (EQUIVALENT) 7.14/2.72 By instantiating [LPAR04] the rule F257_IN(.([], z0)) -> F257_IN(.([], .([], z0))) we obtained the following new rules [LPAR04]: 7.14/2.72 7.14/2.72 (F257_IN(.([], .([], z0))) -> F257_IN(.([], .([], .([], z0)))),F257_IN(.([], .([], z0))) -> F257_IN(.([], .([], .([], z0))))) 7.14/2.72 7.14/2.72 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (74) 7.14/2.72 Obligation: 7.14/2.72 Q DP problem: 7.14/2.72 The TRS P consists of the following rules: 7.14/2.72 7.14/2.72 F257_IN(.([], .([], z0))) -> F257_IN(.([], .([], .([], z0)))) 7.14/2.72 7.14/2.72 R is empty. 7.14/2.72 Q is empty. 7.14/2.72 We have to consider all minimal (P,Q,R)-chains. 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (75) NonTerminationLoopProof (COMPLETE) 7.14/2.72 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 7.14/2.72 Found a loop by semiunifying a rule from P directly. 7.14/2.72 7.14/2.72 s = F257_IN(.([], .([], z0))) evaluates to t =F257_IN(.([], .([], .([], z0)))) 7.14/2.72 7.14/2.72 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 7.14/2.72 * Matcher: [z0 / .([], z0)] 7.14/2.72 * Semiunifier: [ ] 7.14/2.72 7.14/2.72 -------------------------------------------------------------------------------- 7.14/2.72 Rewriting sequence 7.14/2.72 7.14/2.72 The DP semiunifies directly so there is only one rewrite step from F257_IN(.([], .([], z0))) to F257_IN(.([], .([], .([], z0)))). 7.14/2.72 7.14/2.72 7.14/2.72 7.14/2.72 7.14/2.72 ---------------------------------------- 7.14/2.72 7.14/2.72 (76) 7.14/2.72 NO 7.14/2.76 EOF