(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)).

Query: perm1(g,g)

(1) PrologToPiTRSViaGraphTransformerProof (SOUND transformation)

Transformed Prolog program to (Pi-)TRS.

(2) Obligation:

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

perm1A_in_gg([], []) → perm1A_out_gg([], [])
perm1A_in_gg(.(T15, T16), .(T17, T18)) → U1_gg(T15, T16, T17, T18, pB_in_gggg(T16, T18, T15, T17))
pB_in_gggg(T16, T18, T15, T17) → U7_gggg(T16, T18, T15, T17, eq_len1C_in_gg(T16, T18))
eq_len1C_in_gg([], []) → eq_len1C_out_gg([], [])
eq_len1C_in_gg(.(T27, T28), .(T29, T30)) → U2_gg(T27, T28, T29, T30, eq_len1C_in_gg(T28, T30))
U2_gg(T27, T28, T29, T30, eq_len1C_out_gg(T28, T30)) → eq_len1C_out_gg(.(T27, T28), .(T29, T30))
U7_gggg(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → U8_gggg(T16, T18, T15, T17, same_setsE_in_gggg(T15, T16, T17, T18))
same_setsE_in_gggg(T43, T44, T45, T46) → U4_gggg(T43, T44, T45, T46, pF_in_gggg(T43, T45, T46, T44))
pF_in_gggg(T43, T45, T46, T44) → U9_gggg(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))
memberG_in_ggg(T63, T63, T64) → memberG_out_ggg(T63, T63, T64)
memberG_in_ggg(T75, T76, T77) → U5_ggg(T75, T76, T77, memberD_in_gg(T75, T77))
memberD_in_gg(T90, .(T90, T91)) → memberD_out_gg(T90, .(T90, T91))
memberD_in_gg(T98, .(T99, T100)) → U3_gg(T98, T99, T100, memberD_in_gg(T98, T100))
U3_gg(T98, T99, T100, memberD_out_gg(T98, T100)) → memberD_out_gg(T98, .(T99, T100))
U5_ggg(T75, T76, T77, memberD_out_gg(T75, T77)) → memberG_out_ggg(T75, T76, T77)
U9_gggg(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → U10_gggg(T43, T45, T46, T44, same_setsH_in_ggg(T44, T45, T46))
same_setsH_in_ggg([], T117, T118) → same_setsH_out_ggg([], T117, T118)
same_setsH_in_ggg(.(T127, T128), T129, T130) → U6_ggg(T127, T128, T129, T130, pF_in_gggg(T127, T129, T130, T128))
U6_ggg(T127, T128, T129, T130, pF_out_gggg(T127, T129, T130, T128)) → same_setsH_out_ggg(.(T127, T128), T129, T130)
U10_gggg(T43, T45, T46, T44, same_setsH_out_ggg(T44, T45, T46)) → pF_out_gggg(T43, T45, T46, T44)
U4_gggg(T43, T44, T45, T46, pF_out_gggg(T43, T45, T46, T44)) → same_setsE_out_gggg(T43, T44, T45, T46)
U8_gggg(T16, T18, T15, T17, same_setsE_out_gggg(T15, T16, T17, T18)) → pB_out_gggg(T16, T18, T15, T17)
U1_gg(T15, T16, T17, T18, pB_out_gggg(T16, T18, T15, T17)) → perm1A_out_gg(.(T15, T16), .(T17, T18))

Pi is empty.

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

PERM1A_IN_GG(.(T15, T16), .(T17, T18)) → U1_GG(T15, T16, T17, T18, pB_in_gggg(T16, T18, T15, T17))
PERM1A_IN_GG(.(T15, T16), .(T17, T18)) → PB_IN_GGGG(T16, T18, T15, T17)
PB_IN_GGGG(T16, T18, T15, T17) → U7_GGGG(T16, T18, T15, T17, eq_len1C_in_gg(T16, T18))
PB_IN_GGGG(T16, T18, T15, T17) → EQ_LEN1C_IN_GG(T16, T18)
EQ_LEN1C_IN_GG(.(T27, T28), .(T29, T30)) → U2_GG(T27, T28, T29, T30, eq_len1C_in_gg(T28, T30))
EQ_LEN1C_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1C_IN_GG(T28, T30)
U7_GGGG(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → U8_GGGG(T16, T18, T15, T17, same_setsE_in_gggg(T15, T16, T17, T18))
U7_GGGG(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → SAME_SETSE_IN_GGGG(T15, T16, T17, T18)
SAME_SETSE_IN_GGGG(T43, T44, T45, T46) → U4_GGGG(T43, T44, T45, T46, pF_in_gggg(T43, T45, T46, T44))
SAME_SETSE_IN_GGGG(T43, T44, T45, T46) → PF_IN_GGGG(T43, T45, T46, T44)
PF_IN_GGGG(T43, T45, T46, T44) → U9_GGGG(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))
PF_IN_GGGG(T43, T45, T46, T44) → MEMBERG_IN_GGG(T43, T45, T46)
MEMBERG_IN_GGG(T75, T76, T77) → U5_GGG(T75, T76, T77, memberD_in_gg(T75, T77))
MEMBERG_IN_GGG(T75, T76, T77) → MEMBERD_IN_GG(T75, T77)
MEMBERD_IN_GG(T98, .(T99, T100)) → U3_GG(T98, T99, T100, memberD_in_gg(T98, T100))
MEMBERD_IN_GG(T98, .(T99, T100)) → MEMBERD_IN_GG(T98, T100)
U9_GGGG(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → U10_GGGG(T43, T45, T46, T44, same_setsH_in_ggg(T44, T45, T46))
U9_GGGG(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → SAME_SETSH_IN_GGG(T44, T45, T46)
SAME_SETSH_IN_GGG(.(T127, T128), T129, T130) → U6_GGG(T127, T128, T129, T130, pF_in_gggg(T127, T129, T130, T128))
SAME_SETSH_IN_GGG(.(T127, T128), T129, T130) → PF_IN_GGGG(T127, T129, T130, T128)

The TRS R consists of the following rules:

perm1A_in_gg([], []) → perm1A_out_gg([], [])
perm1A_in_gg(.(T15, T16), .(T17, T18)) → U1_gg(T15, T16, T17, T18, pB_in_gggg(T16, T18, T15, T17))
pB_in_gggg(T16, T18, T15, T17) → U7_gggg(T16, T18, T15, T17, eq_len1C_in_gg(T16, T18))
eq_len1C_in_gg([], []) → eq_len1C_out_gg([], [])
eq_len1C_in_gg(.(T27, T28), .(T29, T30)) → U2_gg(T27, T28, T29, T30, eq_len1C_in_gg(T28, T30))
U2_gg(T27, T28, T29, T30, eq_len1C_out_gg(T28, T30)) → eq_len1C_out_gg(.(T27, T28), .(T29, T30))
U7_gggg(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → U8_gggg(T16, T18, T15, T17, same_setsE_in_gggg(T15, T16, T17, T18))
same_setsE_in_gggg(T43, T44, T45, T46) → U4_gggg(T43, T44, T45, T46, pF_in_gggg(T43, T45, T46, T44))
pF_in_gggg(T43, T45, T46, T44) → U9_gggg(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))
memberG_in_ggg(T63, T63, T64) → memberG_out_ggg(T63, T63, T64)
memberG_in_ggg(T75, T76, T77) → U5_ggg(T75, T76, T77, memberD_in_gg(T75, T77))
memberD_in_gg(T90, .(T90, T91)) → memberD_out_gg(T90, .(T90, T91))
memberD_in_gg(T98, .(T99, T100)) → U3_gg(T98, T99, T100, memberD_in_gg(T98, T100))
U3_gg(T98, T99, T100, memberD_out_gg(T98, T100)) → memberD_out_gg(T98, .(T99, T100))
U5_ggg(T75, T76, T77, memberD_out_gg(T75, T77)) → memberG_out_ggg(T75, T76, T77)
U9_gggg(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → U10_gggg(T43, T45, T46, T44, same_setsH_in_ggg(T44, T45, T46))
same_setsH_in_ggg([], T117, T118) → same_setsH_out_ggg([], T117, T118)
same_setsH_in_ggg(.(T127, T128), T129, T130) → U6_ggg(T127, T128, T129, T130, pF_in_gggg(T127, T129, T130, T128))
U6_ggg(T127, T128, T129, T130, pF_out_gggg(T127, T129, T130, T128)) → same_setsH_out_ggg(.(T127, T128), T129, T130)
U10_gggg(T43, T45, T46, T44, same_setsH_out_ggg(T44, T45, T46)) → pF_out_gggg(T43, T45, T46, T44)
U4_gggg(T43, T44, T45, T46, pF_out_gggg(T43, T45, T46, T44)) → same_setsE_out_gggg(T43, T44, T45, T46)
U8_gggg(T16, T18, T15, T17, same_setsE_out_gggg(T15, T16, T17, T18)) → pB_out_gggg(T16, T18, T15, T17)
U1_gg(T15, T16, T17, T18, pB_out_gggg(T16, T18, T15, T17)) → perm1A_out_gg(.(T15, T16), .(T17, T18))

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

(4) Obligation:

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

PERM1A_IN_GG(.(T15, T16), .(T17, T18)) → U1_GG(T15, T16, T17, T18, pB_in_gggg(T16, T18, T15, T17))
PERM1A_IN_GG(.(T15, T16), .(T17, T18)) → PB_IN_GGGG(T16, T18, T15, T17)
PB_IN_GGGG(T16, T18, T15, T17) → U7_GGGG(T16, T18, T15, T17, eq_len1C_in_gg(T16, T18))
PB_IN_GGGG(T16, T18, T15, T17) → EQ_LEN1C_IN_GG(T16, T18)
EQ_LEN1C_IN_GG(.(T27, T28), .(T29, T30)) → U2_GG(T27, T28, T29, T30, eq_len1C_in_gg(T28, T30))
EQ_LEN1C_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1C_IN_GG(T28, T30)
U7_GGGG(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → U8_GGGG(T16, T18, T15, T17, same_setsE_in_gggg(T15, T16, T17, T18))
U7_GGGG(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → SAME_SETSE_IN_GGGG(T15, T16, T17, T18)
SAME_SETSE_IN_GGGG(T43, T44, T45, T46) → U4_GGGG(T43, T44, T45, T46, pF_in_gggg(T43, T45, T46, T44))
SAME_SETSE_IN_GGGG(T43, T44, T45, T46) → PF_IN_GGGG(T43, T45, T46, T44)
PF_IN_GGGG(T43, T45, T46, T44) → U9_GGGG(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))
PF_IN_GGGG(T43, T45, T46, T44) → MEMBERG_IN_GGG(T43, T45, T46)
MEMBERG_IN_GGG(T75, T76, T77) → U5_GGG(T75, T76, T77, memberD_in_gg(T75, T77))
MEMBERG_IN_GGG(T75, T76, T77) → MEMBERD_IN_GG(T75, T77)
MEMBERD_IN_GG(T98, .(T99, T100)) → U3_GG(T98, T99, T100, memberD_in_gg(T98, T100))
MEMBERD_IN_GG(T98, .(T99, T100)) → MEMBERD_IN_GG(T98, T100)
U9_GGGG(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → U10_GGGG(T43, T45, T46, T44, same_setsH_in_ggg(T44, T45, T46))
U9_GGGG(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → SAME_SETSH_IN_GGG(T44, T45, T46)
SAME_SETSH_IN_GGG(.(T127, T128), T129, T130) → U6_GGG(T127, T128, T129, T130, pF_in_gggg(T127, T129, T130, T128))
SAME_SETSH_IN_GGG(.(T127, T128), T129, T130) → PF_IN_GGGG(T127, T129, T130, T128)

The TRS R consists of the following rules:

perm1A_in_gg([], []) → perm1A_out_gg([], [])
perm1A_in_gg(.(T15, T16), .(T17, T18)) → U1_gg(T15, T16, T17, T18, pB_in_gggg(T16, T18, T15, T17))
pB_in_gggg(T16, T18, T15, T17) → U7_gggg(T16, T18, T15, T17, eq_len1C_in_gg(T16, T18))
eq_len1C_in_gg([], []) → eq_len1C_out_gg([], [])
eq_len1C_in_gg(.(T27, T28), .(T29, T30)) → U2_gg(T27, T28, T29, T30, eq_len1C_in_gg(T28, T30))
U2_gg(T27, T28, T29, T30, eq_len1C_out_gg(T28, T30)) → eq_len1C_out_gg(.(T27, T28), .(T29, T30))
U7_gggg(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → U8_gggg(T16, T18, T15, T17, same_setsE_in_gggg(T15, T16, T17, T18))
same_setsE_in_gggg(T43, T44, T45, T46) → U4_gggg(T43, T44, T45, T46, pF_in_gggg(T43, T45, T46, T44))
pF_in_gggg(T43, T45, T46, T44) → U9_gggg(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))
memberG_in_ggg(T63, T63, T64) → memberG_out_ggg(T63, T63, T64)
memberG_in_ggg(T75, T76, T77) → U5_ggg(T75, T76, T77, memberD_in_gg(T75, T77))
memberD_in_gg(T90, .(T90, T91)) → memberD_out_gg(T90, .(T90, T91))
memberD_in_gg(T98, .(T99, T100)) → U3_gg(T98, T99, T100, memberD_in_gg(T98, T100))
U3_gg(T98, T99, T100, memberD_out_gg(T98, T100)) → memberD_out_gg(T98, .(T99, T100))
U5_ggg(T75, T76, T77, memberD_out_gg(T75, T77)) → memberG_out_ggg(T75, T76, T77)
U9_gggg(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → U10_gggg(T43, T45, T46, T44, same_setsH_in_ggg(T44, T45, T46))
same_setsH_in_ggg([], T117, T118) → same_setsH_out_ggg([], T117, T118)
same_setsH_in_ggg(.(T127, T128), T129, T130) → U6_ggg(T127, T128, T129, T130, pF_in_gggg(T127, T129, T130, T128))
U6_ggg(T127, T128, T129, T130, pF_out_gggg(T127, T129, T130, T128)) → same_setsH_out_ggg(.(T127, T128), T129, T130)
U10_gggg(T43, T45, T46, T44, same_setsH_out_ggg(T44, T45, T46)) → pF_out_gggg(T43, T45, T46, T44)
U4_gggg(T43, T44, T45, T46, pF_out_gggg(T43, T45, T46, T44)) → same_setsE_out_gggg(T43, T44, T45, T46)
U8_gggg(T16, T18, T15, T17, same_setsE_out_gggg(T15, T16, T17, T18)) → pB_out_gggg(T16, T18, T15, T17)
U1_gg(T15, T16, T17, T18, pB_out_gggg(T16, T18, T15, T17)) → perm1A_out_gg(.(T15, T16), .(T17, T18))

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 15 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

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

MEMBERD_IN_GG(T98, .(T99, T100)) → MEMBERD_IN_GG(T98, T100)

The TRS R consists of the following rules:

perm1A_in_gg([], []) → perm1A_out_gg([], [])
perm1A_in_gg(.(T15, T16), .(T17, T18)) → U1_gg(T15, T16, T17, T18, pB_in_gggg(T16, T18, T15, T17))
pB_in_gggg(T16, T18, T15, T17) → U7_gggg(T16, T18, T15, T17, eq_len1C_in_gg(T16, T18))
eq_len1C_in_gg([], []) → eq_len1C_out_gg([], [])
eq_len1C_in_gg(.(T27, T28), .(T29, T30)) → U2_gg(T27, T28, T29, T30, eq_len1C_in_gg(T28, T30))
U2_gg(T27, T28, T29, T30, eq_len1C_out_gg(T28, T30)) → eq_len1C_out_gg(.(T27, T28), .(T29, T30))
U7_gggg(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → U8_gggg(T16, T18, T15, T17, same_setsE_in_gggg(T15, T16, T17, T18))
same_setsE_in_gggg(T43, T44, T45, T46) → U4_gggg(T43, T44, T45, T46, pF_in_gggg(T43, T45, T46, T44))
pF_in_gggg(T43, T45, T46, T44) → U9_gggg(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))
memberG_in_ggg(T63, T63, T64) → memberG_out_ggg(T63, T63, T64)
memberG_in_ggg(T75, T76, T77) → U5_ggg(T75, T76, T77, memberD_in_gg(T75, T77))
memberD_in_gg(T90, .(T90, T91)) → memberD_out_gg(T90, .(T90, T91))
memberD_in_gg(T98, .(T99, T100)) → U3_gg(T98, T99, T100, memberD_in_gg(T98, T100))
U3_gg(T98, T99, T100, memberD_out_gg(T98, T100)) → memberD_out_gg(T98, .(T99, T100))
U5_ggg(T75, T76, T77, memberD_out_gg(T75, T77)) → memberG_out_ggg(T75, T76, T77)
U9_gggg(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → U10_gggg(T43, T45, T46, T44, same_setsH_in_ggg(T44, T45, T46))
same_setsH_in_ggg([], T117, T118) → same_setsH_out_ggg([], T117, T118)
same_setsH_in_ggg(.(T127, T128), T129, T130) → U6_ggg(T127, T128, T129, T130, pF_in_gggg(T127, T129, T130, T128))
U6_ggg(T127, T128, T129, T130, pF_out_gggg(T127, T129, T130, T128)) → same_setsH_out_ggg(.(T127, T128), T129, T130)
U10_gggg(T43, T45, T46, T44, same_setsH_out_ggg(T44, T45, T46)) → pF_out_gggg(T43, T45, T46, T44)
U4_gggg(T43, T44, T45, T46, pF_out_gggg(T43, T45, T46, T44)) → same_setsE_out_gggg(T43, T44, T45, T46)
U8_gggg(T16, T18, T15, T17, same_setsE_out_gggg(T15, T16, T17, T18)) → pB_out_gggg(T16, T18, T15, T17)
U1_gg(T15, T16, T17, T18, pB_out_gggg(T16, T18, T15, T17)) → perm1A_out_gg(.(T15, T16), .(T17, T18))

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:

MEMBERD_IN_GG(T98, .(T99, T100)) → MEMBERD_IN_GG(T98, T100)

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:

MEMBERD_IN_GG(T98, .(T99, T100)) → MEMBERD_IN_GG(T98, T100)

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:

  • MEMBERD_IN_GG(T98, .(T99, T100)) → MEMBERD_IN_GG(T98, T100)
    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:

U9_GGGG(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → SAME_SETSH_IN_GGG(T44, T45, T46)
SAME_SETSH_IN_GGG(.(T127, T128), T129, T130) → PF_IN_GGGG(T127, T129, T130, T128)
PF_IN_GGGG(T43, T45, T46, T44) → U9_GGGG(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))

The TRS R consists of the following rules:

perm1A_in_gg([], []) → perm1A_out_gg([], [])
perm1A_in_gg(.(T15, T16), .(T17, T18)) → U1_gg(T15, T16, T17, T18, pB_in_gggg(T16, T18, T15, T17))
pB_in_gggg(T16, T18, T15, T17) → U7_gggg(T16, T18, T15, T17, eq_len1C_in_gg(T16, T18))
eq_len1C_in_gg([], []) → eq_len1C_out_gg([], [])
eq_len1C_in_gg(.(T27, T28), .(T29, T30)) → U2_gg(T27, T28, T29, T30, eq_len1C_in_gg(T28, T30))
U2_gg(T27, T28, T29, T30, eq_len1C_out_gg(T28, T30)) → eq_len1C_out_gg(.(T27, T28), .(T29, T30))
U7_gggg(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → U8_gggg(T16, T18, T15, T17, same_setsE_in_gggg(T15, T16, T17, T18))
same_setsE_in_gggg(T43, T44, T45, T46) → U4_gggg(T43, T44, T45, T46, pF_in_gggg(T43, T45, T46, T44))
pF_in_gggg(T43, T45, T46, T44) → U9_gggg(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))
memberG_in_ggg(T63, T63, T64) → memberG_out_ggg(T63, T63, T64)
memberG_in_ggg(T75, T76, T77) → U5_ggg(T75, T76, T77, memberD_in_gg(T75, T77))
memberD_in_gg(T90, .(T90, T91)) → memberD_out_gg(T90, .(T90, T91))
memberD_in_gg(T98, .(T99, T100)) → U3_gg(T98, T99, T100, memberD_in_gg(T98, T100))
U3_gg(T98, T99, T100, memberD_out_gg(T98, T100)) → memberD_out_gg(T98, .(T99, T100))
U5_ggg(T75, T76, T77, memberD_out_gg(T75, T77)) → memberG_out_ggg(T75, T76, T77)
U9_gggg(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → U10_gggg(T43, T45, T46, T44, same_setsH_in_ggg(T44, T45, T46))
same_setsH_in_ggg([], T117, T118) → same_setsH_out_ggg([], T117, T118)
same_setsH_in_ggg(.(T127, T128), T129, T130) → U6_ggg(T127, T128, T129, T130, pF_in_gggg(T127, T129, T130, T128))
U6_ggg(T127, T128, T129, T130, pF_out_gggg(T127, T129, T130, T128)) → same_setsH_out_ggg(.(T127, T128), T129, T130)
U10_gggg(T43, T45, T46, T44, same_setsH_out_ggg(T44, T45, T46)) → pF_out_gggg(T43, T45, T46, T44)
U4_gggg(T43, T44, T45, T46, pF_out_gggg(T43, T45, T46, T44)) → same_setsE_out_gggg(T43, T44, T45, T46)
U8_gggg(T16, T18, T15, T17, same_setsE_out_gggg(T15, T16, T17, T18)) → pB_out_gggg(T16, T18, T15, T17)
U1_gg(T15, T16, T17, T18, pB_out_gggg(T16, T18, T15, T17)) → perm1A_out_gg(.(T15, T16), .(T17, T18))

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:

U9_GGGG(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → SAME_SETSH_IN_GGG(T44, T45, T46)
SAME_SETSH_IN_GGG(.(T127, T128), T129, T130) → PF_IN_GGGG(T127, T129, T130, T128)
PF_IN_GGGG(T43, T45, T46, T44) → U9_GGGG(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))

The TRS R consists of the following rules:

memberG_in_ggg(T63, T63, T64) → memberG_out_ggg(T63, T63, T64)
memberG_in_ggg(T75, T76, T77) → U5_ggg(T75, T76, T77, memberD_in_gg(T75, T77))
U5_ggg(T75, T76, T77, memberD_out_gg(T75, T77)) → memberG_out_ggg(T75, T76, T77)
memberD_in_gg(T90, .(T90, T91)) → memberD_out_gg(T90, .(T90, T91))
memberD_in_gg(T98, .(T99, T100)) → U3_gg(T98, T99, T100, memberD_in_gg(T98, T100))
U3_gg(T98, T99, T100, memberD_out_gg(T98, T100)) → memberD_out_gg(T98, .(T99, T100))

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:

U9_GGGG(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → SAME_SETSH_IN_GGG(T44, T45, T46)
SAME_SETSH_IN_GGG(.(T127, T128), T129, T130) → PF_IN_GGGG(T127, T129, T130, T128)
PF_IN_GGGG(T43, T45, T46, T44) → U9_GGGG(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))

The TRS R consists of the following rules:

memberG_in_ggg(T63, T63, T64) → memberG_out_ggg(T63, T63, T64)
memberG_in_ggg(T75, T76, T77) → U5_ggg(T75, T76, T77, memberD_in_gg(T75, T77))
U5_ggg(T75, T76, T77, memberD_out_gg(T75, T77)) → memberG_out_ggg(T75, T76, T77)
memberD_in_gg(T90, .(T90, T91)) → memberD_out_gg(T90, .(T90, T91))
memberD_in_gg(T98, .(T99, T100)) → U3_gg(T98, T99, T100, memberD_in_gg(T98, T100))
U3_gg(T98, T99, T100, memberD_out_gg(T98, T100)) → memberD_out_gg(T98, .(T99, T100))

The set Q consists of the following terms:

memberG_in_ggg(x0, x1, x2)
U5_ggg(x0, x1, x2, x3)
memberD_in_gg(x0, x1)
U3_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:

  • SAME_SETSH_IN_GGG(.(T127, T128), T129, T130) → PF_IN_GGGG(T127, T129, T130, T128)
    The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 1 > 4

  • PF_IN_GGGG(T43, T45, T46, T44) → U9_GGGG(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • U9_GGGG(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → SAME_SETSH_IN_GGG(T44, T45, T46)
    The graph contains the following edges 4 >= 1, 2 >= 2, 5 > 2, 3 >= 3, 5 > 3

(20) YES

(21) Obligation:

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

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

The TRS R consists of the following rules:

perm1A_in_gg([], []) → perm1A_out_gg([], [])
perm1A_in_gg(.(T15, T16), .(T17, T18)) → U1_gg(T15, T16, T17, T18, pB_in_gggg(T16, T18, T15, T17))
pB_in_gggg(T16, T18, T15, T17) → U7_gggg(T16, T18, T15, T17, eq_len1C_in_gg(T16, T18))
eq_len1C_in_gg([], []) → eq_len1C_out_gg([], [])
eq_len1C_in_gg(.(T27, T28), .(T29, T30)) → U2_gg(T27, T28, T29, T30, eq_len1C_in_gg(T28, T30))
U2_gg(T27, T28, T29, T30, eq_len1C_out_gg(T28, T30)) → eq_len1C_out_gg(.(T27, T28), .(T29, T30))
U7_gggg(T16, T18, T15, T17, eq_len1C_out_gg(T16, T18)) → U8_gggg(T16, T18, T15, T17, same_setsE_in_gggg(T15, T16, T17, T18))
same_setsE_in_gggg(T43, T44, T45, T46) → U4_gggg(T43, T44, T45, T46, pF_in_gggg(T43, T45, T46, T44))
pF_in_gggg(T43, T45, T46, T44) → U9_gggg(T43, T45, T46, T44, memberG_in_ggg(T43, T45, T46))
memberG_in_ggg(T63, T63, T64) → memberG_out_ggg(T63, T63, T64)
memberG_in_ggg(T75, T76, T77) → U5_ggg(T75, T76, T77, memberD_in_gg(T75, T77))
memberD_in_gg(T90, .(T90, T91)) → memberD_out_gg(T90, .(T90, T91))
memberD_in_gg(T98, .(T99, T100)) → U3_gg(T98, T99, T100, memberD_in_gg(T98, T100))
U3_gg(T98, T99, T100, memberD_out_gg(T98, T100)) → memberD_out_gg(T98, .(T99, T100))
U5_ggg(T75, T76, T77, memberD_out_gg(T75, T77)) → memberG_out_ggg(T75, T76, T77)
U9_gggg(T43, T45, T46, T44, memberG_out_ggg(T43, T45, T46)) → U10_gggg(T43, T45, T46, T44, same_setsH_in_ggg(T44, T45, T46))
same_setsH_in_ggg([], T117, T118) → same_setsH_out_ggg([], T117, T118)
same_setsH_in_ggg(.(T127, T128), T129, T130) → U6_ggg(T127, T128, T129, T130, pF_in_gggg(T127, T129, T130, T128))
U6_ggg(T127, T128, T129, T130, pF_out_gggg(T127, T129, T130, T128)) → same_setsH_out_ggg(.(T127, T128), T129, T130)
U10_gggg(T43, T45, T46, T44, same_setsH_out_ggg(T44, T45, T46)) → pF_out_gggg(T43, T45, T46, T44)
U4_gggg(T43, T44, T45, T46, pF_out_gggg(T43, T45, T46, T44)) → same_setsE_out_gggg(T43, T44, T45, T46)
U8_gggg(T16, T18, T15, T17, same_setsE_out_gggg(T15, T16, T17, T18)) → pB_out_gggg(T16, T18, T15, T17)
U1_gg(T15, T16, T17, T18, pB_out_gggg(T16, T18, T15, T17)) → perm1A_out_gg(.(T15, T16), .(T17, T18))

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_LEN1C_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1C_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_LEN1C_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1C_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_LEN1C_IN_GG(.(T27, T28), .(T29, T30)) → EQ_LEN1C_IN_GG(T28, T30)
    The graph contains the following edges 1 > 1, 2 > 2

(27) YES