(0) Obligation:

Clauses:

perm([], []).
perm(.(X, L), Z) :- ','(perm(L, Y), insert(X, Y, Z)).
insert(X, [], .(X, [])).
insert(X, L, .(X, L)).
insert(X, .(H, L1), .(H, L2)) :- insert(X, L1, L2).

Queries:

perm(g,a).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

perm28([], []).
perm28(.(T34, T35), X68) :- perm28(T35, X67).
perm28(.(T34, T35), X68) :- ','(perm28(T35, T36), insert39(T34, T36, X68)).
insert39(T43, [], .(T43, [])).
insert39(T52, T53, .(T52, T53)).
insert39(T60, .(T61, T62), .(T61, X104)) :- insert39(T60, T62, X104).
insert53(T76, [], .(T76, [])).
insert53(T85, T86, .(T85, T86)).
insert53(T95, .(T96, T97), .(T96, T99)) :- insert53(T95, T97, T99).
perm1([], []).
perm1(.(T16, []), .(T16, [])).
perm1(.(T21, []), .(T21, [])).
perm1(.(T6, .(T27, T28)), T9) :- perm28(T28, X50).
perm1(.(T6, .(T27, T28)), T9) :- ','(perm28(T28, T29), insert39(T27, T29, X51)).
perm1(.(T6, .(T27, T28)), T9) :- ','(perm28(T28, T29), ','(insert39(T27, T29, T67), insert53(T6, T67, T9))).

Queries:

perm1(g,a).

(3) PrologToPiTRSProof (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)
perm28_in: (b,f)
insert39_in: (b,f,f)
insert53_in: (b,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x1, x2, x3, x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x1, x2, x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa(x1)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x3, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x1, x2, x3, x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x2, x3, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x1, x2, x3, x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa(x1)
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x1, x5)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x1, x2, x3, x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x1, x2, x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa(x1)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x3, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x1, x2, x3, x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x2, x3, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x1, x2, x3, x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa(x1)
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x1, x5)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

