(0) Obligation:

Clauses:

perm1(L, M) :- ','(eq_len1(L, M), same_sets(L, M)).
eq_len1([], []).
eq_len1(.(X1, Xs), .(X2, Ys)) :- eq_len1(Xs, Ys).
member(X, .(X, X3)).
member(X, .(X4, T)) :- member(X, T).
same_sets([], X5).
same_sets(.(X, Xs), L) :- ','(member(X, L), same_sets(Xs, L)).

Queries:

perm1(g,g).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

eq_len117(.(T27, T28), .(T29, T30)) :- eq_len117(T28, T30).
member38(T102, .(T103, T104)) :- member38(T102, T104).
p29(T79, T80, T81, T48) :- member38(T79, T81).
p29(T47, T133, T134, .(T131, T132)) :- ','(memberc30(T47, T133, T134), p29(T131, T133, T134, T132)).
perm11(.(T15, T16), .(T17, T18)) :- eq_len117(T16, T18).
perm11(.(T47, T48), .(T49, T50)) :- ','(eq_len1c17(T48, T50), p29(T47, T49, T50, T48)).

Clauses:

eq_len1c17([], []).
eq_len1c17(.(T27, T28), .(T29, T30)) :- eq_len1c17(T28, T30).
memberc38(T94, .(T94, T95)).
memberc38(T102, .(T103, T104)) :- memberc38(T102, T104).
qc29(T47, T121, T122, []) :- memberc30(T47, T121, T122).
qc29(T47, T133, T134, .(T131, T132)) :- ','(memberc30(T47, T133, T134), qc29(T131, T133, T134, T132)).
memberc30(T67, T67, T68).
memberc30(T79, T80, T81) :- memberc38(T79, T81).

Afs:

perm11(x1, x2)  =  perm11(x1, x2)

