(0) Obligation:
Clauses:
goal(A, B, C) :- ','(s2l(A, D), applast(D, B, C)).
applast(L, X, Last) :- ','(app(L, .(X, []), LX), last(Last, LX)).
last(X, .(X, [])) :- !.
last(X, Y) :- ','(tail(Y, T), last(X, T)).
app([], Y, Z) :- ','(!, eq(Y, Z)).
app(X, Y, .(H, Z)) :- ','(head(X, H), ','(tail(X, T), app(T, Y, Z))).
s2l(0, L) :- ','(!, eq(L, [])).
s2l(X, .(X1, Xs)) :- ','(p(X, P), s2l(P, Xs)).
head([], X2).
head(.(X, X3), X).
tail([], []).
tail(.(X4, Xs), Xs).
p(0, 0).
p(s(X), X).
eq(X, X).
Queries:
goal(g,a,a).
(1) PrologToDTProblemTransformerProof (SOUND transformation)
Built DT problem from termination graph.
(2) Obligation:
Triples:
last29(T66) :- last29(T66).
last13(T57, []) :- last29(T57).
last13(T80, .(T78, T81)) :- last13(T80, T81).
s2l46(s(T95), .(X182, X183)) :- s2l46(T95, X183).
app72([], T172, .(X352, X339)) :- app12(T172, X339).
app72(.(T194, T196), T197, .(T194, X339)) :- app72(T196, T197, X339).
goal1(0, T27, T28) :- app12(T27, X51).
goal1(0, T27, T31) :- ','(appc12(T27, T30), last13(T31, T30)).
goal1(s(T88), T10, T11) :- s2l46(T88, X141).
goal1(s(T88), T151, T115) :- ','(s2lc46(T88, T150), app72(T150, T151, X268)).
goal1(s(T88), T114, T120) :- ','(s2lc46(T88, T113), ','(appc62(T118, T113, T114, T119), last13(T120, T119))).
Clauses:
lastc29(T66) :- lastc29(T66).
lastc13(T44, .(T44, [])).
lastc13(T57, []) :- lastc29(T57).
lastc13(T80, .(T78, T81)) :- lastc13(T80, T81).
s2lc46(0, []).
s2lc46(s(T95), .(X182, X183)) :- s2lc46(T95, X183).
appc12(T40, .(T40, [])).
appc72([], T159, .(T159, [])).
appc72([], T172, .(X352, X339)) :- appc12(T172, X339).
appc72(.(T194, T196), T197, .(T194, X339)) :- appc72(T196, T197, X339).
appc62(X299, T150, T151, .(X299, X268)) :- appc72(T150, T151, X268).
Afs:
goal1(x1, x2, x3) = goal1(x1)
(3) UndefinedPredicateInTriplesTransformerProof (SOUND transformation)
Deleted triples and predicates having undefined goals [UNKNOWN].
(4) Obligation:
Triples:
last29(T66) :- last29(T66).
last13(T57, []) :- last29(T57).
last13(T80, .(T78, T81)) :- last13(T80, T81).
s2l46(s(T95), .(X182, X183)) :- s2l46(T95, X183).
app72(.(T194, T196), T197, .(T194, X339)) :- app72(T196, T197, X339).
goal1(0, T27, T31) :- ','(appc12(T27, T30), last13(T31, T30)).
goal1(s(T88), T10, T11) :- s2l46(T88, X141).
goal1(s(T88), T151, T115) :- ','(s2lc46(T88, T150), app72(T150, T151, X268)).
goal1(s(T88), T114, T120) :- ','(s2lc46(T88, T113), ','(appc62(T118, T113, T114, T119), last13(T120, T119))).
Clauses:
lastc29(T66) :- lastc29(T66).
lastc13(T44, .(T44, [])).
lastc13(T57, []) :- lastc29(T57).
lastc13(T80, .(T78, T81)) :- lastc13(T80, T81).
s2lc46(0, []).
s2lc46(s(T95), .(X182, X183)) :- s2lc46(T95, X183).
appc12(T40, .(T40, [])).
appc72([], T159, .(T159, [])).
appc72([], T172, .(X352, X339)) :- appc12(T172, X339).
appc72(.(T194, T196), T197, .(T194, X339)) :- appc72(T196, T197, X339).
appc62(X299, T150, T151, .(X299, X268)) :- appc72(T150, T151, X268).
Afs:
goal1(x1, x2, x3) = goal1(x1)
(5) TriplesToPiDPProof (SOUND transformation)
We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
goal1_in: (b,f,f)
last13_in: (f,b)
last29_in: (f)
s2l46_in: (b,f)
s2lc46_in: (b,f)
app72_in: (b,f,f)
appc62_in: (f,b,f,f)
appc72_in: (b,f,f)
Transforming
TRIPLES into the following
Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:
GOAL1_IN_GAA(0, T27, T31) → U6_GAA(T27, T31, appc12_in_aa(T27, T30))
U6_GAA(T27, T31, appc12_out_aa(T27, T30)) → U7_GAA(T27, T31, last13_in_ag(T31, T30))
U6_GAA(T27, T31, appc12_out_aa(T27, T30)) → LAST13_IN_AG(T31, T30)
LAST13_IN_AG(T57, []) → U2_AG(T57, last29_in_a(T57))
LAST13_IN_AG(T57, []) → LAST29_IN_A(T57)
LAST29_IN_A(T66) → U1_A(T66, last29_in_a(T66))
LAST29_IN_A(T66) → LAST29_IN_A(T66)
LAST13_IN_AG(T80, .(T78, T81)) → U3_AG(T80, T78, T81, last13_in_ag(T80, T81))
LAST13_IN_AG(T80, .(T78, T81)) → LAST13_IN_AG(T80, T81)
GOAL1_IN_GAA(s(T88), T10, T11) → U8_GAA(T88, T10, T11, s2l46_in_ga(T88, X141))
GOAL1_IN_GAA(s(T88), T10, T11) → S2L46_IN_GA(T88, X141)
S2L46_IN_GA(s(T95), .(X182, X183)) → U4_GA(T95, X182, X183, s2l46_in_ga(T95, X183))
S2L46_IN_GA(s(T95), .(X182, X183)) → S2L46_IN_GA(T95, X183)
GOAL1_IN_GAA(s(T88), T151, T115) → U9_GAA(T88, T151, T115, s2lc46_in_ga(T88, T150))
U9_GAA(T88, T151, T115, s2lc46_out_ga(T88, T150)) → U10_GAA(T88, T151, T115, app72_in_gaa(T150, T151, X268))
U9_GAA(T88, T151, T115, s2lc46_out_ga(T88, T150)) → APP72_IN_GAA(T150, T151, X268)
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → U5_GAA(T194, T196, T197, X339, app72_in_gaa(T196, T197, X339))
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → APP72_IN_GAA(T196, T197, X339)
GOAL1_IN_GAA(s(T88), T114, T120) → U11_GAA(T88, T114, T120, s2lc46_in_ga(T88, T113))
U11_GAA(T88, T114, T120, s2lc46_out_ga(T88, T113)) → U12_GAA(T88, T114, T120, appc62_in_agaa(T118, T113, T114, T119))
U12_GAA(T88, T114, T120, appc62_out_agaa(T118, T113, T114, T119)) → U13_GAA(T88, T114, T120, last13_in_ag(T120, T119))
U12_GAA(T88, T114, T120, appc62_out_agaa(T118, T113, T114, T119)) → LAST13_IN_AG(T120, T119)
The TRS R consists of the following rules:
appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))
The argument filtering Pi contains the following mapping:
0 =
0
appc12_in_aa(
x1,
x2) =
appc12_in_aa
appc12_out_aa(
x1,
x2) =
appc12_out_aa(
x2)
.(
x1,
x2) =
.(
x2)
last13_in_ag(
x1,
x2) =
last13_in_ag(
x2)
[] =
[]
last29_in_a(
x1) =
last29_in_a
s(
x1) =
s(
x1)
s2l46_in_ga(
x1,
x2) =
s2l46_in_ga(
x1)
s2lc46_in_ga(
x1,
x2) =
s2lc46_in_ga(
x1)
s2lc46_out_ga(
x1,
x2) =
s2lc46_out_ga(
x1,
x2)
U18_ga(
x1,
x2,
x3,
x4) =
U18_ga(
x1,
x4)
app72_in_gaa(
x1,
x2,
x3) =
app72_in_gaa(
x1)
appc62_in_agaa(
x1,
x2,
x3,
x4) =
appc62_in_agaa(
x2)
U21_agaa(
x1,
x2,
x3,
x4,
x5) =
U21_agaa(
x2,
x5)
appc72_in_gaa(
x1,
x2,
x3) =
appc72_in_gaa(
x1)
appc72_out_gaa(
x1,
x2,
x3) =
appc72_out_gaa(
x1,
x3)
U19_gaa(
x1,
x2,
x3,
x4) =
U19_gaa(
x4)
U20_gaa(
x1,
x2,
x3,
x4,
x5) =
U20_gaa(
x2,
x5)
appc62_out_agaa(
x1,
x2,
x3,
x4) =
appc62_out_agaa(
x2,
x4)
GOAL1_IN_GAA(
x1,
x2,
x3) =
GOAL1_IN_GAA(
x1)
U6_GAA(
x1,
x2,
x3) =
U6_GAA(
x3)
U7_GAA(
x1,
x2,
x3) =
U7_GAA(
x3)
LAST13_IN_AG(
x1,
x2) =
LAST13_IN_AG(
x2)
U2_AG(
x1,
x2) =
U2_AG(
x2)
LAST29_IN_A(
x1) =
LAST29_IN_A
U1_A(
x1,
x2) =
U1_A(
x2)
U3_AG(
x1,
x2,
x3,
x4) =
U3_AG(
x3,
x4)
U8_GAA(
x1,
x2,
x3,
x4) =
U8_GAA(
x1,
x4)
S2L46_IN_GA(
x1,
x2) =
S2L46_IN_GA(
x1)
U4_GA(
x1,
x2,
x3,
x4) =
U4_GA(
x1,
x4)
U9_GAA(
x1,
x2,
x3,
x4) =
U9_GAA(
x1,
x4)
U10_GAA(
x1,
x2,
x3,
x4) =
U10_GAA(
x1,
x4)
APP72_IN_GAA(
x1,
x2,
x3) =
APP72_IN_GAA(
x1)
U5_GAA(
x1,
x2,
x3,
x4,
x5) =
U5_GAA(
x2,
x5)
U11_GAA(
x1,
x2,
x3,
x4) =
U11_GAA(
x1,
x4)
U12_GAA(
x1,
x2,
x3,
x4) =
U12_GAA(
x1,
x4)
U13_GAA(
x1,
x2,
x3,
x4) =
U13_GAA(
x1,
x4)
We have to consider all (P,R,Pi)-chains
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
(6) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
GOAL1_IN_GAA(0, T27, T31) → U6_GAA(T27, T31, appc12_in_aa(T27, T30))
U6_GAA(T27, T31, appc12_out_aa(T27, T30)) → U7_GAA(T27, T31, last13_in_ag(T31, T30))
U6_GAA(T27, T31, appc12_out_aa(T27, T30)) → LAST13_IN_AG(T31, T30)
LAST13_IN_AG(T57, []) → U2_AG(T57, last29_in_a(T57))
LAST13_IN_AG(T57, []) → LAST29_IN_A(T57)
LAST29_IN_A(T66) → U1_A(T66, last29_in_a(T66))
LAST29_IN_A(T66) → LAST29_IN_A(T66)
LAST13_IN_AG(T80, .(T78, T81)) → U3_AG(T80, T78, T81, last13_in_ag(T80, T81))
LAST13_IN_AG(T80, .(T78, T81)) → LAST13_IN_AG(T80, T81)
GOAL1_IN_GAA(s(T88), T10, T11) → U8_GAA(T88, T10, T11, s2l46_in_ga(T88, X141))
GOAL1_IN_GAA(s(T88), T10, T11) → S2L46_IN_GA(T88, X141)
S2L46_IN_GA(s(T95), .(X182, X183)) → U4_GA(T95, X182, X183, s2l46_in_ga(T95, X183))
S2L46_IN_GA(s(T95), .(X182, X183)) → S2L46_IN_GA(T95, X183)
GOAL1_IN_GAA(s(T88), T151, T115) → U9_GAA(T88, T151, T115, s2lc46_in_ga(T88, T150))
U9_GAA(T88, T151, T115, s2lc46_out_ga(T88, T150)) → U10_GAA(T88, T151, T115, app72_in_gaa(T150, T151, X268))
U9_GAA(T88, T151, T115, s2lc46_out_ga(T88, T150)) → APP72_IN_GAA(T150, T151, X268)
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → U5_GAA(T194, T196, T197, X339, app72_in_gaa(T196, T197, X339))
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → APP72_IN_GAA(T196, T197, X339)
GOAL1_IN_GAA(s(T88), T114, T120) → U11_GAA(T88, T114, T120, s2lc46_in_ga(T88, T113))
U11_GAA(T88, T114, T120, s2lc46_out_ga(T88, T113)) → U12_GAA(T88, T114, T120, appc62_in_agaa(T118, T113, T114, T119))
U12_GAA(T88, T114, T120, appc62_out_agaa(T118, T113, T114, T119)) → U13_GAA(T88, T114, T120, last13_in_ag(T120, T119))
U12_GAA(T88, T114, T120, appc62_out_agaa(T118, T113, T114, T119)) → LAST13_IN_AG(T120, T119)
The TRS R consists of the following rules:
appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))
The argument filtering Pi contains the following mapping:
0 =
0
appc12_in_aa(
x1,
x2) =
appc12_in_aa
appc12_out_aa(
x1,
x2) =
appc12_out_aa(
x2)
.(
x1,
x2) =
.(
x2)
last13_in_ag(
x1,
x2) =
last13_in_ag(
x2)
[] =
[]
last29_in_a(
x1) =
last29_in_a
s(
x1) =
s(
x1)
s2l46_in_ga(
x1,
x2) =
s2l46_in_ga(
x1)
s2lc46_in_ga(
x1,
x2) =
s2lc46_in_ga(
x1)
s2lc46_out_ga(
x1,
x2) =
s2lc46_out_ga(
x1,
x2)
U18_ga(
x1,
x2,
x3,
x4) =
U18_ga(
x1,
x4)
app72_in_gaa(
x1,
x2,
x3) =
app72_in_gaa(
x1)
appc62_in_agaa(
x1,
x2,
x3,
x4) =
appc62_in_agaa(
x2)
U21_agaa(
x1,
x2,
x3,
x4,
x5) =
U21_agaa(
x2,
x5)
appc72_in_gaa(
x1,
x2,
x3) =
appc72_in_gaa(
x1)
appc72_out_gaa(
x1,
x2,
x3) =
appc72_out_gaa(
x1,
x3)
U19_gaa(
x1,
x2,
x3,
x4) =
U19_gaa(
x4)
U20_gaa(
x1,
x2,
x3,
x4,
x5) =
U20_gaa(
x2,
x5)
appc62_out_agaa(
x1,
x2,
x3,
x4) =
appc62_out_agaa(
x2,
x4)
GOAL1_IN_GAA(
x1,
x2,
x3) =
GOAL1_IN_GAA(
x1)
U6_GAA(
x1,
x2,
x3) =
U6_GAA(
x3)
U7_GAA(
x1,
x2,
x3) =
U7_GAA(
x3)
LAST13_IN_AG(
x1,
x2) =
LAST13_IN_AG(
x2)
U2_AG(
x1,
x2) =
U2_AG(
x2)
LAST29_IN_A(
x1) =
LAST29_IN_A
U1_A(
x1,
x2) =
U1_A(
x2)
U3_AG(
x1,
x2,
x3,
x4) =
U3_AG(
x3,
x4)
U8_GAA(
x1,
x2,
x3,
x4) =
U8_GAA(
x1,
x4)
S2L46_IN_GA(
x1,
x2) =
S2L46_IN_GA(
x1)
U4_GA(
x1,
x2,
x3,
x4) =
U4_GA(
x1,
x4)
U9_GAA(
x1,
x2,
x3,
x4) =
U9_GAA(
x1,
x4)
U10_GAA(
x1,
x2,
x3,
x4) =
U10_GAA(
x1,
x4)
APP72_IN_GAA(
x1,
x2,
x3) =
APP72_IN_GAA(
x1)
U5_GAA(
x1,
x2,
x3,
x4,
x5) =
U5_GAA(
x2,
x5)
U11_GAA(
x1,
x2,
x3,
x4) =
U11_GAA(
x1,
x4)
U12_GAA(
x1,
x2,
x3,
x4) =
U12_GAA(
x1,
x4)
U13_GAA(
x1,
x2,
x3,
x4) =
U13_GAA(
x1,
x4)
We have to consider all (P,R,Pi)-chains
(7) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 18 less nodes.
(8) Complex Obligation (AND)
(9) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → APP72_IN_GAA(T196, T197, X339)
The TRS R consists of the following rules:
appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))
The argument filtering Pi contains the following mapping:
0 =
0
appc12_in_aa(
x1,
x2) =
appc12_in_aa
appc12_out_aa(
x1,
x2) =
appc12_out_aa(
x2)
.(
x1,
x2) =
.(
x2)
[] =
[]
s(
x1) =
s(
x1)
s2lc46_in_ga(
x1,
x2) =
s2lc46_in_ga(
x1)
s2lc46_out_ga(
x1,
x2) =
s2lc46_out_ga(
x1,
x2)
U18_ga(
x1,
x2,
x3,
x4) =
U18_ga(
x1,
x4)
appc62_in_agaa(
x1,
x2,
x3,
x4) =
appc62_in_agaa(
x2)
U21_agaa(
x1,
x2,
x3,
x4,
x5) =
U21_agaa(
x2,
x5)
appc72_in_gaa(
x1,
x2,
x3) =
appc72_in_gaa(
x1)
appc72_out_gaa(
x1,
x2,
x3) =
appc72_out_gaa(
x1,
x3)
U19_gaa(
x1,
x2,
x3,
x4) =
U19_gaa(
x4)
U20_gaa(
x1,
x2,
x3,
x4,
x5) =
U20_gaa(
x2,
x5)
appc62_out_agaa(
x1,
x2,
x3,
x4) =
appc62_out_agaa(
x2,
x4)
APP72_IN_GAA(
x1,
x2,
x3) =
APP72_IN_GAA(
x1)
We have to consider all (P,R,Pi)-chains
(10) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(11) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
APP72_IN_GAA(.(T194, T196), T197, .(T194, X339)) → APP72_IN_GAA(T196, T197, X339)
R is empty.
The argument filtering Pi contains the following mapping:
.(
x1,
x2) =
.(
x2)
APP72_IN_GAA(
x1,
x2,
x3) =
APP72_IN_GAA(
x1)
We have to consider all (P,R,Pi)-chains
(12) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(13) Obligation:
Q DP problem:
The TRS P consists of the following rules:
APP72_IN_GAA(.(T196)) → APP72_IN_GAA(T196)
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(14) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- APP72_IN_GAA(.(T196)) → APP72_IN_GAA(T196)
The graph contains the following edges 1 > 1
(15) YES
(16) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
S2L46_IN_GA(s(T95), .(X182, X183)) → S2L46_IN_GA(T95, X183)
The TRS R consists of the following rules:
appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))
The argument filtering Pi contains the following mapping:
0 =
0
appc12_in_aa(
x1,
x2) =
appc12_in_aa
appc12_out_aa(
x1,
x2) =
appc12_out_aa(
x2)
.(
x1,
x2) =
.(
x2)
[] =
[]
s(
x1) =
s(
x1)
s2lc46_in_ga(
x1,
x2) =
s2lc46_in_ga(
x1)
s2lc46_out_ga(
x1,
x2) =
s2lc46_out_ga(
x1,
x2)
U18_ga(
x1,
x2,
x3,
x4) =
U18_ga(
x1,
x4)
appc62_in_agaa(
x1,
x2,
x3,
x4) =
appc62_in_agaa(
x2)
U21_agaa(
x1,
x2,
x3,
x4,
x5) =
U21_agaa(
x2,
x5)
appc72_in_gaa(
x1,
x2,
x3) =
appc72_in_gaa(
x1)
appc72_out_gaa(
x1,
x2,
x3) =
appc72_out_gaa(
x1,
x3)
U19_gaa(
x1,
x2,
x3,
x4) =
U19_gaa(
x4)
U20_gaa(
x1,
x2,
x3,
x4,
x5) =
U20_gaa(
x2,
x5)
appc62_out_agaa(
x1,
x2,
x3,
x4) =
appc62_out_agaa(
x2,
x4)
S2L46_IN_GA(
x1,
x2) =
S2L46_IN_GA(
x1)
We have to consider all (P,R,Pi)-chains
(17) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(18) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
S2L46_IN_GA(s(T95), .(X182, X183)) → S2L46_IN_GA(T95, X183)
R is empty.
The argument filtering Pi contains the following mapping:
.(
x1,
x2) =
.(
x2)
s(
x1) =
s(
x1)
S2L46_IN_GA(
x1,
x2) =
S2L46_IN_GA(
x1)
We have to consider all (P,R,Pi)-chains
(19) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(20) Obligation:
Q DP problem:
The TRS P consists of the following rules:
S2L46_IN_GA(s(T95)) → S2L46_IN_GA(T95)
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(21) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- S2L46_IN_GA(s(T95)) → S2L46_IN_GA(T95)
The graph contains the following edges 1 > 1
(22) YES
(23) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LAST29_IN_A(T66) → LAST29_IN_A(T66)
The TRS R consists of the following rules:
appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))
The argument filtering Pi contains the following mapping:
0 =
0
appc12_in_aa(
x1,
x2) =
appc12_in_aa
appc12_out_aa(
x1,
x2) =
appc12_out_aa(
x2)
.(
x1,
x2) =
.(
x2)
[] =
[]
s(
x1) =
s(
x1)
s2lc46_in_ga(
x1,
x2) =
s2lc46_in_ga(
x1)
s2lc46_out_ga(
x1,
x2) =
s2lc46_out_ga(
x1,
x2)
U18_ga(
x1,
x2,
x3,
x4) =
U18_ga(
x1,
x4)
appc62_in_agaa(
x1,
x2,
x3,
x4) =
appc62_in_agaa(
x2)
U21_agaa(
x1,
x2,
x3,
x4,
x5) =
U21_agaa(
x2,
x5)
appc72_in_gaa(
x1,
x2,
x3) =
appc72_in_gaa(
x1)
appc72_out_gaa(
x1,
x2,
x3) =
appc72_out_gaa(
x1,
x3)
U19_gaa(
x1,
x2,
x3,
x4) =
U19_gaa(
x4)
U20_gaa(
x1,
x2,
x3,
x4,
x5) =
U20_gaa(
x2,
x5)
appc62_out_agaa(
x1,
x2,
x3,
x4) =
appc62_out_agaa(
x2,
x4)
LAST29_IN_A(
x1) =
LAST29_IN_A
We have to consider all (P,R,Pi)-chains
(24) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(25) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LAST29_IN_A(T66) → LAST29_IN_A(T66)
R is empty.
The argument filtering Pi contains the following mapping:
LAST29_IN_A(
x1) =
LAST29_IN_A
We have to consider all (P,R,Pi)-chains
(26) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(27) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LAST29_IN_A → LAST29_IN_A
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(28) NonTerminationProof (EQUIVALENT transformation)
We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.
s =
LAST29_IN_A evaluates to t =
LAST29_IN_AThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Semiunifier: [ ]
- Matcher: [ ]
Rewriting sequenceThe DP semiunifies directly so there is only one rewrite step from LAST29_IN_A to LAST29_IN_A.
(29) NO
(30) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LAST13_IN_AG(T80, .(T78, T81)) → LAST13_IN_AG(T80, T81)
The TRS R consists of the following rules:
appc12_in_aa(T40, .(T40, [])) → appc12_out_aa(T40, .(T40, []))
s2lc46_in_ga(0, []) → s2lc46_out_ga(0, [])
s2lc46_in_ga(s(T95), .(X182, X183)) → U18_ga(T95, X182, X183, s2lc46_in_ga(T95, X183))
U18_ga(T95, X182, X183, s2lc46_out_ga(T95, X183)) → s2lc46_out_ga(s(T95), .(X182, X183))
appc62_in_agaa(X299, T150, T151, .(X299, X268)) → U21_agaa(X299, T150, T151, X268, appc72_in_gaa(T150, T151, X268))
appc72_in_gaa([], T159, .(T159, [])) → appc72_out_gaa([], T159, .(T159, []))
appc72_in_gaa([], T172, .(X352, X339)) → U19_gaa(T172, X352, X339, appc12_in_aa(T172, X339))
U19_gaa(T172, X352, X339, appc12_out_aa(T172, X339)) → appc72_out_gaa([], T172, .(X352, X339))
appc72_in_gaa(.(T194, T196), T197, .(T194, X339)) → U20_gaa(T194, T196, T197, X339, appc72_in_gaa(T196, T197, X339))
U20_gaa(T194, T196, T197, X339, appc72_out_gaa(T196, T197, X339)) → appc72_out_gaa(.(T194, T196), T197, .(T194, X339))
U21_agaa(X299, T150, T151, X268, appc72_out_gaa(T150, T151, X268)) → appc62_out_agaa(X299, T150, T151, .(X299, X268))
The argument filtering Pi contains the following mapping:
0 =
0
appc12_in_aa(
x1,
x2) =
appc12_in_aa
appc12_out_aa(
x1,
x2) =
appc12_out_aa(
x2)
.(
x1,
x2) =
.(
x2)
[] =
[]
s(
x1) =
s(
x1)
s2lc46_in_ga(
x1,
x2) =
s2lc46_in_ga(
x1)
s2lc46_out_ga(
x1,
x2) =
s2lc46_out_ga(
x1,
x2)
U18_ga(
x1,
x2,
x3,
x4) =
U18_ga(
x1,
x4)
appc62_in_agaa(
x1,
x2,
x3,
x4) =
appc62_in_agaa(
x2)
U21_agaa(
x1,
x2,
x3,
x4,
x5) =
U21_agaa(
x2,
x5)
appc72_in_gaa(
x1,
x2,
x3) =
appc72_in_gaa(
x1)
appc72_out_gaa(
x1,
x2,
x3) =
appc72_out_gaa(
x1,
x3)
U19_gaa(
x1,
x2,
x3,
x4) =
U19_gaa(
x4)
U20_gaa(
x1,
x2,
x3,
x4,
x5) =
U20_gaa(
x2,
x5)
appc62_out_agaa(
x1,
x2,
x3,
x4) =
appc62_out_agaa(
x2,
x4)
LAST13_IN_AG(
x1,
x2) =
LAST13_IN_AG(
x2)
We have to consider all (P,R,Pi)-chains
(31) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(32) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LAST13_IN_AG(T80, .(T78, T81)) → LAST13_IN_AG(T80, T81)
R is empty.
The argument filtering Pi contains the following mapping:
.(
x1,
x2) =
.(
x2)
LAST13_IN_AG(
x1,
x2) =
LAST13_IN_AG(
x2)
We have to consider all (P,R,Pi)-chains
(33) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(34) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LAST13_IN_AG(.(T81)) → LAST13_IN_AG(T81)
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(35) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- LAST13_IN_AG(.(T81)) → LAST13_IN_AG(T81)
The graph contains the following edges 1 > 1
(36) YES