PERM1_IN_GA(.(T6, .(T27, T28)), T9) → U6_GA(T6, T27, T28, T9, perm28_in_ga(T28, X50))
PERM1_IN_GA(.(T6, .(T27, T28)), T9) → PERM28_IN_GA(T28, X50)
PERM28_IN_GA(.(T34, T35), X68) → U1_GA(T34, T35, X68, perm28_in_ga(T35, X67))
PERM28_IN_GA(.(T34, T35), X68) → PERM28_IN_GA(T35, X67)
PERM28_IN_GA(.(T34, T35), X68) → U2_GA(T34, T35, X68, perm28_in_ga(T35, T36))
U2_GA(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_GA(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
U2_GA(T34, T35, X68, perm28_out_ga(T35, T36)) → INSERT39_IN_GAA(T34, T36, X68)
INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → U4_GAA(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → INSERT39_IN_GAA(T60, T62, X104)
PERM1_IN_GA(.(T6, .(T27, T28)), T9) → U7_GA(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_GA(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → INSERT39_IN_GAA(T27, T29, X51)
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_GA(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_GA(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_GA(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
U9_GA(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → INSERT53_IN_GAA(T6, T67, T9)
INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → U5_GAA(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → INSERT53_IN_GAA(T95, T97, T99)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x1, x2, x3, x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x1, x2, x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa(x1)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x3, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x1, x2, x3, x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x2, x3, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x1, x2, x3, x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa(x1)
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x1, x5)
PERM1_IN_GA(x1, x2)  =  PERM1_IN_GA(x1)
U6_GA(x1, x2, x3, x4, x5)  =  U6_GA(x1, x2, x3, x5)
PERM28_IN_GA(x1, x2)  =  PERM28_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x2, x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x2, x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x1, x2, x4)
INSERT39_IN_GAA(x1, x2, x3)  =  INSERT39_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x1, x5)
U7_GA(x1, x2, x3, x4, x5)  =  U7_GA(x1, x2, x3, x5)
U8_GA(x1, x2, x3, x4, x5)  =  U8_GA(x1, x2, x3, x5)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x2, x3, x5)
U10_GA(x1, x2, x3, x4, x5)  =  U10_GA(x1, x2, x3, x5)
INSERT53_IN_GAA(x1, x2, x3)  =  INSERT53_IN_GAA(x1)
U5_GAA(x1, x2, x3, x4, x5)  =  U5_GAA(x1, x5)

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

(6) Obligation:

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

PERM1_IN_GA(.(T6, .(T27, T28)), T9) → U6_GA(T6, T27, T28, T9, perm28_in_ga(T28, X50))
PERM1_IN_GA(.(T6, .(T27, T28)), T9) → PERM28_IN_GA(T28, X50)
PERM28_IN_GA(.(T34, T35), X68) → U1_GA(T34, T35, X68, perm28_in_ga(T35, X67))
PERM28_IN_GA(.(T34, T35), X68) → PERM28_IN_GA(T35, X67)
PERM28_IN_GA(.(T34, T35), X68) → U2_GA(T34, T35, X68, perm28_in_ga(T35, T36))
U2_GA(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_GA(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
U2_GA(T34, T35, X68, perm28_out_ga(T35, T36)) → INSERT39_IN_GAA(T34, T36, X68)
INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → U4_GAA(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → INSERT39_IN_GAA(T60, T62, X104)
PERM1_IN_GA(.(T6, .(T27, T28)), T9) → U7_GA(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_GA(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → INSERT39_IN_GAA(T27, T29, X51)
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_GA(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_GA(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_GA(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
U9_GA(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → INSERT53_IN_GAA(T6, T67, T9)
INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → U5_GAA(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → INSERT53_IN_GAA(T95, T97, T99)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x1, x2, x3, x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x1, x2, x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa(x1)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x3, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x1, x2, x3, x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x2, x3, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x1, x2, x3, x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa(x1)
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x1, x5)
PERM1_IN_GA(x1, x2)  =  PERM1_IN_GA(x1)
U6_GA(x1, x2, x3, x4, x5)  =  U6_GA(x1, x2, x3, x5)
PERM28_IN_GA(x1, x2)  =  PERM28_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x2, x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x2, x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x1, x2, x4)
INSERT39_IN_GAA(x1, x2, x3)  =  INSERT39_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x1, x5)
U7_GA(x1, x2, x3, x4, x5)  =  U7_GA(x1, x2, x3, x5)
U8_GA(x1, x2, x3, x4, x5)  =  U8_GA(x1, x2, x3, x5)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x2, x3, x5)
U10_GA(x1, x2, x3, x4, x5)  =  U10_GA(x1, x2, x3, x5)
INSERT53_IN_GAA(x1, x2, x3)  =  INSERT53_IN_GAA(x1)
U5_GAA(x1, x2, x3, x4, x5)  =  U5_GAA(x1, x5)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 14 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → INSERT53_IN_GAA(T95, T97, T99)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x1, x2, x3, x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x1, x2, x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa(x1)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x3, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x1, x2, x3, x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x2, x3, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x1, x2, x3, x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa(x1)
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x1, x5)
INSERT53_IN_GAA(x1, x2, x3)  =  INSERT53_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:

INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → INSERT53_IN_GAA(T95, T97, T99)

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

INSERT53_IN_GAA(T95) → INSERT53_IN_GAA(T95)

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

(14) 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 = INSERT53_IN_GAA(T95) evaluates to t =INSERT53_IN_GAA(T95)

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from INSERT53_IN_GAA(T95) to INSERT53_IN_GAA(T95).



(15) NO

(16) Obligation:

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

INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → INSERT39_IN_GAA(T60, T62, X104)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x1, x2, x3, x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x1, x2, x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa(x1)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x3, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x1, x2, x3, x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x2, x3, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x1, x2, x3, x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa(x1)
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x1, x5)
INSERT39_IN_GAA(x1, x2, x3)  =  INSERT39_IN_GAA(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:

INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → INSERT39_IN_GAA(T60, T62, X104)

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

INSERT39_IN_GAA(T60) → INSERT39_IN_GAA(T60)

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

(21) 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 = INSERT39_IN_GAA(T60) evaluates to t =INSERT39_IN_GAA(T60)

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from INSERT39_IN_GAA(T60) to INSERT39_IN_GAA(T60).



(22) NO

(23) Obligation:

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

PERM28_IN_GA(.(T34, T35), X68) → PERM28_IN_GA(T35, X67)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x1, x2, x3, x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga(x1)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x1, x2, x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa(x1)
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x1, x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x3, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x1, x2, x3, x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x2, x3, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x1, x2, x3, x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa(x1)
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x1, x5)
PERM28_IN_GA(x1, x2)  =  PERM28_IN_GA(x1)

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:

PERM28_IN_GA(.(T34, T35), X68) → PERM28_IN_GA(T35, X67)

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

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:

PERM28_IN_GA(.(T34, T35)) → PERM28_IN_GA(T35)

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

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

  • PERM28_IN_GA(.(T34, T35)) → PERM28_IN_GA(T35)
    The graph contains the following edges 1 > 1

(29) YES

(30) PrologToPiTRSProof (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)
perm28_in: (b,f)
insert39_in: (b,f,f)
insert53_in: (b,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x5)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(31) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x5)

(32) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

PERM1_IN_GA(.(T6, .(T27, T28)), T9) → U6_GA(T6, T27, T28, T9, perm28_in_ga(T28, X50))
PERM1_IN_GA(.(T6, .(T27, T28)), T9) → PERM28_IN_GA(T28, X50)
PERM28_IN_GA(.(T34, T35), X68) → U1_GA(T34, T35, X68, perm28_in_ga(T35, X67))
PERM28_IN_GA(.(T34, T35), X68) → PERM28_IN_GA(T35, X67)
PERM28_IN_GA(.(T34, T35), X68) → U2_GA(T34, T35, X68, perm28_in_ga(T35, T36))
U2_GA(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_GA(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
U2_GA(T34, T35, X68, perm28_out_ga(T35, T36)) → INSERT39_IN_GAA(T34, T36, X68)
INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → U4_GAA(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → INSERT39_IN_GAA(T60, T62, X104)
PERM1_IN_GA(.(T6, .(T27, T28)), T9) → U7_GA(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_GA(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → INSERT39_IN_GAA(T27, T29, X51)
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_GA(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_GA(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_GA(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
U9_GA(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → INSERT53_IN_GAA(T6, T67, T9)
INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → U5_GAA(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → INSERT53_IN_GAA(T95, T97, T99)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x5)
PERM1_IN_GA(x1, x2)  =  PERM1_IN_GA(x1)
U6_GA(x1, x2, x3, x4, x5)  =  U6_GA(x5)
PERM28_IN_GA(x1, x2)  =  PERM28_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x4)
INSERT39_IN_GAA(x1, x2, x3)  =  INSERT39_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x5)
U7_GA(x1, x2, x3, x4, x5)  =  U7_GA(x1, x2, x5)
U8_GA(x1, x2, x3, x4, x5)  =  U8_GA(x5)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x5)
U10_GA(x1, x2, x3, x4, x5)  =  U10_GA(x5)
INSERT53_IN_GAA(x1, x2, x3)  =  INSERT53_IN_GAA(x1)
U5_GAA(x1, x2, x3, x4, x5)  =  U5_GAA(x5)

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

(33) Obligation:

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

PERM1_IN_GA(.(T6, .(T27, T28)), T9) → U6_GA(T6, T27, T28, T9, perm28_in_ga(T28, X50))
PERM1_IN_GA(.(T6, .(T27, T28)), T9) → PERM28_IN_GA(T28, X50)
PERM28_IN_GA(.(T34, T35), X68) → U1_GA(T34, T35, X68, perm28_in_ga(T35, X67))
PERM28_IN_GA(.(T34, T35), X68) → PERM28_IN_GA(T35, X67)
PERM28_IN_GA(.(T34, T35), X68) → U2_GA(T34, T35, X68, perm28_in_ga(T35, T36))
U2_GA(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_GA(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
U2_GA(T34, T35, X68, perm28_out_ga(T35, T36)) → INSERT39_IN_GAA(T34, T36, X68)
INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → U4_GAA(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → INSERT39_IN_GAA(T60, T62, X104)
PERM1_IN_GA(.(T6, .(T27, T28)), T9) → U7_GA(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_GA(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → INSERT39_IN_GAA(T27, T29, X51)
U7_GA(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_GA(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_GA(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_GA(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
U9_GA(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → INSERT53_IN_GAA(T6, T67, T9)
INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → U5_GAA(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → INSERT53_IN_GAA(T95, T97, T99)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x5)
PERM1_IN_GA(x1, x2)  =  PERM1_IN_GA(x1)
U6_GA(x1, x2, x3, x4, x5)  =  U6_GA(x5)
PERM28_IN_GA(x1, x2)  =  PERM28_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x4)
INSERT39_IN_GAA(x1, x2, x3)  =  INSERT39_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5)  =  U4_GAA(x5)
U7_GA(x1, x2, x3, x4, x5)  =  U7_GA(x1, x2, x5)
U8_GA(x1, x2, x3, x4, x5)  =  U8_GA(x5)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x5)
U10_GA(x1, x2, x3, x4, x5)  =  U10_GA(x5)
INSERT53_IN_GAA(x1, x2, x3)  =  INSERT53_IN_GAA(x1)
U5_GAA(x1, x2, x3, x4, x5)  =  U5_GAA(x5)

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

(34) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 14 less nodes.

(35) Complex Obligation (AND)

(36) Obligation:

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

INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → INSERT53_IN_GAA(T95, T97, T99)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x5)
INSERT53_IN_GAA(x1, x2, x3)  =  INSERT53_IN_GAA(x1)

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

(37) UsableRulesProof (EQUIVALENT transformation)

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

(38) Obligation:

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

INSERT53_IN_GAA(T95, .(T96, T97), .(T96, T99)) → INSERT53_IN_GAA(T95, T97, T99)

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

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

(39) PiDPToQDPProof (SOUND transformation)

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

(40) Obligation:

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

INSERT53_IN_GAA(T95) → INSERT53_IN_GAA(T95)

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

(41) 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 = INSERT53_IN_GAA(T95) evaluates to t =INSERT53_IN_GAA(T95)

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from INSERT53_IN_GAA(T95) to INSERT53_IN_GAA(T95).



(42) NO

(43) Obligation:

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

INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → INSERT39_IN_GAA(T60, T62, X104)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x5)
INSERT39_IN_GAA(x1, x2, x3)  =  INSERT39_IN_GAA(x1)

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

(44) UsableRulesProof (EQUIVALENT transformation)

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

(45) Obligation:

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

INSERT39_IN_GAA(T60, .(T61, T62), .(T61, X104)) → INSERT39_IN_GAA(T60, T62, X104)

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

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

(46) PiDPToQDPProof (SOUND transformation)

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

(47) Obligation:

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

INSERT39_IN_GAA(T60) → INSERT39_IN_GAA(T60)

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

(48) 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 = INSERT39_IN_GAA(T60) evaluates to t =INSERT39_IN_GAA(T60)

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Matcher: [ ]
  • Semiunifier: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from INSERT39_IN_GAA(T60) to INSERT39_IN_GAA(T60).



(49) NO

(50) Obligation:

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

PERM28_IN_GA(.(T34, T35), X68) → PERM28_IN_GA(T35, X67)

The TRS R consists of the following rules:

perm1_in_ga([], []) → perm1_out_ga([], [])
perm1_in_ga(.(T16, []), .(T16, [])) → perm1_out_ga(.(T16, []), .(T16, []))
perm1_in_ga(.(T6, .(T27, T28)), T9) → U6_ga(T6, T27, T28, T9, perm28_in_ga(T28, X50))
perm28_in_ga([], []) → perm28_out_ga([], [])
perm28_in_ga(.(T34, T35), X68) → U1_ga(T34, T35, X68, perm28_in_ga(T35, X67))
perm28_in_ga(.(T34, T35), X68) → U2_ga(T34, T35, X68, perm28_in_ga(T35, T36))
U2_ga(T34, T35, X68, perm28_out_ga(T35, T36)) → U3_ga(T34, T35, X68, insert39_in_gaa(T34, T36, X68))
insert39_in_gaa(T43, [], .(T43, [])) → insert39_out_gaa(T43, [], .(T43, []))
insert39_in_gaa(T52, T53, .(T52, T53)) → insert39_out_gaa(T52, T53, .(T52, T53))
insert39_in_gaa(T60, .(T61, T62), .(T61, X104)) → U4_gaa(T60, T61, T62, X104, insert39_in_gaa(T60, T62, X104))
U4_gaa(T60, T61, T62, X104, insert39_out_gaa(T60, T62, X104)) → insert39_out_gaa(T60, .(T61, T62), .(T61, X104))
U3_ga(T34, T35, X68, insert39_out_gaa(T34, T36, X68)) → perm28_out_ga(.(T34, T35), X68)
U1_ga(T34, T35, X68, perm28_out_ga(T35, X67)) → perm28_out_ga(.(T34, T35), X68)
U6_ga(T6, T27, T28, T9, perm28_out_ga(T28, X50)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
perm1_in_ga(.(T6, .(T27, T28)), T9) → U7_ga(T6, T27, T28, T9, perm28_in_ga(T28, T29))
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U8_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, X51))
U8_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, X51)) → perm1_out_ga(.(T6, .(T27, T28)), T9)
U7_ga(T6, T27, T28, T9, perm28_out_ga(T28, T29)) → U9_ga(T6, T27, T28, T9, insert39_in_gaa(T27, T29, T67))
U9_ga(T6, T27, T28, T9, insert39_out_gaa(T27, T29, T67)) → U10_ga(T6, T27, T28, T9, insert53_in_gaa(T6, T67, T9))
insert53_in_gaa(T76, [], .(T76, [])) → insert53_out_gaa(T76, [], .(T76, []))
insert53_in_gaa(T85, T86, .(T85, T86)) → insert53_out_gaa(T85, T86, .(T85, T86))
insert53_in_gaa(T95, .(T96, T97), .(T96, T99)) → U5_gaa(T95, T96, T97, T99, insert53_in_gaa(T95, T97, T99))
U5_gaa(T95, T96, T97, T99, insert53_out_gaa(T95, T97, T99)) → insert53_out_gaa(T95, .(T96, T97), .(T96, T99))
U10_ga(T6, T27, T28, T9, insert53_out_gaa(T6, T67, T9)) → perm1_out_ga(.(T6, .(T27, T28)), T9)

The argument filtering Pi contains the following mapping:
perm1_in_ga(x1, x2)  =  perm1_in_ga(x1)
[]  =  []
perm1_out_ga(x1, x2)  =  perm1_out_ga
.(x1, x2)  =  .(x1, x2)
U6_ga(x1, x2, x3, x4, x5)  =  U6_ga(x5)
perm28_in_ga(x1, x2)  =  perm28_in_ga(x1)
perm28_out_ga(x1, x2)  =  perm28_out_ga
U1_ga(x1, x2, x3, x4)  =  U1_ga(x4)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x4)
U3_ga(x1, x2, x3, x4)  =  U3_ga(x4)
insert39_in_gaa(x1, x2, x3)  =  insert39_in_gaa(x1)
insert39_out_gaa(x1, x2, x3)  =  insert39_out_gaa
U4_gaa(x1, x2, x3, x4, x5)  =  U4_gaa(x5)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x1, x2, x5)
U8_ga(x1, x2, x3, x4, x5)  =  U8_ga(x5)
U9_ga(x1, x2, x3, x4, x5)  =  U9_ga(x1, x5)
U10_ga(x1, x2, x3, x4, x5)  =  U10_ga(x5)
insert53_in_gaa(x1, x2, x3)  =  insert53_in_gaa(x1)
insert53_out_gaa(x1, x2, x3)  =  insert53_out_gaa
U5_gaa(x1, x2, x3, x4, x5)  =  U5_gaa(x5)
PERM28_IN_GA(x1, x2)  =  PERM28_IN_GA(x1)

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

(51) UsableRulesProof (EQUIVALENT transformation)

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

(52) Obligation:

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

PERM28_IN_GA(.(T34, T35), X68) → PERM28_IN_GA(T35, X67)

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

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

(53) PiDPToQDPProof (SOUND transformation)

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

(54) Obligation:

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

PERM28_IN_GA(.(T34, T35)) → PERM28_IN_GA(T35)

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

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

  • PERM28_IN_GA(.(T34, T35)) → PERM28_IN_GA(T35)
    The graph contains the following edges 1 > 1

(56) YES