(0) Obligation:
Clauses:
goal(A, B, C) :- ','(s2l(A, D), applast(D, B, C)).
applast(L, X, Last) :- ','(append(L, .(X, []), LX), last(Last, LX)).
last(X, .(X, [])).
last(X, .(H, T)) :- last(X, T).
append([], L, L).
append(.(H, L1), L2, .(H, L3)) :- append(L1, L2, L3).
s2l(s(X), .(Y, Xs)) :- s2l(X, Xs).
s2l(0, []).
Queries:
goal(g,a,a).
(1) PrologToDTProblemTransformerProof (SOUND transformation)
Built DT problem from termination graph.
(2) Obligation:
Triples:
s2l9(s(T24), .(X69, X70)) :- s2l9(T24, X70).
append25(.(T78, T81), T82, .(T78, X165)) :- append25(T81, T82, X165).
last22(T101, .(T99, T102)) :- last22(T101, T102).
goal1(s(T16), T10, T11) :- s2l9(T16, X32).
goal1(s(T16), T64, T45) :- ','(s2lc9(T16, T63), append25(T63, T64, X142)).
goal1(s(T16), T44, T50) :- ','(s2lc9(T16, T43), ','(appendc21(T48, T43, T44, T49), last22(T50, T49))).
goal1(0, T117, T122) :- ','(appendc46(T117, T121), last22(T122, T121)).
Clauses:
s2lc9(s(T24), .(X69, X70)) :- s2lc9(T24, X70).
s2lc9(0, []).
appendc25([], T71, .(T71, [])).
appendc25(.(T78, T81), T82, .(T78, X165)) :- appendc25(T81, T82, X165).
lastc22(T91, .(T91, [])).
lastc22(T101, .(T99, T102)) :- lastc22(T101, T102).
appendc21(X141, T63, T64, .(X141, X142)) :- appendc25(T63, T64, X142).
appendc46(T128, .(T128, [])).
Afs:
goal1(x1, x2, x3) = goal1(x1)
(3) 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)
s2l9_in: (b,f)
s2lc9_in: (b,f)
append25_in: (b,f,f)
appendc21_in: (f,b,f,f)
appendc25_in: (b,f,f)
last22_in: (f,b)
Transforming
TRIPLES into the following
Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:
GOAL1_IN_GAA(s(T16), T10, T11) → U4_GAA(T16, T10, T11, s2l9_in_ga(T16, X32))
GOAL1_IN_GAA(s(T16), T10, T11) → S2L9_IN_GA(T16, X32)
S2L9_IN_GA(s(T24), .(X69, X70)) → U1_GA(T24, X69, X70, s2l9_in_ga(T24, X70))
S2L9_IN_GA(s(T24), .(X69, X70)) → S2L9_IN_GA(T24, X70)
GOAL1_IN_GAA(s(T16), T64, T45) → U5_GAA(T16, T64, T45, s2lc9_in_ga(T16, T63))
U5_GAA(T16, T64, T45, s2lc9_out_ga(T16, T63)) → U6_GAA(T16, T64, T45, append25_in_gaa(T63, T64, X142))
U5_GAA(T16, T64, T45, s2lc9_out_ga(T16, T63)) → APPEND25_IN_GAA(T63, T64, X142)
APPEND25_IN_GAA(.(T78, T81), T82, .(T78, X165)) → U2_GAA(T78, T81, T82, X165, append25_in_gaa(T81, T82, X165))
APPEND25_IN_GAA(.(T78, T81), T82, .(T78, X165)) → APPEND25_IN_GAA(T81, T82, X165)
GOAL1_IN_GAA(s(T16), T44, T50) → U7_GAA(T16, T44, T50, s2lc9_in_ga(T16, T43))
U7_GAA(T16, T44, T50, s2lc9_out_ga(T16, T43)) → U8_GAA(T16, T44, T50, appendc21_in_agaa(T48, T43, T44, T49))
U8_GAA(T16, T44, T50, appendc21_out_agaa(T48, T43, T44, T49)) → U9_GAA(T16, T44, T50, last22_in_ag(T50, T49))
U8_GAA(T16, T44, T50, appendc21_out_agaa(T48, T43, T44, T49)) → LAST22_IN_AG(T50, T49)
LAST22_IN_AG(T101, .(T99, T102)) → U3_AG(T101, T99, T102, last22_in_ag(T101, T102))
LAST22_IN_AG(T101, .(T99, T102)) → LAST22_IN_AG(T101, T102)
GOAL1_IN_GAA(0, T117, T122) → U10_GAA(T117, T122, appendc46_in_aa(T117, T121))
U10_GAA(T117, T122, appendc46_out_aa(T117, T121)) → U11_GAA(T117, T122, last22_in_ag(T122, T121))
U10_GAA(T117, T122, appendc46_out_aa(T117, T121)) → LAST22_IN_AG(T122, T121)
The TRS R consists of the following rules:
s2lc9_in_ga(s(T24), .(X69, X70)) → U13_ga(T24, X69, X70, s2lc9_in_ga(T24, X70))
s2lc9_in_ga(0, []) → s2lc9_out_ga(0, [])
U13_ga(T24, X69, X70, s2lc9_out_ga(T24, X70)) → s2lc9_out_ga(s(T24), .(X69, X70))
appendc21_in_agaa(X141, T63, T64, .(X141, X142)) → U16_agaa(X141, T63, T64, X142, appendc25_in_gaa(T63, T64, X142))
appendc25_in_gaa([], T71, .(T71, [])) → appendc25_out_gaa([], T71, .(T71, []))
appendc25_in_gaa(.(T78, T81), T82, .(T78, X165)) → U14_gaa(T78, T81, T82, X165, appendc25_in_gaa(T81, T82, X165))
U14_gaa(T78, T81, T82, X165, appendc25_out_gaa(T81, T82, X165)) → appendc25_out_gaa(.(T78, T81), T82, .(T78, X165))
U16_agaa(X141, T63, T64, X142, appendc25_out_gaa(T63, T64, X142)) → appendc21_out_agaa(X141, T63, T64, .(X141, X142))
appendc46_in_aa(T128, .(T128, [])) → appendc46_out_aa(T128, .(T128, []))
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
s2l9_in_ga(
x1,
x2) =
s2l9_in_ga(
x1)
.(
x1,
x2) =
.(
x2)
s2lc9_in_ga(
x1,
x2) =
s2lc9_in_ga(
x1)
U13_ga(
x1,
x2,
x3,
x4) =
U13_ga(
x1,
x4)
0 =
0
s2lc9_out_ga(
x1,
x2) =
s2lc9_out_ga(
x1,
x2)
append25_in_gaa(
x1,
x2,
x3) =
append25_in_gaa(
x1)
appendc21_in_agaa(
x1,
x2,
x3,
x4) =
appendc21_in_agaa(
x2)
U16_agaa(
x1,
x2,
x3,
x4,
x5) =
U16_agaa(
x2,
x5)
appendc25_in_gaa(
x1,
x2,
x3) =
appendc25_in_gaa(
x1)
[] =
[]
appendc25_out_gaa(
x1,
x2,
x3) =
appendc25_out_gaa(
x1,
x3)
U14_gaa(
x1,
x2,
x3,
x4,
x5) =
U14_gaa(
x2,
x5)
appendc21_out_agaa(
x1,
x2,
x3,
x4) =
appendc21_out_agaa(
x2,
x4)
last22_in_ag(
x1,
x2) =
last22_in_ag(
x2)
appendc46_in_aa(
x1,
x2) =
appendc46_in_aa
appendc46_out_aa(
x1,
x2) =
appendc46_out_aa(
x2)
GOAL1_IN_GAA(
x1,
x2,
x3) =
GOAL1_IN_GAA(
x1)
U4_GAA(
x1,
x2,
x3,
x4) =
U4_GAA(
x1,
x4)
S2L9_IN_GA(
x1,
x2) =
S2L9_IN_GA(
x1)
U1_GA(
x1,
x2,
x3,
x4) =
U1_GA(
x1,
x4)
U5_GAA(
x1,
x2,
x3,
x4) =
U5_GAA(
x1,
x4)
U6_GAA(
x1,
x2,
x3,
x4) =
U6_GAA(
x1,
x4)
APPEND25_IN_GAA(
x1,
x2,
x3) =
APPEND25_IN_GAA(
x1)
U2_GAA(
x1,
x2,
x3,
x4,
x5) =
U2_GAA(
x2,
x5)
U7_GAA(
x1,
x2,
x3,
x4) =
U7_GAA(
x1,
x4)
U8_GAA(
x1,
x2,
x3,
x4) =
U8_GAA(
x1,
x4)
U9_GAA(
x1,
x2,
x3,
x4) =
U9_GAA(
x1,
x4)
LAST22_IN_AG(
x1,
x2) =
LAST22_IN_AG(
x2)
U3_AG(
x1,
x2,
x3,
x4) =
U3_AG(
x3,
x4)
U10_GAA(
x1,
x2,
x3) =
U10_GAA(
x3)
U11_GAA(
x1,
x2,
x3) =
U11_GAA(
x3)
We have to consider all (P,R,Pi)-chains
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
(4) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
GOAL1_IN_GAA(s(T16), T10, T11) → U4_GAA(T16, T10, T11, s2l9_in_ga(T16, X32))
GOAL1_IN_GAA(s(T16), T10, T11) → S2L9_IN_GA(T16, X32)
S2L9_IN_GA(s(T24), .(X69, X70)) → U1_GA(T24, X69, X70, s2l9_in_ga(T24, X70))
S2L9_IN_GA(s(T24), .(X69, X70)) → S2L9_IN_GA(T24, X70)
GOAL1_IN_GAA(s(T16), T64, T45) → U5_GAA(T16, T64, T45, s2lc9_in_ga(T16, T63))
U5_GAA(T16, T64, T45, s2lc9_out_ga(T16, T63)) → U6_GAA(T16, T64, T45, append25_in_gaa(T63, T64, X142))
U5_GAA(T16, T64, T45, s2lc9_out_ga(T16, T63)) → APPEND25_IN_GAA(T63, T64, X142)
APPEND25_IN_GAA(.(T78, T81), T82, .(T78, X165)) → U2_GAA(T78, T81, T82, X165, append25_in_gaa(T81, T82, X165))
APPEND25_IN_GAA(.(T78, T81), T82, .(T78, X165)) → APPEND25_IN_GAA(T81, T82, X165)
GOAL1_IN_GAA(s(T16), T44, T50) → U7_GAA(T16, T44, T50, s2lc9_in_ga(T16, T43))
U7_GAA(T16, T44, T50, s2lc9_out_ga(T16, T43)) → U8_GAA(T16, T44, T50, appendc21_in_agaa(T48, T43, T44, T49))
U8_GAA(T16, T44, T50, appendc21_out_agaa(T48, T43, T44, T49)) → U9_GAA(T16, T44, T50, last22_in_ag(T50, T49))
U8_GAA(T16, T44, T50, appendc21_out_agaa(T48, T43, T44, T49)) → LAST22_IN_AG(T50, T49)
LAST22_IN_AG(T101, .(T99, T102)) → U3_AG(T101, T99, T102, last22_in_ag(T101, T102))
LAST22_IN_AG(T101, .(T99, T102)) → LAST22_IN_AG(T101, T102)
GOAL1_IN_GAA(0, T117, T122) → U10_GAA(T117, T122, appendc46_in_aa(T117, T121))
U10_GAA(T117, T122, appendc46_out_aa(T117, T121)) → U11_GAA(T117, T122, last22_in_ag(T122, T121))
U10_GAA(T117, T122, appendc46_out_aa(T117, T121)) → LAST22_IN_AG(T122, T121)
The TRS R consists of the following rules:
s2lc9_in_ga(s(T24), .(X69, X70)) → U13_ga(T24, X69, X70, s2lc9_in_ga(T24, X70))
s2lc9_in_ga(0, []) → s2lc9_out_ga(0, [])
U13_ga(T24, X69, X70, s2lc9_out_ga(T24, X70)) → s2lc9_out_ga(s(T24), .(X69, X70))
appendc21_in_agaa(X141, T63, T64, .(X141, X142)) → U16_agaa(X141, T63, T64, X142, appendc25_in_gaa(T63, T64, X142))
appendc25_in_gaa([], T71, .(T71, [])) → appendc25_out_gaa([], T71, .(T71, []))
appendc25_in_gaa(.(T78, T81), T82, .(T78, X165)) → U14_gaa(T78, T81, T82, X165, appendc25_in_gaa(T81, T82, X165))
U14_gaa(T78, T81, T82, X165, appendc25_out_gaa(T81, T82, X165)) → appendc25_out_gaa(.(T78, T81), T82, .(T78, X165))
U16_agaa(X141, T63, T64, X142, appendc25_out_gaa(T63, T64, X142)) → appendc21_out_agaa(X141, T63, T64, .(X141, X142))
appendc46_in_aa(T128, .(T128, [])) → appendc46_out_aa(T128, .(T128, []))
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
s2l9_in_ga(
x1,
x2) =
s2l9_in_ga(
x1)
.(
x1,
x2) =
.(
x2)
s2lc9_in_ga(
x1,
x2) =
s2lc9_in_ga(
x1)
U13_ga(
x1,
x2,
x3,
x4) =
U13_ga(
x1,
x4)
0 =
0
s2lc9_out_ga(
x1,
x2) =
s2lc9_out_ga(
x1,
x2)
append25_in_gaa(
x1,
x2,
x3) =
append25_in_gaa(
x1)
appendc21_in_agaa(
x1,
x2,
x3,
x4) =
appendc21_in_agaa(
x2)
U16_agaa(
x1,
x2,
x3,
x4,
x5) =
U16_agaa(
x2,
x5)
appendc25_in_gaa(
x1,
x2,
x3) =
appendc25_in_gaa(
x1)
[] =
[]
appendc25_out_gaa(
x1,
x2,
x3) =
appendc25_out_gaa(
x1,
x3)
U14_gaa(
x1,
x2,
x3,
x4,
x5) =
U14_gaa(
x2,
x5)
appendc21_out_agaa(
x1,
x2,
x3,
x4) =
appendc21_out_agaa(
x2,
x4)
last22_in_ag(
x1,
x2) =
last22_in_ag(
x2)
appendc46_in_aa(
x1,
x2) =
appendc46_in_aa
appendc46_out_aa(
x1,
x2) =
appendc46_out_aa(
x2)
GOAL1_IN_GAA(
x1,
x2,
x3) =
GOAL1_IN_GAA(
x1)
U4_GAA(
x1,
x2,
x3,
x4) =
U4_GAA(
x1,
x4)
S2L9_IN_GA(
x1,
x2) =
S2L9_IN_GA(
x1)
U1_GA(
x1,
x2,
x3,
x4) =
U1_GA(
x1,
x4)
U5_GAA(
x1,
x2,
x3,
x4) =
U5_GAA(
x1,
x4)
U6_GAA(
x1,
x2,
x3,
x4) =
U6_GAA(
x1,
x4)
APPEND25_IN_GAA(
x1,
x2,
x3) =
APPEND25_IN_GAA(
x1)
U2_GAA(
x1,
x2,
x3,
x4,
x5) =
U2_GAA(
x2,
x5)
U7_GAA(
x1,
x2,
x3,
x4) =
U7_GAA(
x1,
x4)
U8_GAA(
x1,
x2,
x3,
x4) =
U8_GAA(
x1,
x4)
U9_GAA(
x1,
x2,
x3,
x4) =
U9_GAA(
x1,
x4)
LAST22_IN_AG(
x1,
x2) =
LAST22_IN_AG(
x2)
U3_AG(
x1,
x2,
x3,
x4) =
U3_AG(
x3,
x4)
U10_GAA(
x1,
x2,
x3) =
U10_GAA(
x3)
U11_GAA(
x1,
x2,
x3) =
U11_GAA(
x3)
We have to consider all (P,R,Pi)-chains
(5) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 15 less nodes.
(6) Complex Obligation (AND)
(7) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LAST22_IN_AG(T101, .(T99, T102)) → LAST22_IN_AG(T101, T102)
The TRS R consists of the following rules:
s2lc9_in_ga(s(T24), .(X69, X70)) → U13_ga(T24, X69, X70, s2lc9_in_ga(T24, X70))
s2lc9_in_ga(0, []) → s2lc9_out_ga(0, [])
U13_ga(T24, X69, X70, s2lc9_out_ga(T24, X70)) → s2lc9_out_ga(s(T24), .(X69, X70))
appendc21_in_agaa(X141, T63, T64, .(X141, X142)) → U16_agaa(X141, T63, T64, X142, appendc25_in_gaa(T63, T64, X142))
appendc25_in_gaa([], T71, .(T71, [])) → appendc25_out_gaa([], T71, .(T71, []))
appendc25_in_gaa(.(T78, T81), T82, .(T78, X165)) → U14_gaa(T78, T81, T82, X165, appendc25_in_gaa(T81, T82, X165))
U14_gaa(T78, T81, T82, X165, appendc25_out_gaa(T81, T82, X165)) → appendc25_out_gaa(.(T78, T81), T82, .(T78, X165))
U16_agaa(X141, T63, T64, X142, appendc25_out_gaa(T63, T64, X142)) → appendc21_out_agaa(X141, T63, T64, .(X141, X142))
appendc46_in_aa(T128, .(T128, [])) → appendc46_out_aa(T128, .(T128, []))
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
.(
x1,
x2) =
.(
x2)
s2lc9_in_ga(
x1,
x2) =
s2lc9_in_ga(
x1)
U13_ga(
x1,
x2,
x3,
x4) =
U13_ga(
x1,
x4)
0 =
0
s2lc9_out_ga(
x1,
x2) =
s2lc9_out_ga(
x1,
x2)
appendc21_in_agaa(
x1,
x2,
x3,
x4) =
appendc21_in_agaa(
x2)
U16_agaa(
x1,
x2,
x3,
x4,
x5) =
U16_agaa(
x2,
x5)
appendc25_in_gaa(
x1,
x2,
x3) =
appendc25_in_gaa(
x1)
[] =
[]
appendc25_out_gaa(
x1,
x2,
x3) =
appendc25_out_gaa(
x1,
x3)
U14_gaa(
x1,
x2,
x3,
x4,
x5) =
U14_gaa(
x2,
x5)
appendc21_out_agaa(
x1,
x2,
x3,
x4) =
appendc21_out_agaa(
x2,
x4)
appendc46_in_aa(
x1,
x2) =
appendc46_in_aa
appendc46_out_aa(
x1,
x2) =
appendc46_out_aa(
x2)
LAST22_IN_AG(
x1,
x2) =
LAST22_IN_AG(
x2)
We have to consider all (P,R,Pi)-chains
(8) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(9) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
LAST22_IN_AG(T101, .(T99, T102)) → LAST22_IN_AG(T101, T102)
R is empty.
The argument filtering Pi contains the following mapping:
.(
x1,
x2) =
.(
x2)
LAST22_IN_AG(
x1,
x2) =
LAST22_IN_AG(
x2)
We have to consider all (P,R,Pi)-chains
(10) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(11) Obligation:
Q DP problem:
The TRS P consists of the following rules:
LAST22_IN_AG(.(T102)) → LAST22_IN_AG(T102)
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(12) 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:
- LAST22_IN_AG(.(T102)) → LAST22_IN_AG(T102)
The graph contains the following edges 1 > 1
(13) YES
(14) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
APPEND25_IN_GAA(.(T78, T81), T82, .(T78, X165)) → APPEND25_IN_GAA(T81, T82, X165)
The TRS R consists of the following rules:
s2lc9_in_ga(s(T24), .(X69, X70)) → U13_ga(T24, X69, X70, s2lc9_in_ga(T24, X70))
s2lc9_in_ga(0, []) → s2lc9_out_ga(0, [])
U13_ga(T24, X69, X70, s2lc9_out_ga(T24, X70)) → s2lc9_out_ga(s(T24), .(X69, X70))
appendc21_in_agaa(X141, T63, T64, .(X141, X142)) → U16_agaa(X141, T63, T64, X142, appendc25_in_gaa(T63, T64, X142))
appendc25_in_gaa([], T71, .(T71, [])) → appendc25_out_gaa([], T71, .(T71, []))
appendc25_in_gaa(.(T78, T81), T82, .(T78, X165)) → U14_gaa(T78, T81, T82, X165, appendc25_in_gaa(T81, T82, X165))
U14_gaa(T78, T81, T82, X165, appendc25_out_gaa(T81, T82, X165)) → appendc25_out_gaa(.(T78, T81), T82, .(T78, X165))
U16_agaa(X141, T63, T64, X142, appendc25_out_gaa(T63, T64, X142)) → appendc21_out_agaa(X141, T63, T64, .(X141, X142))
appendc46_in_aa(T128, .(T128, [])) → appendc46_out_aa(T128, .(T128, []))
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
.(
x1,
x2) =
.(
x2)
s2lc9_in_ga(
x1,
x2) =
s2lc9_in_ga(
x1)
U13_ga(
x1,
x2,
x3,
x4) =
U13_ga(
x1,
x4)
0 =
0
s2lc9_out_ga(
x1,
x2) =
s2lc9_out_ga(
x1,
x2)
appendc21_in_agaa(
x1,
x2,
x3,
x4) =
appendc21_in_agaa(
x2)
U16_agaa(
x1,
x2,
x3,
x4,
x5) =
U16_agaa(
x2,
x5)
appendc25_in_gaa(
x1,
x2,
x3) =
appendc25_in_gaa(
x1)
[] =
[]
appendc25_out_gaa(
x1,
x2,
x3) =
appendc25_out_gaa(
x1,
x3)
U14_gaa(
x1,
x2,
x3,
x4,
x5) =
U14_gaa(
x2,
x5)
appendc21_out_agaa(
x1,
x2,
x3,
x4) =
appendc21_out_agaa(
x2,
x4)
appendc46_in_aa(
x1,
x2) =
appendc46_in_aa
appendc46_out_aa(
x1,
x2) =
appendc46_out_aa(
x2)
APPEND25_IN_GAA(
x1,
x2,
x3) =
APPEND25_IN_GAA(
x1)
We have to consider all (P,R,Pi)-chains
(15) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(16) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
APPEND25_IN_GAA(.(T78, T81), T82, .(T78, X165)) → APPEND25_IN_GAA(T81, T82, X165)
R is empty.
The argument filtering Pi contains the following mapping:
.(
x1,
x2) =
.(
x2)
APPEND25_IN_GAA(
x1,
x2,
x3) =
APPEND25_IN_GAA(
x1)
We have to consider all (P,R,Pi)-chains
(17) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(18) Obligation:
Q DP problem:
The TRS P consists of the following rules:
APPEND25_IN_GAA(.(T81)) → APPEND25_IN_GAA(T81)
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(19) 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:
- APPEND25_IN_GAA(.(T81)) → APPEND25_IN_GAA(T81)
The graph contains the following edges 1 > 1
(20) YES
(21) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
S2L9_IN_GA(s(T24), .(X69, X70)) → S2L9_IN_GA(T24, X70)
The TRS R consists of the following rules:
s2lc9_in_ga(s(T24), .(X69, X70)) → U13_ga(T24, X69, X70, s2lc9_in_ga(T24, X70))
s2lc9_in_ga(0, []) → s2lc9_out_ga(0, [])
U13_ga(T24, X69, X70, s2lc9_out_ga(T24, X70)) → s2lc9_out_ga(s(T24), .(X69, X70))
appendc21_in_agaa(X141, T63, T64, .(X141, X142)) → U16_agaa(X141, T63, T64, X142, appendc25_in_gaa(T63, T64, X142))
appendc25_in_gaa([], T71, .(T71, [])) → appendc25_out_gaa([], T71, .(T71, []))
appendc25_in_gaa(.(T78, T81), T82, .(T78, X165)) → U14_gaa(T78, T81, T82, X165, appendc25_in_gaa(T81, T82, X165))
U14_gaa(T78, T81, T82, X165, appendc25_out_gaa(T81, T82, X165)) → appendc25_out_gaa(.(T78, T81), T82, .(T78, X165))
U16_agaa(X141, T63, T64, X142, appendc25_out_gaa(T63, T64, X142)) → appendc21_out_agaa(X141, T63, T64, .(X141, X142))
appendc46_in_aa(T128, .(T128, [])) → appendc46_out_aa(T128, .(T128, []))
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
.(
x1,
x2) =
.(
x2)
s2lc9_in_ga(
x1,
x2) =
s2lc9_in_ga(
x1)
U13_ga(
x1,
x2,
x3,
x4) =
U13_ga(
x1,
x4)
0 =
0
s2lc9_out_ga(
x1,
x2) =
s2lc9_out_ga(
x1,
x2)
appendc21_in_agaa(
x1,
x2,
x3,
x4) =
appendc21_in_agaa(
x2)
U16_agaa(
x1,
x2,
x3,
x4,
x5) =
U16_agaa(
x2,
x5)
appendc25_in_gaa(
x1,
x2,
x3) =
appendc25_in_gaa(
x1)
[] =
[]
appendc25_out_gaa(
x1,
x2,
x3) =
appendc25_out_gaa(
x1,
x3)
U14_gaa(
x1,
x2,
x3,
x4,
x5) =
U14_gaa(
x2,
x5)
appendc21_out_agaa(
x1,
x2,
x3,
x4) =
appendc21_out_agaa(
x2,
x4)
appendc46_in_aa(
x1,
x2) =
appendc46_in_aa
appendc46_out_aa(
x1,
x2) =
appendc46_out_aa(
x2)
S2L9_IN_GA(
x1,
x2) =
S2L9_IN_GA(
x1)
We have to consider all (P,R,Pi)-chains
(22) UsableRulesProof (EQUIVALENT transformation)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
(23) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
S2L9_IN_GA(s(T24), .(X69, X70)) → S2L9_IN_GA(T24, X70)
R is empty.
The argument filtering Pi contains the following mapping:
s(
x1) =
s(
x1)
.(
x1,
x2) =
.(
x2)
S2L9_IN_GA(
x1,
x2) =
S2L9_IN_GA(
x1)
We have to consider all (P,R,Pi)-chains
(24) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(25) Obligation:
Q DP problem:
The TRS P consists of the following rules:
S2L9_IN_GA(s(T24)) → S2L9_IN_GA(T24)
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(26) 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:
- S2L9_IN_GA(s(T24)) → S2L9_IN_GA(T24)
The graph contains the following edges 1 > 1
(27) YES