(0) Obligation:

Clauses:

app1(.(X0, X), Y, .(X0, Z)) :- app1(X, Y, Z).
app1([], Y, Y).
app2(.(X0, X), Y, .(X0, Z)) :- app2(X, Y, Z).
app2([], Y, Y).
perm(X, .(X0, Y)) :- ','(app1(X1, .(X0, X2), X), ','(app2(X1, X2, Z), perm(Z, Y))).
perm([], []).

Queries:

perm(g,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

app110(.(X100, X101), T40, X102, .(X100, T39)) :- app110(X101, T40, X102, T39).
app225(.(T83, T84), T85, .(T83, X202)) :- app225(T84, T85, X202).
app140(.(X296, X297), T131, X298, .(X296, T130)) :- app140(X297, T131, X298, T130).
perm21(T110, .(T111, T112)) :- app140(X244, T111, X245, T110).
perm21(T110, .(T111, T117)) :- ','(app1c40(T115, T111, T116, T110), app250(T115, T116, X246)).
perm21(T110, .(T111, T141)) :- ','(app1c40(T115, T111, T116, T110), ','(app2c50(T115, T116, T140), perm21(T140, T141))).
app250(.(T157, T160), T161, .(T157, X351)) :- app250(T160, T161, X351).
perm1(.(X47, T20), .(T21, T22)) :- app110(X48, T21, X49, T20).
perm1(.(X171, T20), .(T21, T27)) :- ','(app1c10(T66, T21, T67, T20), app225(T66, T67, X172)).
perm1(.(T48, T20), .(T21, T27)) :- ','(app1c10(T25, T21, T26, T20), ','(app2c20(T48, T25, T26, T49), perm21(T49, T27))).
perm1(.(T175, T179), .(T175, T176)) :- ','(app2c67(T179, T180), perm21(T180, T176)).

Clauses:

app1c10(.(X100, X101), T40, X102, .(X100, T39)) :- app1c10(X101, T40, X102, T39).
app1c10([], T45, X119, .(T45, X119)).
app2c25(.(T83, T84), T85, .(T83, X202)) :- app2c25(T84, T85, X202).
app2c25([], T91, T91).
app1c40(.(X296, X297), T131, X298, .(X296, T130)) :- app1c40(X297, T131, X298, T130).
app1c40([], T136, X315, .(T136, X315)).
permc21(T110, .(T111, T141)) :- ','(app1c40(T115, T111, T116, T110), ','(app2c50(T115, T116, T140), permc21(T140, T141))).
permc21([], []).
app2c50(.(T157, T160), T161, .(T157, X351)) :- app2c50(T160, T161, X351).
app2c50([], T167, T167).
app2c20(X171, T66, T67, .(X171, X172)) :- app2c25(T66, T67, X172).
app2c67(X410, X410).

Afs:

perm1(x1, x2)  =  perm1(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:
perm1_in: (b,f)
app110_in: (f,f,f,b)
app1c10_in: (f,f,f,b)
app225_in: (b,b,f)
app2c20_in: (b,b,b,f)
app2c25_in: (b,b,f)
perm21_in: (b,f)
app140_in: (f,f,f,b)
app1c40_in: (f,f,f,b)
app250_in: (b,b,f)
app2c50_in: (b,b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

PERM1_IN_GA(.(X47, T20), .(T21, T22)) → U11_GA(X47, T20, T21, T22, app110_in_aaag(X48, T21, X49, T20))
PERM1_IN_GA(.(X47, T20), .(T21, T22)) → APP110_IN_AAAG(X48, T21, X49, T20)
APP110_IN_AAAG(.(X100, X101), T40, X102, .(X100, T39)) → U1_AAAG(X100, X101, T40, X102, T39, app110_in_aaag(X101, T40, X102, T39))
APP110_IN_AAAG(.(X100, X101), T40, X102, .(X100, T39)) → APP110_IN_AAAG(X101, T40, X102, T39)
PERM1_IN_GA(.(X171, T20), .(T21, T27)) → U12_GA(X171, T20, T21, T27, app1c10_in_aaag(T66, T21, T67, T20))
U12_GA(X171, T20, T21, T27, app1c10_out_aaag(T66, T21, T67, T20)) → U13_GA(X171, T20, T21, T27, app225_in_gga(T66, T67, X172))
U12_GA(X171, T20, T21, T27, app1c10_out_aaag(T66, T21, T67, T20)) → APP225_IN_GGA(T66, T67, X172)
APP225_IN_GGA(.(T83, T84), T85, .(T83, X202)) → U2_GGA(T83, T84, T85, X202, app225_in_gga(T84, T85, X202))
APP225_IN_GGA(.(T83, T84), T85, .(T83, X202)) → APP225_IN_GGA(T84, T85, X202)
PERM1_IN_GA(.(T48, T20), .(T21, T27)) → U14_GA(T48, T20, T21, T27, app1c10_in_aaag(T25, T21, T26, T20))
U14_GA(T48, T20, T21, T27, app1c10_out_aaag(T25, T21, T26, T20)) → U15_GA(T48, T20, T21, T27, app2c20_in_ggga(T48, T25, T26, T49))
U15_GA(T48, T20, T21, T27, app2c20_out_ggga(T48, T25, T26, T49)) → U16_GA(T48, T20, T21, T27, perm21_in_ga(T49, T27))
U15_GA(T48, T20, T21, T27, app2c20_out_ggga(T48, T25, T26, T49)) → PERM21_IN_GA(T49, T27)
PERM21_IN_GA(T110, .(T111, T112)) → U4_GA(T110, T111, T112, app140_in_aaag(X244, T111, X245, T110))
PERM21_IN_GA(T110, .(T111, T112)) → APP140_IN_AAAG(X244, T111, X245, T110)
APP140_IN_AAAG(.(X296, X297), T131, X298, .(X296, T130)) → U3_AAAG(X296, X297, T131, X298, T130, app140_in_aaag(X297, T131, X298, T130))
APP140_IN_AAAG(.(X296, X297), T131, X298, .(X296, T130)) → APP140_IN_AAAG(X297, T131, X298, T130)
PERM21_IN_GA(T110, .(T111, T117)) → U5_GA(T110, T111, T117, app1c40_in_aaag(T115, T111, T116, T110))
U5_GA(T110, T111, T117, app1c40_out_aaag(T115, T111, T116, T110)) → U6_GA(T110, T111, T117, app250_in_gga(T115, T116, X246))
U5_GA(T110, T111, T117, app1c40_out_aaag(T115, T111, T116, T110)) → APP250_IN_GGA(T115, T116, X246)
APP250_IN_GGA(.(T157, T160), T161, .(T157, X351)) → U10_GGA(T157, T160, T161, X351, app250_in_gga(T160, T161, X351))
APP250_IN_GGA(.(T157, T160), T161, .(T157, X351)) → APP250_IN_GGA(T160, T161, X351)
PERM21_IN_GA(T110, .(T111, T141)) → U7_GA(T110, T111, T141, app1c40_in_aaag(T115, T111, T116, T110))
U7_GA(T110, T111, T141, app1c40_out_aaag(T115, T111, T116, T110)) → U8_GA(T110, T111, T141, app2c50_in_gga(T115, T116, T140))
U8_GA(T110, T111, T141, app2c50_out_gga(T115, T116, T140)) → U9_GA(T110, T111, T141, perm21_in_ga(T140, T141))
U8_GA(T110, T111, T141, app2c50_out_gga(T115, T116, T140)) → PERM21_IN_GA(T140, T141)
PERM1_IN_GA(.(T175, T179), .(T175, T176)) → U17_GA(T175, T179, T176, app2c67_in_ga(T179, T180))
U17_GA(T175, T179, T176, app2c67_out_ga(T179, T180)) → U18_GA(T175, T179, T176, perm21_in_ga(T180, T176))
U17_GA(T175, T179, T176, app2c67_out_ga(T179, T180)) → PERM21_IN_GA(T180, T176)

The TRS R consists of the following rules:

app1c10_in_aaag(.(X100, X101), T40, X102, .(X100, T39)) → U20_aaag(X100, X101, T40, X102, T39, app1c10_in_aaag(X101, T40, X102, T39))
app1c10_in_aaag([], T45, X119, .(T45, X119)) → app1c10_out_aaag([], T45, X119, .(T45, X119))
U20_aaag(X100, X101, T40, X102, T39, app1c10_out_aaag(X101, T40, X102, T39)) → app1c10_out_aaag(.(X100, X101), T40, X102, .(X100, T39))
app2c20_in_ggga(X171, T66, T67, .(X171, X172)) → U27_ggga(X171, T66, T67, X172, app2c25_in_gga(T66, T67, X172))
app2c25_in_gga(.(T83, T84), T85, .(T83, X202)) → U21_gga(T83, T84, T85, X202, app2c25_in_gga(T84, T85, X202))
app2c25_in_gga([], T91, T91) → app2c25_out_gga([], T91, T91)
U21_gga(T83, T84, T85, X202, app2c25_out_gga(T84, T85, X202)) → app2c25_out_gga(.(T83, T84), T85, .(T83, X202))
U27_ggga(X171, T66, T67, X172, app2c25_out_gga(T66, T67, X172)) → app2c20_out_ggga(X171, T66, T67, .(X171, X172))
app1c40_in_aaag(.(X296, X297), T131, X298, .(X296, T130)) → U22_aaag(X296, X297, T131, X298, T130, app1c40_in_aaag(X297, T131, X298, T130))
app1c40_in_aaag([], T136, X315, .(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
U22_aaag(X296, X297, T131, X298, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
app2c50_in_gga(.(T157, T160), T161, .(T157, X351)) → U26_gga(T157, T160, T161, X351, app2c50_in_gga(T160, T161, X351))
app2c50_in_gga([], T167, T167) → app2c50_out_gga([], T167, T167)
U26_gga(T157, T160, T161, X351, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))
app2c67_in_ga(X410, X410) → app2c67_out_ga(X410, X410)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
app110_in_aaag(x1, x2, x3, x4)  =  app110_in_aaag(x4)
app1c10_in_aaag(x1, x2, x3, x4)  =  app1c10_in_aaag(x4)
U20_aaag(x1, x2, x3, x4, x5, x6)  =  U20_aaag(x1, x5, x6)
app1c10_out_aaag(x1, x2, x3, x4)  =  app1c10_out_aaag(x1, x2, x3, x4)
app225_in_gga(x1, x2, x3)  =  app225_in_gga(x1, x2)
app2c20_in_ggga(x1, x2, x3, x4)  =  app2c20_in_ggga(x1, x2, x3)
U27_ggga(x1, x2, x3, x4, x5)  =  U27_ggga(x1, x2, x3, x5)
app2c25_in_gga(x1, x2, x3)  =  app2c25_in_gga(x1, x2)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
[]  =  []
app2c25_out_gga(x1, x2, x3)  =  app2c25_out_gga(x1, x2, x3)
app2c20_out_ggga(x1, x2, x3, x4)  =  app2c20_out_ggga(x1, x2, x3, x4)
perm21_in_ga(x1, x2)  =  perm21_in_ga(x1)
app140_in_aaag(x1, x2, x3, x4)  =  app140_in_aaag(x4)
app1c40_in_aaag(x1, x2, x3, x4)  =  app1c40_in_aaag(x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app1c40_out_aaag(x1, x2, x3, x4)  =  app1c40_out_aaag(x1, x2, x3, x4)
app250_in_gga(x1, x2, x3)  =  app250_in_gga(x1, x2)
app2c50_in_gga(x1, x2, x3)  =  app2c50_in_gga(x1, x2)
U26_gga(x1, x2, x3, x4, x5)  =  U26_gga(x1, x2, x3, x5)
app2c50_out_gga(x1, x2, x3)  =  app2c50_out_gga(x1, x2, x3)
app2c67_in_ga(x1, x2)  =  app2c67_in_ga(x1)
app2c67_out_ga(x1, x2)  =  app2c67_out_ga(x1, x2)
PERM1_IN_GA(x1, x2)  =  PERM1_IN_GA(x1)
U11_GA(x1, x2, x3, x4, x5)  =  U11_GA(x1, x2, x5)
APP110_IN_AAAG(x1, x2, x3, x4)  =  APP110_IN_AAAG(x4)
U1_AAAG(x1, x2, x3, x4, x5, x6)  =  U1_AAAG(x1, x5, x6)
U12_GA(x1, x2, x3, x4, x5)  =  U12_GA(x1, x2, x5)
U13_GA(x1, x2, x3, x4, x5)  =  U13_GA(x1, x2, x5)
APP225_IN_GGA(x1, x2, x3)  =  APP225_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4, x5)  =  U2_GGA(x1, x2, x3, x5)
U14_GA(x1, x2, x3, x4, x5)  =  U14_GA(x1, x2, x5)
U15_GA(x1, x2, x3, x4, x5)  =  U15_GA(x1, x2, x5)
U16_GA(x1, x2, x3, x4, x5)  =  U16_GA(x1, x2, x5)
PERM21_IN_GA(x1, x2)  =  PERM21_IN_GA(x1)
U4_GA(x1, x2, x3, x4)  =  U4_GA(x1, x4)
APP140_IN_AAAG(x1, x2, x3, x4)  =  APP140_IN_AAAG(x4)
U3_AAAG(x1, x2, x3, x4, x5, x6)  =  U3_AAAG(x1, x5, x6)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x1, x4)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x4)
APP250_IN_GGA(x1, x2, x3)  =  APP250_IN_GGA(x1, x2)
U10_GGA(x1, x2, x3, x4, x5)  =  U10_GGA(x1, x2, x3, x5)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x1, x4)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x1, x4)
U9_GA(x1, x2, x3, x4)  =  U9_GA(x1, x4)
U17_GA(x1, x2, x3, x4)  =  U17_GA(x1, x2, x4)
U18_GA(x1, x2, x3, x4)  =  U18_GA(x1, x2, x4)

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:

PERM1_IN_GA(.(X47, T20), .(T21, T22)) → U11_GA(X47, T20, T21, T22, app110_in_aaag(X48, T21, X49, T20))
PERM1_IN_GA(.(X47, T20), .(T21, T22)) → APP110_IN_AAAG(X48, T21, X49, T20)
APP110_IN_AAAG(.(X100, X101), T40, X102, .(X100, T39)) → U1_AAAG(X100, X101, T40, X102, T39, app110_in_aaag(X101, T40, X102, T39))
APP110_IN_AAAG(.(X100, X101), T40, X102, .(X100, T39)) → APP110_IN_AAAG(X101, T40, X102, T39)
PERM1_IN_GA(.(X171, T20), .(T21, T27)) → U12_GA(X171, T20, T21, T27, app1c10_in_aaag(T66, T21, T67, T20))
U12_GA(X171, T20, T21, T27, app1c10_out_aaag(T66, T21, T67, T20)) → U13_GA(X171, T20, T21, T27, app225_in_gga(T66, T67, X172))
U12_GA(X171, T20, T21, T27, app1c10_out_aaag(T66, T21, T67, T20)) → APP225_IN_GGA(T66, T67, X172)
APP225_IN_GGA(.(T83, T84), T85, .(T83, X202)) → U2_GGA(T83, T84, T85, X202, app225_in_gga(T84, T85, X202))
APP225_IN_GGA(.(T83, T84), T85, .(T83, X202)) → APP225_IN_GGA(T84, T85, X202)
PERM1_IN_GA(.(T48, T20), .(T21, T27)) → U14_GA(T48, T20, T21, T27, app1c10_in_aaag(T25, T21, T26, T20))
U14_GA(T48, T20, T21, T27, app1c10_out_aaag(T25, T21, T26, T20)) → U15_GA(T48, T20, T21, T27, app2c20_in_ggga(T48, T25, T26, T49))
U15_GA(T48, T20, T21, T27, app2c20_out_ggga(T48, T25, T26, T49)) → U16_GA(T48, T20, T21, T27, perm21_in_ga(T49, T27))
U15_GA(T48, T20, T21, T27, app2c20_out_ggga(T48, T25, T26, T49)) → PERM21_IN_GA(T49, T27)
PERM21_IN_GA(T110, .(T111, T112)) → U4_GA(T110, T111, T112, app140_in_aaag(X244, T111, X245, T110))
PERM21_IN_GA(T110, .(T111, T112)) → APP140_IN_AAAG(X244, T111, X245, T110)
APP140_IN_AAAG(.(X296, X297), T131, X298, .(X296, T130)) → U3_AAAG(X296, X297, T131, X298, T130, app140_in_aaag(X297, T131, X298, T130))
APP140_IN_AAAG(.(X296, X297), T131, X298, .(X296, T130)) → APP140_IN_AAAG(X297, T131, X298, T130)
PERM21_IN_GA(T110, .(T111, T117)) → U5_GA(T110, T111, T117, app1c40_in_aaag(T115, T111, T116, T110))
U5_GA(T110, T111, T117, app1c40_out_aaag(T115, T111, T116, T110)) → U6_GA(T110, T111, T117, app250_in_gga(T115, T116, X246))
U5_GA(T110, T111, T117, app1c40_out_aaag(T115, T111, T116, T110)) → APP250_IN_GGA(T115, T116, X246)
APP250_IN_GGA(.(T157, T160), T161, .(T157, X351)) → U10_GGA(T157, T160, T161, X351, app250_in_gga(T160, T161, X351))
APP250_IN_GGA(.(T157, T160), T161, .(T157, X351)) → APP250_IN_GGA(T160, T161, X351)
PERM21_IN_GA(T110, .(T111, T141)) → U7_GA(T110, T111, T141, app1c40_in_aaag(T115, T111, T116, T110))
U7_GA(T110, T111, T141, app1c40_out_aaag(T115, T111, T116, T110)) → U8_GA(T110, T111, T141, app2c50_in_gga(T115, T116, T140))
U8_GA(T110, T111, T141, app2c50_out_gga(T115, T116, T140)) → U9_GA(T110, T111, T141, perm21_in_ga(T140, T141))
U8_GA(T110, T111, T141, app2c50_out_gga(T115, T116, T140)) → PERM21_IN_GA(T140, T141)
PERM1_IN_GA(.(T175, T179), .(T175, T176)) → U17_GA(T175, T179, T176, app2c67_in_ga(T179, T180))
U17_GA(T175, T179, T176, app2c67_out_ga(T179, T180)) → U18_GA(T175, T179, T176, perm21_in_ga(T180, T176))
U17_GA(T175, T179, T176, app2c67_out_ga(T179, T180)) → PERM21_IN_GA(T180, T176)

The TRS R consists of the following rules:

app1c10_in_aaag(.(X100, X101), T40, X102, .(X100, T39)) → U20_aaag(X100, X101, T40, X102, T39, app1c10_in_aaag(X101, T40, X102, T39))
app1c10_in_aaag([], T45, X119, .(T45, X119)) → app1c10_out_aaag([], T45, X119, .(T45, X119))
U20_aaag(X100, X101, T40, X102, T39, app1c10_out_aaag(X101, T40, X102, T39)) → app1c10_out_aaag(.(X100, X101), T40, X102, .(X100, T39))
app2c20_in_ggga(X171, T66, T67, .(X171, X172)) → U27_ggga(X171, T66, T67, X172, app2c25_in_gga(T66, T67, X172))
app2c25_in_gga(.(T83, T84), T85, .(T83, X202)) → U21_gga(T83, T84, T85, X202, app2c25_in_gga(T84, T85, X202))
app2c25_in_gga([], T91, T91) → app2c25_out_gga([], T91, T91)
U21_gga(T83, T84, T85, X202, app2c25_out_gga(T84, T85, X202)) → app2c25_out_gga(.(T83, T84), T85, .(T83, X202))
U27_ggga(X171, T66, T67, X172, app2c25_out_gga(T66, T67, X172)) → app2c20_out_ggga(X171, T66, T67, .(X171, X172))
app1c40_in_aaag(.(X296, X297), T131, X298, .(X296, T130)) → U22_aaag(X296, X297, T131, X298, T130, app1c40_in_aaag(X297, T131, X298, T130))
app1c40_in_aaag([], T136, X315, .(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
U22_aaag(X296, X297, T131, X298, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
app2c50_in_gga(.(T157, T160), T161, .(T157, X351)) → U26_gga(T157, T160, T161, X351, app2c50_in_gga(T160, T161, X351))
app2c50_in_gga([], T167, T167) → app2c50_out_gga([], T167, T167)
U26_gga(T157, T160, T161, X351, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))
app2c67_in_ga(X410, X410) → app2c67_out_ga(X410, X410)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
app110_in_aaag(x1, x2, x3, x4)  =  app110_in_aaag(x4)
app1c10_in_aaag(x1, x2, x3, x4)  =  app1c10_in_aaag(x4)
U20_aaag(x1, x2, x3, x4, x5, x6)  =  U20_aaag(x1, x5, x6)
app1c10_out_aaag(x1, x2, x3, x4)  =  app1c10_out_aaag(x1, x2, x3, x4)
app225_in_gga(x1, x2, x3)  =  app225_in_gga(x1, x2)
app2c20_in_ggga(x1, x2, x3, x4)  =  app2c20_in_ggga(x1, x2, x3)
U27_ggga(x1, x2, x3, x4, x5)  =  U27_ggga(x1, x2, x3, x5)
app2c25_in_gga(x1, x2, x3)  =  app2c25_in_gga(x1, x2)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
[]  =  []
app2c25_out_gga(x1, x2, x3)  =  app2c25_out_gga(x1, x2, x3)
app2c20_out_ggga(x1, x2, x3, x4)  =  app2c20_out_ggga(x1, x2, x3, x4)
perm21_in_ga(x1, x2)  =  perm21_in_ga(x1)
app140_in_aaag(x1, x2, x3, x4)  =  app140_in_aaag(x4)
app1c40_in_aaag(x1, x2, x3, x4)  =  app1c40_in_aaag(x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app1c40_out_aaag(x1, x2, x3, x4)  =  app1c40_out_aaag(x1, x2, x3, x4)
app250_in_gga(x1, x2, x3)  =  app250_in_gga(x1, x2)
app2c50_in_gga(x1, x2, x3)  =  app2c50_in_gga(x1, x2)
U26_gga(x1, x2, x3, x4, x5)  =  U26_gga(x1, x2, x3, x5)
app2c50_out_gga(x1, x2, x3)  =  app2c50_out_gga(x1, x2, x3)
app2c67_in_ga(x1, x2)  =  app2c67_in_ga(x1)
app2c67_out_ga(x1, x2)  =  app2c67_out_ga(x1, x2)
PERM1_IN_GA(x1, x2)  =  PERM1_IN_GA(x1)
U11_GA(x1, x2, x3, x4, x5)  =  U11_GA(x1, x2, x5)
APP110_IN_AAAG(x1, x2, x3, x4)  =  APP110_IN_AAAG(x4)
U1_AAAG(x1, x2, x3, x4, x5, x6)  =  U1_AAAG(x1, x5, x6)
U12_GA(x1, x2, x3, x4, x5)  =  U12_GA(x1, x2, x5)
U13_GA(x1, x2, x3, x4, x5)  =  U13_GA(x1, x2, x5)
APP225_IN_GGA(x1, x2, x3)  =  APP225_IN_GGA(x1, x2)
U2_GGA(x1, x2, x3, x4, x5)  =  U2_GGA(x1, x2, x3, x5)
U14_GA(x1, x2, x3, x4, x5)  =  U14_GA(x1, x2, x5)
U15_GA(x1, x2, x3, x4, x5)  =  U15_GA(x1, x2, x5)
U16_GA(x1, x2, x3, x4, x5)  =  U16_GA(x1, x2, x5)
PERM21_IN_GA(x1, x2)  =  PERM21_IN_GA(x1)
U4_GA(x1, x2, x3, x4)  =  U4_GA(x1, x4)
APP140_IN_AAAG(x1, x2, x3, x4)  =  APP140_IN_AAAG(x4)
U3_AAAG(x1, x2, x3, x4, x5, x6)  =  U3_AAAG(x1, x5, x6)
U5_GA(x1, x2, x3, x4)  =  U5_GA(x1, x4)
U6_GA(x1, x2, x3, x4)  =  U6_GA(x1, x4)
APP250_IN_GGA(x1, x2, x3)  =  APP250_IN_GGA(x1, x2)
U10_GGA(x1, x2, x3, x4, x5)  =  U10_GGA(x1, x2, x3, x5)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x1, x4)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x1, x4)
U9_GA(x1, x2, x3, x4)  =  U9_GA(x1, x4)
U17_GA(x1, x2, x3, x4)  =  U17_GA(x1, x2, x4)
U18_GA(x1, x2, x3, x4)  =  U18_GA(x1, x2, x4)

We have to consider all (P,R,Pi)-chains

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 22 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

APP250_IN_GGA(.(T157, T160), T161, .(T157, X351)) → APP250_IN_GGA(T160, T161, X351)

The TRS R consists of the following rules:

app1c10_in_aaag(.(X100, X101), T40, X102, .(X100, T39)) → U20_aaag(X100, X101, T40, X102, T39, app1c10_in_aaag(X101, T40, X102, T39))
app1c10_in_aaag([], T45, X119, .(T45, X119)) → app1c10_out_aaag([], T45, X119, .(T45, X119))
U20_aaag(X100, X101, T40, X102, T39, app1c10_out_aaag(X101, T40, X102, T39)) → app1c10_out_aaag(.(X100, X101), T40, X102, .(X100, T39))
app2c20_in_ggga(X171, T66, T67, .(X171, X172)) → U27_ggga(X171, T66, T67, X172, app2c25_in_gga(T66, T67, X172))
app2c25_in_gga(.(T83, T84), T85, .(T83, X202)) → U21_gga(T83, T84, T85, X202, app2c25_in_gga(T84, T85, X202))
app2c25_in_gga([], T91, T91) → app2c25_out_gga([], T91, T91)
U21_gga(T83, T84, T85, X202, app2c25_out_gga(T84, T85, X202)) → app2c25_out_gga(.(T83, T84), T85, .(T83, X202))
U27_ggga(X171, T66, T67, X172, app2c25_out_gga(T66, T67, X172)) → app2c20_out_ggga(X171, T66, T67, .(X171, X172))
app1c40_in_aaag(.(X296, X297), T131, X298, .(X296, T130)) → U22_aaag(X296, X297, T131, X298, T130, app1c40_in_aaag(X297, T131, X298, T130))
app1c40_in_aaag([], T136, X315, .(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
U22_aaag(X296, X297, T131, X298, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
app2c50_in_gga(.(T157, T160), T161, .(T157, X351)) → U26_gga(T157, T160, T161, X351, app2c50_in_gga(T160, T161, X351))
app2c50_in_gga([], T167, T167) → app2c50_out_gga([], T167, T167)
U26_gga(T157, T160, T161, X351, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))
app2c67_in_ga(X410, X410) → app2c67_out_ga(X410, X410)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
app1c10_in_aaag(x1, x2, x3, x4)  =  app1c10_in_aaag(x4)
U20_aaag(x1, x2, x3, x4, x5, x6)  =  U20_aaag(x1, x5, x6)
app1c10_out_aaag(x1, x2, x3, x4)  =  app1c10_out_aaag(x1, x2, x3, x4)
app2c20_in_ggga(x1, x2, x3, x4)  =  app2c20_in_ggga(x1, x2, x3)
U27_ggga(x1, x2, x3, x4, x5)  =  U27_ggga(x1, x2, x3, x5)
app2c25_in_gga(x1, x2, x3)  =  app2c25_in_gga(x1, x2)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
[]  =  []
app2c25_out_gga(x1, x2, x3)  =  app2c25_out_gga(x1, x2, x3)
app2c20_out_ggga(x1, x2, x3, x4)  =  app2c20_out_ggga(x1, x2, x3, x4)
app1c40_in_aaag(x1, x2, x3, x4)  =  app1c40_in_aaag(x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app1c40_out_aaag(x1, x2, x3, x4)  =  app1c40_out_aaag(x1, x2, x3, x4)
app2c50_in_gga(x1, x2, x3)  =  app2c50_in_gga(x1, x2)
U26_gga(x1, x2, x3, x4, x5)  =  U26_gga(x1, x2, x3, x5)
app2c50_out_gga(x1, x2, x3)  =  app2c50_out_gga(x1, x2, x3)
app2c67_in_ga(x1, x2)  =  app2c67_in_ga(x1)
app2c67_out_ga(x1, x2)  =  app2c67_out_ga(x1, x2)
APP250_IN_GGA(x1, x2, x3)  =  APP250_IN_GGA(x1, 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:

APP250_IN_GGA(.(T157, T160), T161, .(T157, X351)) → APP250_IN_GGA(T160, T161, X351)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
APP250_IN_GGA(x1, x2, x3)  =  APP250_IN_GGA(x1, 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:

APP250_IN_GGA(.(T157, T160), T161) → APP250_IN_GGA(T160, T161)

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:

  • APP250_IN_GGA(.(T157, T160), T161) → APP250_IN_GGA(T160, T161)
    The graph contains the following edges 1 > 1, 2 >= 2

(13) YES

(14) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

APP140_IN_AAAG(.(X296, X297), T131, X298, .(X296, T130)) → APP140_IN_AAAG(X297, T131, X298, T130)

The TRS R consists of the following rules:

app1c10_in_aaag(.(X100, X101), T40, X102, .(X100, T39)) → U20_aaag(X100, X101, T40, X102, T39, app1c10_in_aaag(X101, T40, X102, T39))
app1c10_in_aaag([], T45, X119, .(T45, X119)) → app1c10_out_aaag([], T45, X119, .(T45, X119))
U20_aaag(X100, X101, T40, X102, T39, app1c10_out_aaag(X101, T40, X102, T39)) → app1c10_out_aaag(.(X100, X101), T40, X102, .(X100, T39))
app2c20_in_ggga(X171, T66, T67, .(X171, X172)) → U27_ggga(X171, T66, T67, X172, app2c25_in_gga(T66, T67, X172))
app2c25_in_gga(.(T83, T84), T85, .(T83, X202)) → U21_gga(T83, T84, T85, X202, app2c25_in_gga(T84, T85, X202))
app2c25_in_gga([], T91, T91) → app2c25_out_gga([], T91, T91)
U21_gga(T83, T84, T85, X202, app2c25_out_gga(T84, T85, X202)) → app2c25_out_gga(.(T83, T84), T85, .(T83, X202))
U27_ggga(X171, T66, T67, X172, app2c25_out_gga(T66, T67, X172)) → app2c20_out_ggga(X171, T66, T67, .(X171, X172))
app1c40_in_aaag(.(X296, X297), T131, X298, .(X296, T130)) → U22_aaag(X296, X297, T131, X298, T130, app1c40_in_aaag(X297, T131, X298, T130))
app1c40_in_aaag([], T136, X315, .(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
U22_aaag(X296, X297, T131, X298, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
app2c50_in_gga(.(T157, T160), T161, .(T157, X351)) → U26_gga(T157, T160, T161, X351, app2c50_in_gga(T160, T161, X351))
app2c50_in_gga([], T167, T167) → app2c50_out_gga([], T167, T167)
U26_gga(T157, T160, T161, X351, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))
app2c67_in_ga(X410, X410) → app2c67_out_ga(X410, X410)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
app1c10_in_aaag(x1, x2, x3, x4)  =  app1c10_in_aaag(x4)
U20_aaag(x1, x2, x3, x4, x5, x6)  =  U20_aaag(x1, x5, x6)
app1c10_out_aaag(x1, x2, x3, x4)  =  app1c10_out_aaag(x1, x2, x3, x4)
app2c20_in_ggga(x1, x2, x3, x4)  =  app2c20_in_ggga(x1, x2, x3)
U27_ggga(x1, x2, x3, x4, x5)  =  U27_ggga(x1, x2, x3, x5)
app2c25_in_gga(x1, x2, x3)  =  app2c25_in_gga(x1, x2)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
[]  =  []
app2c25_out_gga(x1, x2, x3)  =  app2c25_out_gga(x1, x2, x3)
app2c20_out_ggga(x1, x2, x3, x4)  =  app2c20_out_ggga(x1, x2, x3, x4)
app1c40_in_aaag(x1, x2, x3, x4)  =  app1c40_in_aaag(x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app1c40_out_aaag(x1, x2, x3, x4)  =  app1c40_out_aaag(x1, x2, x3, x4)
app2c50_in_gga(x1, x2, x3)  =  app2c50_in_gga(x1, x2)
U26_gga(x1, x2, x3, x4, x5)  =  U26_gga(x1, x2, x3, x5)
app2c50_out_gga(x1, x2, x3)  =  app2c50_out_gga(x1, x2, x3)
app2c67_in_ga(x1, x2)  =  app2c67_in_ga(x1)
app2c67_out_ga(x1, x2)  =  app2c67_out_ga(x1, x2)
APP140_IN_AAAG(x1, x2, x3, x4)  =  APP140_IN_AAAG(x4)

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:

APP140_IN_AAAG(.(X296, X297), T131, X298, .(X296, T130)) → APP140_IN_AAAG(X297, T131, X298, T130)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
APP140_IN_AAAG(x1, x2, x3, x4)  =  APP140_IN_AAAG(x4)

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:

APP140_IN_AAAG(.(X296, T130)) → APP140_IN_AAAG(T130)

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:

  • APP140_IN_AAAG(.(X296, T130)) → APP140_IN_AAAG(T130)
    The graph contains the following edges 1 > 1

(20) YES

(21) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

PERM21_IN_GA(T110, .(T111, T141)) → U7_GA(T110, T111, T141, app1c40_in_aaag(T115, T111, T116, T110))
U7_GA(T110, T111, T141, app1c40_out_aaag(T115, T111, T116, T110)) → U8_GA(T110, T111, T141, app2c50_in_gga(T115, T116, T140))
U8_GA(T110, T111, T141, app2c50_out_gga(T115, T116, T140)) → PERM21_IN_GA(T140, T141)

The TRS R consists of the following rules:

app1c10_in_aaag(.(X100, X101), T40, X102, .(X100, T39)) → U20_aaag(X100, X101, T40, X102, T39, app1c10_in_aaag(X101, T40, X102, T39))
app1c10_in_aaag([], T45, X119, .(T45, X119)) → app1c10_out_aaag([], T45, X119, .(T45, X119))
U20_aaag(X100, X101, T40, X102, T39, app1c10_out_aaag(X101, T40, X102, T39)) → app1c10_out_aaag(.(X100, X101), T40, X102, .(X100, T39))
app2c20_in_ggga(X171, T66, T67, .(X171, X172)) → U27_ggga(X171, T66, T67, X172, app2c25_in_gga(T66, T67, X172))
app2c25_in_gga(.(T83, T84), T85, .(T83, X202)) → U21_gga(T83, T84, T85, X202, app2c25_in_gga(T84, T85, X202))
app2c25_in_gga([], T91, T91) → app2c25_out_gga([], T91, T91)
U21_gga(T83, T84, T85, X202, app2c25_out_gga(T84, T85, X202)) → app2c25_out_gga(.(T83, T84), T85, .(T83, X202))
U27_ggga(X171, T66, T67, X172, app2c25_out_gga(T66, T67, X172)) → app2c20_out_ggga(X171, T66, T67, .(X171, X172))
app1c40_in_aaag(.(X296, X297), T131, X298, .(X296, T130)) → U22_aaag(X296, X297, T131, X298, T130, app1c40_in_aaag(X297, T131, X298, T130))
app1c40_in_aaag([], T136, X315, .(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
U22_aaag(X296, X297, T131, X298, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
app2c50_in_gga(.(T157, T160), T161, .(T157, X351)) → U26_gga(T157, T160, T161, X351, app2c50_in_gga(T160, T161, X351))
app2c50_in_gga([], T167, T167) → app2c50_out_gga([], T167, T167)
U26_gga(T157, T160, T161, X351, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))
app2c67_in_ga(X410, X410) → app2c67_out_ga(X410, X410)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
app1c10_in_aaag(x1, x2, x3, x4)  =  app1c10_in_aaag(x4)
U20_aaag(x1, x2, x3, x4, x5, x6)  =  U20_aaag(x1, x5, x6)
app1c10_out_aaag(x1, x2, x3, x4)  =  app1c10_out_aaag(x1, x2, x3, x4)
app2c20_in_ggga(x1, x2, x3, x4)  =  app2c20_in_ggga(x1, x2, x3)
U27_ggga(x1, x2, x3, x4, x5)  =  U27_ggga(x1, x2, x3, x5)
app2c25_in_gga(x1, x2, x3)  =  app2c25_in_gga(x1, x2)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
[]  =  []
app2c25_out_gga(x1, x2, x3)  =  app2c25_out_gga(x1, x2, x3)
app2c20_out_ggga(x1, x2, x3, x4)  =  app2c20_out_ggga(x1, x2, x3, x4)
app1c40_in_aaag(x1, x2, x3, x4)  =  app1c40_in_aaag(x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app1c40_out_aaag(x1, x2, x3, x4)  =  app1c40_out_aaag(x1, x2, x3, x4)
app2c50_in_gga(x1, x2, x3)  =  app2c50_in_gga(x1, x2)
U26_gga(x1, x2, x3, x4, x5)  =  U26_gga(x1, x2, x3, x5)
app2c50_out_gga(x1, x2, x3)  =  app2c50_out_gga(x1, x2, x3)
app2c67_in_ga(x1, x2)  =  app2c67_in_ga(x1)
app2c67_out_ga(x1, x2)  =  app2c67_out_ga(x1, x2)
PERM21_IN_GA(x1, x2)  =  PERM21_IN_GA(x1)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x1, x4)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x1, x4)

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:

PERM21_IN_GA(T110, .(T111, T141)) → U7_GA(T110, T111, T141, app1c40_in_aaag(T115, T111, T116, T110))
U7_GA(T110, T111, T141, app1c40_out_aaag(T115, T111, T116, T110)) → U8_GA(T110, T111, T141, app2c50_in_gga(T115, T116, T140))
U8_GA(T110, T111, T141, app2c50_out_gga(T115, T116, T140)) → PERM21_IN_GA(T140, T141)

The TRS R consists of the following rules:

app1c40_in_aaag(.(X296, X297), T131, X298, .(X296, T130)) → U22_aaag(X296, X297, T131, X298, T130, app1c40_in_aaag(X297, T131, X298, T130))
app1c40_in_aaag([], T136, X315, .(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
app2c50_in_gga(.(T157, T160), T161, .(T157, X351)) → U26_gga(T157, T160, T161, X351, app2c50_in_gga(T160, T161, X351))
app2c50_in_gga([], T167, T167) → app2c50_out_gga([], T167, T167)
U22_aaag(X296, X297, T131, X298, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
U26_gga(T157, T160, T161, X351, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
app1c40_in_aaag(x1, x2, x3, x4)  =  app1c40_in_aaag(x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app1c40_out_aaag(x1, x2, x3, x4)  =  app1c40_out_aaag(x1, x2, x3, x4)
app2c50_in_gga(x1, x2, x3)  =  app2c50_in_gga(x1, x2)
U26_gga(x1, x2, x3, x4, x5)  =  U26_gga(x1, x2, x3, x5)
app2c50_out_gga(x1, x2, x3)  =  app2c50_out_gga(x1, x2, x3)
PERM21_IN_GA(x1, x2)  =  PERM21_IN_GA(x1)
U7_GA(x1, x2, x3, x4)  =  U7_GA(x1, x4)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x1, x4)

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:

PERM21_IN_GA(T110) → U7_GA(T110, app1c40_in_aaag(T110))
U7_GA(T110, app1c40_out_aaag(T115, T111, T116, T110)) → U8_GA(T110, app2c50_in_gga(T115, T116))
U8_GA(T110, app2c50_out_gga(T115, T116, T140)) → PERM21_IN_GA(T140)

The TRS R consists of the following rules:

app1c40_in_aaag(.(X296, T130)) → U22_aaag(X296, T130, app1c40_in_aaag(T130))
app1c40_in_aaag(.(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
app2c50_in_gga(.(T157, T160), T161) → U26_gga(T157, T160, T161, app2c50_in_gga(T160, T161))
app2c50_in_gga([], T167) → app2c50_out_gga([], T167, T167)
U22_aaag(X296, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
U26_gga(T157, T160, T161, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))

The set Q consists of the following terms:

app1c40_in_aaag(x0)
app2c50_in_gga(x0, x1)
U22_aaag(x0, x1, x2)
U26_gga(x0, x1, x2, x3)

We have to consider all (P,Q,R)-chains.

(26) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U7_GA(T110, app1c40_out_aaag(T115, T111, T116, T110)) → U8_GA(T110, app2c50_in_gga(T115, T116))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(PERM21_IN_GA(x1)) = 1 + x1   
POL(U22_aaag(x1, x2, x3)) = 1 + x3   
POL(U26_gga(x1, x2, x3, x4)) = 1 + x4   
POL(U7_GA(x1, x2)) = 1 + x2   
POL(U8_GA(x1, x2)) = 1 + x2   
POL([]) = 0   
POL(app1c40_in_aaag(x1)) = x1   
POL(app1c40_out_aaag(x1, x2, x3, x4)) = 1 + x1 + x3   
POL(app2c50_in_gga(x1, x2)) = x1 + x2   
POL(app2c50_out_gga(x1, x2, x3)) = x3   

The following usable rules [FROCOS05] were oriented:

app1c40_in_aaag(.(X296, T130)) → U22_aaag(X296, T130, app1c40_in_aaag(T130))
app1c40_in_aaag(.(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
app2c50_in_gga(.(T157, T160), T161) → U26_gga(T157, T160, T161, app2c50_in_gga(T160, T161))
app2c50_in_gga([], T167) → app2c50_out_gga([], T167, T167)
U22_aaag(X296, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
U26_gga(T157, T160, T161, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

PERM21_IN_GA(T110) → U7_GA(T110, app1c40_in_aaag(T110))
U8_GA(T110, app2c50_out_gga(T115, T116, T140)) → PERM21_IN_GA(T140)

The TRS R consists of the following rules:

app1c40_in_aaag(.(X296, T130)) → U22_aaag(X296, T130, app1c40_in_aaag(T130))
app1c40_in_aaag(.(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
app2c50_in_gga(.(T157, T160), T161) → U26_gga(T157, T160, T161, app2c50_in_gga(T160, T161))
app2c50_in_gga([], T167) → app2c50_out_gga([], T167, T167)
U22_aaag(X296, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
U26_gga(T157, T160, T161, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))

The set Q consists of the following terms:

app1c40_in_aaag(x0)
app2c50_in_gga(x0, x1)
U22_aaag(x0, x1, x2)
U26_gga(x0, x1, x2, x3)

We have to consider all (P,Q,R)-chains.

(28) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes.

(29) TRUE

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

APP225_IN_GGA(.(T83, T84), T85, .(T83, X202)) → APP225_IN_GGA(T84, T85, X202)

The TRS R consists of the following rules:

app1c10_in_aaag(.(X100, X101), T40, X102, .(X100, T39)) → U20_aaag(X100, X101, T40, X102, T39, app1c10_in_aaag(X101, T40, X102, T39))
app1c10_in_aaag([], T45, X119, .(T45, X119)) → app1c10_out_aaag([], T45, X119, .(T45, X119))
U20_aaag(X100, X101, T40, X102, T39, app1c10_out_aaag(X101, T40, X102, T39)) → app1c10_out_aaag(.(X100, X101), T40, X102, .(X100, T39))
app2c20_in_ggga(X171, T66, T67, .(X171, X172)) → U27_ggga(X171, T66, T67, X172, app2c25_in_gga(T66, T67, X172))
app2c25_in_gga(.(T83, T84), T85, .(T83, X202)) → U21_gga(T83, T84, T85, X202, app2c25_in_gga(T84, T85, X202))
app2c25_in_gga([], T91, T91) → app2c25_out_gga([], T91, T91)
U21_gga(T83, T84, T85, X202, app2c25_out_gga(T84, T85, X202)) → app2c25_out_gga(.(T83, T84), T85, .(T83, X202))
U27_ggga(X171, T66, T67, X172, app2c25_out_gga(T66, T67, X172)) → app2c20_out_ggga(X171, T66, T67, .(X171, X172))
app1c40_in_aaag(.(X296, X297), T131, X298, .(X296, T130)) → U22_aaag(X296, X297, T131, X298, T130, app1c40_in_aaag(X297, T131, X298, T130))
app1c40_in_aaag([], T136, X315, .(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
U22_aaag(X296, X297, T131, X298, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
app2c50_in_gga(.(T157, T160), T161, .(T157, X351)) → U26_gga(T157, T160, T161, X351, app2c50_in_gga(T160, T161, X351))
app2c50_in_gga([], T167, T167) → app2c50_out_gga([], T167, T167)
U26_gga(T157, T160, T161, X351, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))
app2c67_in_ga(X410, X410) → app2c67_out_ga(X410, X410)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
app1c10_in_aaag(x1, x2, x3, x4)  =  app1c10_in_aaag(x4)
U20_aaag(x1, x2, x3, x4, x5, x6)  =  U20_aaag(x1, x5, x6)
app1c10_out_aaag(x1, x2, x3, x4)  =  app1c10_out_aaag(x1, x2, x3, x4)
app2c20_in_ggga(x1, x2, x3, x4)  =  app2c20_in_ggga(x1, x2, x3)
U27_ggga(x1, x2, x3, x4, x5)  =  U27_ggga(x1, x2, x3, x5)
app2c25_in_gga(x1, x2, x3)  =  app2c25_in_gga(x1, x2)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
[]  =  []
app2c25_out_gga(x1, x2, x3)  =  app2c25_out_gga(x1, x2, x3)
app2c20_out_ggga(x1, x2, x3, x4)  =  app2c20_out_ggga(x1, x2, x3, x4)
app1c40_in_aaag(x1, x2, x3, x4)  =  app1c40_in_aaag(x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app1c40_out_aaag(x1, x2, x3, x4)  =  app1c40_out_aaag(x1, x2, x3, x4)
app2c50_in_gga(x1, x2, x3)  =  app2c50_in_gga(x1, x2)
U26_gga(x1, x2, x3, x4, x5)  =  U26_gga(x1, x2, x3, x5)
app2c50_out_gga(x1, x2, x3)  =  app2c50_out_gga(x1, x2, x3)
app2c67_in_ga(x1, x2)  =  app2c67_in_ga(x1)
app2c67_out_ga(x1, x2)  =  app2c67_out_ga(x1, x2)
APP225_IN_GGA(x1, x2, x3)  =  APP225_IN_GGA(x1, 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:

APP225_IN_GGA(.(T83, T84), T85, .(T83, X202)) → APP225_IN_GGA(T84, T85, X202)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
APP225_IN_GGA(x1, x2, x3)  =  APP225_IN_GGA(x1, 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:

APP225_IN_GGA(.(T83, T84), T85) → APP225_IN_GGA(T84, T85)

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:

  • APP225_IN_GGA(.(T83, T84), T85) → APP225_IN_GGA(T84, T85)
    The graph contains the following edges 1 > 1, 2 >= 2

(36) YES

(37) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

APP110_IN_AAAG(.(X100, X101), T40, X102, .(X100, T39)) → APP110_IN_AAAG(X101, T40, X102, T39)

The TRS R consists of the following rules:

app1c10_in_aaag(.(X100, X101), T40, X102, .(X100, T39)) → U20_aaag(X100, X101, T40, X102, T39, app1c10_in_aaag(X101, T40, X102, T39))
app1c10_in_aaag([], T45, X119, .(T45, X119)) → app1c10_out_aaag([], T45, X119, .(T45, X119))
U20_aaag(X100, X101, T40, X102, T39, app1c10_out_aaag(X101, T40, X102, T39)) → app1c10_out_aaag(.(X100, X101), T40, X102, .(X100, T39))
app2c20_in_ggga(X171, T66, T67, .(X171, X172)) → U27_ggga(X171, T66, T67, X172, app2c25_in_gga(T66, T67, X172))
app2c25_in_gga(.(T83, T84), T85, .(T83, X202)) → U21_gga(T83, T84, T85, X202, app2c25_in_gga(T84, T85, X202))
app2c25_in_gga([], T91, T91) → app2c25_out_gga([], T91, T91)
U21_gga(T83, T84, T85, X202, app2c25_out_gga(T84, T85, X202)) → app2c25_out_gga(.(T83, T84), T85, .(T83, X202))
U27_ggga(X171, T66, T67, X172, app2c25_out_gga(T66, T67, X172)) → app2c20_out_ggga(X171, T66, T67, .(X171, X172))
app1c40_in_aaag(.(X296, X297), T131, X298, .(X296, T130)) → U22_aaag(X296, X297, T131, X298, T130, app1c40_in_aaag(X297, T131, X298, T130))
app1c40_in_aaag([], T136, X315, .(T136, X315)) → app1c40_out_aaag([], T136, X315, .(T136, X315))
U22_aaag(X296, X297, T131, X298, T130, app1c40_out_aaag(X297, T131, X298, T130)) → app1c40_out_aaag(.(X296, X297), T131, X298, .(X296, T130))
app2c50_in_gga(.(T157, T160), T161, .(T157, X351)) → U26_gga(T157, T160, T161, X351, app2c50_in_gga(T160, T161, X351))
app2c50_in_gga([], T167, T167) → app2c50_out_gga([], T167, T167)
U26_gga(T157, T160, T161, X351, app2c50_out_gga(T160, T161, X351)) → app2c50_out_gga(.(T157, T160), T161, .(T157, X351))
app2c67_in_ga(X410, X410) → app2c67_out_ga(X410, X410)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
app1c10_in_aaag(x1, x2, x3, x4)  =  app1c10_in_aaag(x4)
U20_aaag(x1, x2, x3, x4, x5, x6)  =  U20_aaag(x1, x5, x6)
app1c10_out_aaag(x1, x2, x3, x4)  =  app1c10_out_aaag(x1, x2, x3, x4)
app2c20_in_ggga(x1, x2, x3, x4)  =  app2c20_in_ggga(x1, x2, x3)
U27_ggga(x1, x2, x3, x4, x5)  =  U27_ggga(x1, x2, x3, x5)
app2c25_in_gga(x1, x2, x3)  =  app2c25_in_gga(x1, x2)
U21_gga(x1, x2, x3, x4, x5)  =  U21_gga(x1, x2, x3, x5)
[]  =  []
app2c25_out_gga(x1, x2, x3)  =  app2c25_out_gga(x1, x2, x3)
app2c20_out_ggga(x1, x2, x3, x4)  =  app2c20_out_ggga(x1, x2, x3, x4)
app1c40_in_aaag(x1, x2, x3, x4)  =  app1c40_in_aaag(x4)
U22_aaag(x1, x2, x3, x4, x5, x6)  =  U22_aaag(x1, x5, x6)
app1c40_out_aaag(x1, x2, x3, x4)  =  app1c40_out_aaag(x1, x2, x3, x4)
app2c50_in_gga(x1, x2, x3)  =  app2c50_in_gga(x1, x2)
U26_gga(x1, x2, x3, x4, x5)  =  U26_gga(x1, x2, x3, x5)
app2c50_out_gga(x1, x2, x3)  =  app2c50_out_gga(x1, x2, x3)
app2c67_in_ga(x1, x2)  =  app2c67_in_ga(x1)
app2c67_out_ga(x1, x2)  =  app2c67_out_ga(x1, x2)
APP110_IN_AAAG(x1, x2, x3, x4)  =  APP110_IN_AAAG(x4)

We have to consider all (P,R,Pi)-chains

(38) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(39) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

APP110_IN_AAAG(.(X100, X101), T40, X102, .(X100, T39)) → APP110_IN_AAAG(X101, T40, X102, T39)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
APP110_IN_AAAG(x1, x2, x3, x4)  =  APP110_IN_AAAG(x4)

We have to consider all (P,R,Pi)-chains

(40) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(41) Obligation:

Q DP problem:
The TRS P consists of the following rules:

APP110_IN_AAAG(.(X100, T39)) → APP110_IN_AAAG(T39)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(42) 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:

  • APP110_IN_AAAG(.(X100, T39)) → APP110_IN_AAAG(T39)
    The graph contains the following edges 1 > 1

(43) YES