(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:
perm11_in: (b,b)
eq_len117_in: (b,b)
eq_len1c17_in: (b,b)
p29_in: (b,b,b,b)
member38_in: (b,b)
memberc30_in: (b,b,b)
memberc38_in: (b,b)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

PERM11_IN_GG(.(T15, T16), .(T17, T18)) → U6_GG(T15, T16, T17, T18, eq_len117_in_gg(T16, T18))
PERM11_IN_GG(.(T15, T16), .(T17, T18)) → EQ_LEN117_IN_GG(T16, T18)
EQ_LEN117_IN_GG(.(T27, T28), .(T29, T30)) → U1_GG(T27, T28, T29, T30, eq_len117_in_gg(T28, T30))
EQ_LEN117_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN117_IN_GG(T28, T30)
PERM11_IN_GG(.(T47, T48), .(T49, T50)) → U7_GG(T47, T48, T49, T50, eq_len1c17_in_gg(T48, T50))
U7_GG(T47, T48, T49, T50, eq_len1c17_out_gg(T48, T50)) → U8_GG(T47, T48, T49, T50, p29_in_gggg(T47, T49, T50, T48))
U7_GG(T47, T48, T49, T50, eq_len1c17_out_gg(T48, T50)) → P29_IN_GGGG(T47, T49, T50, T48)
P29_IN_GGGG(T79, T80, T81, T48) → U3_GGGG(T79, T80, T81, T48, member38_in_gg(T79, T81))
P29_IN_GGGG(T79, T80, T81, T48) → MEMBER38_IN_GG(T79, T81)
MEMBER38_IN_GG(T102, .(T103, T104)) → U2_GG(T102, T103, T104, member38_in_gg(T102, T104))
MEMBER38_IN_GG(T102, .(T103, T104)) → MEMBER38_IN_GG(T102, T104)
P29_IN_GGGG(T47, T133, T134, .(T131, T132)) → U4_GGGG(T47, T133, T134, T131, T132, memberc30_in_ggg(T47, T133, T134))
U4_GGGG(T47, T133, T134, T131, T132, memberc30_out_ggg(T47, T133, T134)) → U5_GGGG(T47, T133, T134, T131, T132, p29_in_gggg(T131, T133, T134, T132))
U4_GGGG(T47, T133, T134, T131, T132, memberc30_out_ggg(T47, T133, T134)) → P29_IN_GGGG(T131, T133, T134, T132)

The TRS R consists of the following rules:

eq_len1c17_in_gg([], []) → eq_len1c17_out_gg([], [])
eq_len1c17_in_gg(.(T27, T28), .(T29, T30)) → U10_gg(T27, T28, T29, T30, eq_len1c17_in_gg(T28, T30))
U10_gg(T27, T28, T29, T30, eq_len1c17_out_gg(T28, T30)) → eq_len1c17_out_gg(.(T27, T28), .(T29, T30))
memberc30_in_ggg(T67, T67, T68) → memberc30_out_ggg(T67, T67, T68)
memberc30_in_ggg(T79, T80, T81) → U15_ggg(T79, T80, T81, memberc38_in_gg(T79, T81))
memberc38_in_gg(T94, .(T94, T95)) → memberc38_out_gg(T94, .(T94, T95))
memberc38_in_gg(T102, .(T103, T104)) → U11_gg(T102, T103, T104, memberc38_in_gg(T102, T104))
U11_gg(T102, T103, T104, memberc38_out_gg(T102, T104)) → memberc38_out_gg(T102, .(T103, T104))
U15_ggg(T79, T80, T81, memberc38_out_gg(T79, T81)) → memberc30_out_ggg(T79, T80, T81)

Pi is empty.
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:

PERM11_IN_GG(.(T15, T16), .(T17, T18)) → U6_GG(T15, T16, T17, T18, eq_len117_in_gg(T16, T18))
PERM11_IN_GG(.(T15, T16), .(T17, T18)) → EQ_LEN117_IN_GG(T16, T18)
EQ_LEN117_IN_GG(.(T27, T28), .(T29, T30)) → U1_GG(T27, T28, T29, T30, eq_len117_in_gg(T28, T30))
EQ_LEN117_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN117_IN_GG(T28, T30)
PERM11_IN_GG(.(T47, T48), .(T49, T50)) → U7_GG(T47, T48, T49, T50, eq_len1c17_in_gg(T48, T50))
U7_GG(T47, T48, T49, T50, eq_len1c17_out_gg(T48, T50)) → U8_GG(T47, T48, T49, T50, p29_in_gggg(T47, T49, T50, T48))
U7_GG(T47, T48, T49, T50, eq_len1c17_out_gg(T48, T50)) → P29_IN_GGGG(T47, T49, T50, T48)
P29_IN_GGGG(T79, T80, T81, T48) → U3_GGGG(T79, T80, T81, T48, member38_in_gg(T79, T81))
P29_IN_GGGG(T79, T80, T81, T48) → MEMBER38_IN_GG(T79, T81)
MEMBER38_IN_GG(T102, .(T103, T104)) → U2_GG(T102, T103, T104, member38_in_gg(T102, T104))
MEMBER38_IN_GG(T102, .(T103, T104)) → MEMBER38_IN_GG(T102, T104)
P29_IN_GGGG(T47, T133, T134, .(T131, T132)) → U4_GGGG(T47, T133, T134, T131, T132, memberc30_in_ggg(T47, T133, T134))
U4_GGGG(T47, T133, T134, T131, T132, memberc30_out_ggg(T47, T133, T134)) → U5_GGGG(T47, T133, T134, T131, T132, p29_in_gggg(T131, T133, T134, T132))
U4_GGGG(T47, T133, T134, T131, T132, memberc30_out_ggg(T47, T133, T134)) → P29_IN_GGGG(T131, T133, T134, T132)

The TRS R consists of the following rules:

eq_len1c17_in_gg([], []) → eq_len1c17_out_gg([], [])
eq_len1c17_in_gg(.(T27, T28), .(T29, T30)) → U10_gg(T27, T28, T29, T30, eq_len1c17_in_gg(T28, T30))
U10_gg(T27, T28, T29, T30, eq_len1c17_out_gg(T28, T30)) → eq_len1c17_out_gg(.(T27, T28), .(T29, T30))
memberc30_in_ggg(T67, T67, T68) → memberc30_out_ggg(T67, T67, T68)
memberc30_in_ggg(T79, T80, T81) → U15_ggg(T79, T80, T81, memberc38_in_gg(T79, T81))
memberc38_in_gg(T94, .(T94, T95)) → memberc38_out_gg(T94, .(T94, T95))
memberc38_in_gg(T102, .(T103, T104)) → U11_gg(T102, T103, T104, memberc38_in_gg(T102, T104))
U11_gg(T102, T103, T104, memberc38_out_gg(T102, T104)) → memberc38_out_gg(T102, .(T103, T104))
U15_ggg(T79, T80, T81, memberc38_out_gg(T79, T81)) → memberc30_out_ggg(T79, T80, T81)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

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

(6) Complex Obligation (AND)

(7) Obligation:

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

MEMBER38_IN_GG(T102, .(T103, T104)) → MEMBER38_IN_GG(T102, T104)

The TRS R consists of the following rules:

eq_len1c17_in_gg([], []) → eq_len1c17_out_gg([], [])
eq_len1c17_in_gg(.(T27, T28), .(T29, T30)) → U10_gg(T27, T28, T29, T30, eq_len1c17_in_gg(T28, T30))
U10_gg(T27, T28, T29, T30, eq_len1c17_out_gg(T28, T30)) → eq_len1c17_out_gg(.(T27, T28), .(T29, T30))
memberc30_in_ggg(T67, T67, T68) → memberc30_out_ggg(T67, T67, T68)
memberc30_in_ggg(T79, T80, T81) → U15_ggg(T79, T80, T81, memberc38_in_gg(T79, T81))
memberc38_in_gg(T94, .(T94, T95)) → memberc38_out_gg(T94, .(T94, T95))
memberc38_in_gg(T102, .(T103, T104)) → U11_gg(T102, T103, T104, memberc38_in_gg(T102, T104))
U11_gg(T102, T103, T104, memberc38_out_gg(T102, T104)) → memberc38_out_gg(T102, .(T103, T104))
U15_ggg(T79, T80, T81, memberc38_out_gg(T79, T81)) → memberc30_out_ggg(T79, T80, T81)

Pi is empty.
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:

MEMBER38_IN_GG(T102, .(T103, T104)) → MEMBER38_IN_GG(T102, T104)

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

(10) PiDPToQDPProof (EQUIVALENT 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:

MEMBER38_IN_GG(T102, .(T103, T104)) → MEMBER38_IN_GG(T102, T104)

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:

  • MEMBER38_IN_GG(T102, .(T103, T104)) → MEMBER38_IN_GG(T102, T104)
    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:

P29_IN_GGGG(T47, T133, T134, .(T131, T132)) → U4_GGGG(T47, T133, T134, T131, T132, memberc30_in_ggg(T47, T133, T134))
U4_GGGG(T47, T133, T134, T131, T132, memberc30_out_ggg(T47, T133, T134)) → P29_IN_GGGG(T131, T133, T134, T132)

The TRS R consists of the following rules:

eq_len1c17_in_gg([], []) → eq_len1c17_out_gg([], [])
eq_len1c17_in_gg(.(T27, T28), .(T29, T30)) → U10_gg(T27, T28, T29, T30, eq_len1c17_in_gg(T28, T30))
U10_gg(T27, T28, T29, T30, eq_len1c17_out_gg(T28, T30)) → eq_len1c17_out_gg(.(T27, T28), .(T29, T30))
memberc30_in_ggg(T67, T67, T68) → memberc30_out_ggg(T67, T67, T68)
memberc30_in_ggg(T79, T80, T81) → U15_ggg(T79, T80, T81, memberc38_in_gg(T79, T81))
memberc38_in_gg(T94, .(T94, T95)) → memberc38_out_gg(T94, .(T94, T95))
memberc38_in_gg(T102, .(T103, T104)) → U11_gg(T102, T103, T104, memberc38_in_gg(T102, T104))
U11_gg(T102, T103, T104, memberc38_out_gg(T102, T104)) → memberc38_out_gg(T102, .(T103, T104))
U15_ggg(T79, T80, T81, memberc38_out_gg(T79, T81)) → memberc30_out_ggg(T79, T80, T81)

Pi is empty.
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:

P29_IN_GGGG(T47, T133, T134, .(T131, T132)) → U4_GGGG(T47, T133, T134, T131, T132, memberc30_in_ggg(T47, T133, T134))
U4_GGGG(T47, T133, T134, T131, T132, memberc30_out_ggg(T47, T133, T134)) → P29_IN_GGGG(T131, T133, T134, T132)

The TRS R consists of the following rules:

memberc30_in_ggg(T67, T67, T68) → memberc30_out_ggg(T67, T67, T68)
memberc30_in_ggg(T79, T80, T81) → U15_ggg(T79, T80, T81, memberc38_in_gg(T79, T81))
U15_ggg(T79, T80, T81, memberc38_out_gg(T79, T81)) → memberc30_out_ggg(T79, T80, T81)
memberc38_in_gg(T94, .(T94, T95)) → memberc38_out_gg(T94, .(T94, T95))
memberc38_in_gg(T102, .(T103, T104)) → U11_gg(T102, T103, T104, memberc38_in_gg(T102, T104))
U11_gg(T102, T103, T104, memberc38_out_gg(T102, T104)) → memberc38_out_gg(T102, .(T103, T104))

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

(17) PiDPToQDPProof (EQUIVALENT 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:

P29_IN_GGGG(T47, T133, T134, .(T131, T132)) → U4_GGGG(T47, T133, T134, T131, T132, memberc30_in_ggg(T47, T133, T134))
U4_GGGG(T47, T133, T134, T131, T132, memberc30_out_ggg(T47, T133, T134)) → P29_IN_GGGG(T131, T133, T134, T132)

The TRS R consists of the following rules:

memberc30_in_ggg(T67, T67, T68) → memberc30_out_ggg(T67, T67, T68)
memberc30_in_ggg(T79, T80, T81) → U15_ggg(T79, T80, T81, memberc38_in_gg(T79, T81))
U15_ggg(T79, T80, T81, memberc38_out_gg(T79, T81)) → memberc30_out_ggg(T79, T80, T81)
memberc38_in_gg(T94, .(T94, T95)) → memberc38_out_gg(T94, .(T94, T95))
memberc38_in_gg(T102, .(T103, T104)) → U11_gg(T102, T103, T104, memberc38_in_gg(T102, T104))
U11_gg(T102, T103, T104, memberc38_out_gg(T102, T104)) → memberc38_out_gg(T102, .(T103, T104))

The set Q consists of the following terms:

memberc30_in_ggg(x0, x1, x2)
U15_ggg(x0, x1, x2, x3)
memberc38_in_gg(x0, x1)
U11_gg(x0, x1, x2, x3)

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:

  • U4_GGGG(T47, T133, T134, T131, T132, memberc30_out_ggg(T47, T133, T134)) → P29_IN_GGGG(T131, T133, T134, T132)
    The graph contains the following edges 4 >= 1, 2 >= 2, 6 > 2, 3 >= 3, 6 > 3, 5 >= 4

  • P29_IN_GGGG(T47, T133, T134, .(T131, T132)) → U4_GGGG(T47, T133, T134, T131, T132, memberc30_in_ggg(T47, T133, T134))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 4 > 5

(20) YES

(21) Obligation:

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

EQ_LEN117_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN117_IN_GG(T28, T30)

The TRS R consists of the following rules:

eq_len1c17_in_gg([], []) → eq_len1c17_out_gg([], [])
eq_len1c17_in_gg(.(T27, T28), .(T29, T30)) → U10_gg(T27, T28, T29, T30, eq_len1c17_in_gg(T28, T30))
U10_gg(T27, T28, T29, T30, eq_len1c17_out_gg(T28, T30)) → eq_len1c17_out_gg(.(T27, T28), .(T29, T30))
memberc30_in_ggg(T67, T67, T68) → memberc30_out_ggg(T67, T67, T68)
memberc30_in_ggg(T79, T80, T81) → U15_ggg(T79, T80, T81, memberc38_in_gg(T79, T81))
memberc38_in_gg(T94, .(T94, T95)) → memberc38_out_gg(T94, .(T94, T95))
memberc38_in_gg(T102, .(T103, T104)) → U11_gg(T102, T103, T104, memberc38_in_gg(T102, T104))
U11_gg(T102, T103, T104, memberc38_out_gg(T102, T104)) → memberc38_out_gg(T102, .(T103, T104))
U15_ggg(T79, T80, T81, memberc38_out_gg(T79, T81)) → memberc30_out_ggg(T79, T80, T81)

Pi is empty.
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:

EQ_LEN117_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN117_IN_GG(T28, T30)

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

(24) PiDPToQDPProof (EQUIVALENT 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:

EQ_LEN117_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN117_IN_GG(T28, T30)

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

(26) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • EQ_LEN117_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN117_IN_GG(T28, T30)
    The graph contains the following edges 1 > 1, 2 > 2

(27) YES