0 Prolog
↳1 CutEliminatorProof (⇐)
↳2 Prolog
↳3 PrologToPiTRSProof (⇐)
↳4 PiTRS
↳5 DependencyPairsProof (⇔)
↳6 PiDP
↳7 DependencyGraphProof (⇔)
↳8 AND
↳9 PiDP
↳10 UsableRulesProof (⇔)
↳11 PiDP
↳12 PiDPToQDPProof (⇔)
↳13 QDP
↳14 QDPSizeChangeProof (⇔)
↳15 TRUE
↳16 PiDP
↳17 UsableRulesProof (⇔)
↳18 PiDP
↳19 PiDPToQDPProof (⇐)
↳20 QDP
↳21 QDPSizeChangeProof (⇔)
↳22 TRUE
↳23 PiDP
↳24 UsableRulesProof (⇔)
↳25 PiDP
↳26 PiDPToQDPProof (⇐)
↳27 QDP
↳28 Instantiation (⇔)
↳29 QDP
↳30 Narrowing (⇐)
↳31 QDP
↳32 DependencyGraphProof (⇔)
↳33 QDP
↳34 UsableRulesProof (⇔)
↳35 QDP
↳36 QReductionProof (⇔)
↳37 QDP
↳38 Narrowing (⇐)
↳39 QDP
↳40 Instantiation (⇔)
↳41 QDP
↳42 Instantiation (⇔)
↳43 QDP
↳44 Instantiation (⇔)
↳45 QDP
↳46 Instantiation (⇔)
↳47 QDP
↳48 Instantiation (⇔)
↳49 QDP
↳50 Instantiation (⇔)
↳51 QDP
↳52 Instantiation (⇔)
↳53 QDP
↳54 Instantiation (⇔)
↳55 QDP
↳56 Instantiation (⇔)
↳57 QDP
↳58 Instantiation (⇔)
↳59 QDP
↳60 Instantiation (⇔)
↳61 QDP
↳62 Instantiation (⇔)
↳63 QDP
↳64 NonTerminationProof (⇔)
↳65 FALSE
↳66 PrologToPiTRSProof (⇐)
↳67 PiTRS
↳68 DependencyPairsProof (⇔)
↳69 PiDP
↳70 DependencyGraphProof (⇔)
↳71 AND
↳72 PiDP
↳73 UsableRulesProof (⇔)
↳74 PiDP
↳75 PiDPToQDPProof (⇔)
↳76 QDP
↳77 QDPSizeChangeProof (⇔)
↳78 TRUE
↳79 PiDP
↳80 UsableRulesProof (⇔)
↳81 PiDP
↳82 PiDPToQDPProof (⇐)
↳83 QDP
↳84 QDPSizeChangeProof (⇔)
↳85 TRUE
↳86 PiDP
↳87 UsableRulesProof (⇔)
↳88 PiDP
↳89 PiDPToQDPProof (⇐)
↳90 QDP
↳91 Instantiation (⇔)
↳92 QDP
↳93 Narrowing (⇐)
↳94 QDP
↳95 DependencyGraphProof (⇔)
↳96 QDP
↳97 UsableRulesProof (⇔)
↳98 QDP
↳99 QReductionProof (⇔)
↳100 QDP
↳101 Narrowing (⇐)
↳102 QDP
↳103 Instantiation (⇔)
↳104 QDP
↳105 Instantiation (⇔)
↳106 QDP
↳107 Instantiation (⇔)
↳108 QDP
↳109 Instantiation (⇔)
↳110 QDP
↳111 Instantiation (⇔)
↳112 QDP
↳113 Instantiation (⇔)
↳114 QDP
↳115 Instantiation (⇔)
↳116 QDP
↳117 Instantiation (⇔)
↳118 QDP
↳119 Instantiation (⇔)
↳120 QDP
↳121 Instantiation (⇔)
↳122 QDP
↳123 Instantiation (⇔)
↳124 QDP
↳125 Instantiation (⇔)
↳126 QDP
↳127 NonTerminationProof (⇔)
↳128 FALSE
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
SUBSET_IN_AG(X, Y) → U1_AG(X, Y, subsetchecked_in_agg(X, [], Y))
SUBSET_IN_AG(X, Y) → SUBSETCHECKED_IN_AGG(X, [], Y)
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → U2_AGG(X, Xs, Ys, Zs, member_in_ag(X, Zs))
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → MEMBER_IN_AG(X, Zs)
MEMBER_IN_AG(X, .(X4, Xs)) → U5_AG(X, X4, Xs, member_in_ag(X, Xs))
MEMBER_IN_AG(X, .(X4, Xs)) → MEMBER_IN_AG(X, Xs)
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → NOT_MEMBER_IN_GG(X, Ys)
NOT_MEMBER_IN_GG(X, Y) → U6_GG(X, Y, member_in_gg(X, Y))
NOT_MEMBER_IN_GG(X, Y) → MEMBER_IN_GG(X, Y)
MEMBER_IN_GG(X, .(X4, Xs)) → U5_GG(X, X4, Xs, member_in_gg(X, Xs))
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
U6_GG(X, Y, member_out_gg(X, Y)) → U7_GG(X, Y, failure_in_g(a))
U6_GG(X, Y, member_out_gg(X, Y)) → FAILURE_IN_G(a)
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_AGG(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(Xs, .(X, Ys), Zs)
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
SUBSET_IN_AG(X, Y) → U1_AG(X, Y, subsetchecked_in_agg(X, [], Y))
SUBSET_IN_AG(X, Y) → SUBSETCHECKED_IN_AGG(X, [], Y)
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → U2_AGG(X, Xs, Ys, Zs, member_in_ag(X, Zs))
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → MEMBER_IN_AG(X, Zs)
MEMBER_IN_AG(X, .(X4, Xs)) → U5_AG(X, X4, Xs, member_in_ag(X, Xs))
MEMBER_IN_AG(X, .(X4, Xs)) → MEMBER_IN_AG(X, Xs)
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → NOT_MEMBER_IN_GG(X, Ys)
NOT_MEMBER_IN_GG(X, Y) → U6_GG(X, Y, member_in_gg(X, Y))
NOT_MEMBER_IN_GG(X, Y) → MEMBER_IN_GG(X, Y)
MEMBER_IN_GG(X, .(X4, Xs)) → U5_GG(X, X4, Xs, member_in_gg(X, Xs))
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
U6_GG(X, Y, member_out_gg(X, Y)) → U7_GG(X, Y, failure_in_g(a))
U6_GG(X, Y, member_out_gg(X, Y)) → FAILURE_IN_G(a)
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_AGG(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(Xs, .(X, Ys), Zs)
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
From the DPs we obtained the following set of size-change graphs:
MEMBER_IN_AG(X, .(X4, Xs)) → MEMBER_IN_AG(X, Xs)
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
MEMBER_IN_AG(X, .(X4, Xs)) → MEMBER_IN_AG(X, Xs)
MEMBER_IN_AG(.(X4, Xs)) → MEMBER_IN_AG(Xs)
From the DPs we obtained the following set of size-change graphs:
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(Xs, .(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → U2_AGG(X, Xs, Ys, Zs, member_in_ag(X, Zs))
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(Xs, .(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → U2_AGG(X, Xs, Ys, Zs, member_in_ag(X, Zs))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U2_AGG(Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Ys, Zs, not_member_in_gg(X, Ys))
U3_AGG(X, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0, x1, x2)
U5_ag(x0, x1, x2)
member_in_gg(x0, x1)
U5_gg(x0, x1, x2, x3)
SUBSETCHECKED_IN_AGG(.(z0, z1), z2) → U2_AGG(.(z0, z1), z2, member_in_ag(z2))
U2_AGG(Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Ys, Zs, not_member_in_gg(X, Ys))
U3_AGG(X, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(.(z0, z1), z2) → U2_AGG(.(z0, z1), z2, member_in_ag(z2))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0, x1, x2)
U5_ag(x0, x1, x2)
member_in_gg(x0, x1)
U5_gg(x0, x1, x2, x3)
U2_AGG(x1, y1, member_out_ag(x0, y1)) → U3_AGG(x0, x1, y1, U6_gg(x0, x1, member_in_gg(x0, x1)))
U2_AGG(x1, y1, member_out_ag(x0, y1)) → U3_AGG(x0, x1, y1, not_member_out_gg(x0, x1))
U3_AGG(X, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
U2_AGG(x1, y1, member_out_ag(x0, y1)) → U3_AGG(x0, x1, y1, U6_gg(x0, x1, member_in_gg(x0, x1)))
U2_AGG(x1, y1, member_out_ag(x0, y1)) → U3_AGG(x0, x1, y1, not_member_out_gg(x0, x1))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0, x1, x2)
U5_ag(x0, x1, x2)
member_in_gg(x0, x1)
U5_gg(x0, x1, x2, x3)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
U2_AGG(x1, y1, member_out_ag(x0, y1)) → U3_AGG(x0, x1, y1, not_member_out_gg(x0, x1))
U3_AGG(X, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0, x1, x2)
U5_ag(x0, x1, x2)
member_in_gg(x0, x1)
U5_gg(x0, x1, x2, x3)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
U2_AGG(x1, y1, member_out_ag(x0, y1)) → U3_AGG(x0, x1, y1, not_member_out_gg(x0, x1))
U3_AGG(X, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0, x1, x2)
U5_ag(x0, x1, x2)
member_in_gg(x0, x1)
U5_gg(x0, x1, x2, x3)
not_member_in_gg(x0, x1)
U6_gg(x0, x1, x2)
member_in_gg(x0, x1)
U5_gg(x0, x1, x2, x3)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
U2_AGG(x1, y1, member_out_ag(x0, y1)) → U3_AGG(x0, x1, y1, not_member_out_gg(x0, x1))
U3_AGG(X, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), member_out_ag(x0, .(x0, x1)))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(x0, x1, member_in_ag(x1)))
U2_AGG(x1, y1, member_out_ag(x0, y1)) → U3_AGG(x0, x1, y1, not_member_out_gg(x0, x1))
U3_AGG(X, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), member_out_ag(x0, .(x0, x1)))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(x0, x1, member_in_ag(x1)))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
U2_AGG(z0, .(z1, z2), member_out_ag(z1, .(z1, z2))) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0))
U2_AGG(z0, .(z1, z2), member_out_ag(x2, .(z1, z2))) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg(x2, z0))
U3_AGG(X, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), member_out_ag(x0, .(x0, x1)))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(x0, x1, member_in_ag(x1)))
U2_AGG(z0, .(z1, z2), member_out_ag(z1, .(z1, z2))) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0))
U2_AGG(z0, .(z1, z2), member_out_ag(x2, .(z1, z2))) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg(x2, z0))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0)) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg(z3, z0)) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), member_out_ag(x0, .(x0, x1)))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(x0, x1, member_in_ag(x1)))
U2_AGG(z0, .(z1, z2), member_out_ag(z1, .(z1, z2))) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0))
U2_AGG(z0, .(z1, z2), member_out_ag(x2, .(z1, z2))) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg(x2, z0))
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0)) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg(z3, z0)) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3)))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(x0, x1, member_in_ag(x1)))
U2_AGG(z0, .(z1, z2), member_out_ag(z1, .(z1, z2))) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0))
U2_AGG(z0, .(z1, z2), member_out_ag(x2, .(z1, z2))) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg(x2, z0))
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0)) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg(z3, z0)) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3)))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(z2, z3, member_in_ag(z3)))
U2_AGG(z0, .(z1, z2), member_out_ag(z1, .(z1, z2))) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0))
U2_AGG(z0, .(z1, z2), member_out_ag(x2, .(z1, z2))) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg(x2, z0))
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0)) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg(z3, z0)) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(z2, z3, member_in_ag(z3)))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
U2_AGG(z0, .(z1, z2), member_out_ag(x2, .(z1, z2))) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg(x2, z0))
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0)) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg(z3, z0)) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(z2, z3, member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3, .(z0, z2))) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg(x3, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3, .(z2, z3))) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg(x3, .(z0, z1)))
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg(z1, z0)) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg(z3, z0)) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(z2, z3, member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3, .(z0, z2))) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg(x3, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3, .(z2, z3))) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg(x3, .(z0, z1)))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg(z3, z0)) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(z2, z3, member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3, .(z0, z2))) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg(x3, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3, .(z2, z3))) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg(x3, .(z0, z1)))
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg(z3, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg(z4, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(z2, z3, member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3, .(z0, z2))) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg(x3, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3, .(z2, z3))) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg(x3, .(z0, z1)))
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg(z3, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg(z4, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0, .(z0, z3)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(z2, z3, member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3, .(z0, z2))) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg(x3, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3, .(z2, z3))) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg(x3, .(z0, z1)))
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg(z3, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg(z4, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0, .(z0, z3)))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0, .(z0, z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), member_out_ag(z1, .(z1, z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), member_out_ag(z3, .(z3, z4)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(z2, z3, member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3, .(z0, z2))) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg(x3, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3, .(z2, z3))) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg(x3, .(z0, z1)))
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg(z3, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg(z4, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0, .(z0, z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), member_out_ag(z1, .(z1, z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), member_out_ag(z3, .(z3, z4)))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), U5_ag(z0, z3, member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(z2, z3, member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3, .(z0, z2))) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg(x3, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3, .(z2, z3))) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg(x3, .(z0, z1)))
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg(z3, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg(z4, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0, .(z0, z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), member_out_ag(z1, .(z1, z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), member_out_ag(z3, .(z3, z4)))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), U5_ag(z0, z3, member_in_ag(z3)))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), U5_ag(z0, z3, member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), U5_ag(z1, z3, member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), U5_ag(z3, z4, member_in_ag(z4)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0, .(z0, z2))) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2, .(z2, z3))) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3, .(z0, z2))) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg(x3, .(z0, z1)))
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3, .(z2, z3))) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg(x3, .(z0, z1)))
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg(z0, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg(z2, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg(z3, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg(z4, .(z0, z1))) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0, .(z0, z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0, .(z0, z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), member_out_ag(z1, .(z1, z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), member_out_ag(z3, .(z3, z4)))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), U5_ag(z0, z2, member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), U5_ag(z0, z3, member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), U5_ag(z1, z3, member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), U5_ag(z3, z4, member_in_ag(z4)))
member_in_ag(.(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(.(X4, Xs)) → U5_ag(X4, Xs, member_in_ag(Xs))
U5_ag(X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_ag(x0)
U5_ag(x0, x1, x2)
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
SUBSET_IN_AG(X, Y) → U1_AG(X, Y, subsetchecked_in_agg(X, [], Y))
SUBSET_IN_AG(X, Y) → SUBSETCHECKED_IN_AGG(X, [], Y)
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → U2_AGG(X, Xs, Ys, Zs, member_in_ag(X, Zs))
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → MEMBER_IN_AG(X, Zs)
MEMBER_IN_AG(X, .(X4, Xs)) → U5_AG(X, X4, Xs, member_in_ag(X, Xs))
MEMBER_IN_AG(X, .(X4, Xs)) → MEMBER_IN_AG(X, Xs)
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → NOT_MEMBER_IN_GG(X, Ys)
NOT_MEMBER_IN_GG(X, Y) → U6_GG(X, Y, member_in_gg(X, Y))
NOT_MEMBER_IN_GG(X, Y) → MEMBER_IN_GG(X, Y)
MEMBER_IN_GG(X, .(X4, Xs)) → U5_GG(X, X4, Xs, member_in_gg(X, Xs))
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
U6_GG(X, Y, member_out_gg(X, Y)) → U7_GG(X, Y, failure_in_g(a))
U6_GG(X, Y, member_out_gg(X, Y)) → FAILURE_IN_G(a)
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_AGG(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(Xs, .(X, Ys), Zs)
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
SUBSET_IN_AG(X, Y) → U1_AG(X, Y, subsetchecked_in_agg(X, [], Y))
SUBSET_IN_AG(X, Y) → SUBSETCHECKED_IN_AGG(X, [], Y)
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → U2_AGG(X, Xs, Ys, Zs, member_in_ag(X, Zs))
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → MEMBER_IN_AG(X, Zs)
MEMBER_IN_AG(X, .(X4, Xs)) → U5_AG(X, X4, Xs, member_in_ag(X, Xs))
MEMBER_IN_AG(X, .(X4, Xs)) → MEMBER_IN_AG(X, Xs)
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → NOT_MEMBER_IN_GG(X, Ys)
NOT_MEMBER_IN_GG(X, Y) → U6_GG(X, Y, member_in_gg(X, Y))
NOT_MEMBER_IN_GG(X, Y) → MEMBER_IN_GG(X, Y)
MEMBER_IN_GG(X, .(X4, Xs)) → U5_GG(X, X4, Xs, member_in_gg(X, Xs))
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
U6_GG(X, Y, member_out_gg(X, Y)) → U7_GG(X, Y, failure_in_g(a))
U6_GG(X, Y, member_out_gg(X, Y)) → FAILURE_IN_G(a)
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_AGG(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(Xs, .(X, Ys), Zs)
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
MEMBER_IN_GG(X, .(X4, Xs)) → MEMBER_IN_GG(X, Xs)
From the DPs we obtained the following set of size-change graphs:
MEMBER_IN_AG(X, .(X4, Xs)) → MEMBER_IN_AG(X, Xs)
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
MEMBER_IN_AG(X, .(X4, Xs)) → MEMBER_IN_AG(X, Xs)
MEMBER_IN_AG(.(X4, Xs)) → MEMBER_IN_AG(Xs)
From the DPs we obtained the following set of size-change graphs:
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(Xs, .(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → U2_AGG(X, Xs, Ys, Zs, member_in_ag(X, Zs))
subset_in_ag(X, Y) → U1_ag(X, Y, subsetchecked_in_agg(X, [], Y))
subsetchecked_in_agg([], X1, X2) → subsetchecked_out_agg([], X1, X2)
subsetchecked_in_agg(.(X, Xs), Ys, Zs) → U2_agg(X, Xs, Ys, Zs, member_in_ag(X, Zs))
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
U2_agg(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_agg(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
failure_in_g(b) → failure_out_g(b)
U7_gg(X, Y, failure_out_g(a)) → not_member_out_gg(X, Y)
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
U3_agg(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → U4_agg(X, Xs, Ys, Zs, subsetchecked_in_agg(Xs, .(X, Ys), Zs))
U4_agg(X, Xs, Ys, Zs, subsetchecked_out_agg(Xs, .(X, Ys), Zs)) → subsetchecked_out_agg(.(X, Xs), Ys, Zs)
U1_ag(X, Y, subsetchecked_out_agg(X, [], Y)) → subset_out_ag(X, Y)
U2_AGG(X, Xs, Ys, Zs, member_out_ag(X, Zs)) → U3_AGG(X, Xs, Ys, Zs, not_member_in_gg(X, Ys))
U3_AGG(X, Xs, Ys, Zs, not_member_out_gg(X, Ys)) → SUBSETCHECKED_IN_AGG(Xs, .(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(.(X, Xs), Ys, Zs) → U2_AGG(X, Xs, Ys, Zs, member_in_ag(X, Zs))
not_member_in_gg(X, Y) → U6_gg(X, Y, member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg(X5, X6)
member_in_ag(X, .(X, X3)) → member_out_ag(X, .(X, X3))
member_in_ag(X, .(X4, Xs)) → U5_ag(X, X4, Xs, member_in_ag(X, Xs))
U6_gg(X, Y, member_out_gg(X, Y)) → U7_gg(X, Y, failure_in_g(a))
U5_ag(X, X4, Xs, member_out_ag(X, Xs)) → member_out_ag(X, .(X4, Xs))
member_in_gg(X, .(X, X3)) → member_out_gg(X, .(X, X3))
member_in_gg(X, .(X4, Xs)) → U5_gg(X, X4, Xs, member_in_gg(X, Xs))
U5_gg(X, X4, Xs, member_out_gg(X, Xs)) → member_out_gg(X, .(X4, Xs))
U2_AGG(Ys, Zs, member_out_ag(X)) → U3_AGG(X, Ys, Zs, not_member_in_gg(X, Ys))
U3_AGG(X, Ys, Zs, not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
not_member_in_gg(X, Y) → U6_gg(member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U6_gg(member_out_gg) → U7_gg(failure_in_g(a))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_gg(X, .(X, X3)) → member_out_gg
member_in_gg(X, .(X4, Xs)) → U5_gg(member_in_gg(X, Xs))
U5_gg(member_out_gg) → member_out_gg
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0)
U5_ag(x0)
member_in_gg(x0, x1)
U5_gg(x0)
SUBSETCHECKED_IN_AGG(.(z0, z1), z2) → U2_AGG(.(z0, z1), z2, member_in_ag(z2))
U2_AGG(Ys, Zs, member_out_ag(X)) → U3_AGG(X, Ys, Zs, not_member_in_gg(X, Ys))
U3_AGG(X, Ys, Zs, not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(.(z0, z1), z2) → U2_AGG(.(z0, z1), z2, member_in_ag(z2))
not_member_in_gg(X, Y) → U6_gg(member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U6_gg(member_out_gg) → U7_gg(failure_in_g(a))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_gg(X, .(X, X3)) → member_out_gg
member_in_gg(X, .(X4, Xs)) → U5_gg(member_in_gg(X, Xs))
U5_gg(member_out_gg) → member_out_gg
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0)
U5_ag(x0)
member_in_gg(x0, x1)
U5_gg(x0)
U2_AGG(x1, y1, member_out_ag(x0)) → U3_AGG(x0, x1, y1, U6_gg(member_in_gg(x0, x1)))
U2_AGG(x1, y1, member_out_ag(x0)) → U3_AGG(x0, x1, y1, not_member_out_gg)
U3_AGG(X, Ys, Zs, not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
U2_AGG(x1, y1, member_out_ag(x0)) → U3_AGG(x0, x1, y1, U6_gg(member_in_gg(x0, x1)))
U2_AGG(x1, y1, member_out_ag(x0)) → U3_AGG(x0, x1, y1, not_member_out_gg)
not_member_in_gg(X, Y) → U6_gg(member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U6_gg(member_out_gg) → U7_gg(failure_in_g(a))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_gg(X, .(X, X3)) → member_out_gg
member_in_gg(X, .(X4, Xs)) → U5_gg(member_in_gg(X, Xs))
U5_gg(member_out_gg) → member_out_gg
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0)
U5_ag(x0)
member_in_gg(x0, x1)
U5_gg(x0)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
U2_AGG(x1, y1, member_out_ag(x0)) → U3_AGG(x0, x1, y1, not_member_out_gg)
U3_AGG(X, Ys, Zs, not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
not_member_in_gg(X, Y) → U6_gg(member_in_gg(X, Y))
not_member_in_gg(X5, X6) → not_member_out_gg
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U6_gg(member_out_gg) → U7_gg(failure_in_g(a))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_gg(X, .(X, X3)) → member_out_gg
member_in_gg(X, .(X4, Xs)) → U5_gg(member_in_gg(X, Xs))
U5_gg(member_out_gg) → member_out_gg
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0)
U5_ag(x0)
member_in_gg(x0, x1)
U5_gg(x0)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
U2_AGG(x1, y1, member_out_ag(x0)) → U3_AGG(x0, x1, y1, not_member_out_gg)
U3_AGG(X, Ys, Zs, not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
not_member_in_gg(x0, x1)
member_in_ag(x0)
U6_gg(x0)
U5_ag(x0)
member_in_gg(x0, x1)
U5_gg(x0)
not_member_in_gg(x0, x1)
U6_gg(x0)
member_in_gg(x0, x1)
U5_gg(x0)
SUBSETCHECKED_IN_AGG(Ys, Zs) → U2_AGG(Ys, Zs, member_in_ag(Zs))
U2_AGG(x1, y1, member_out_ag(x0)) → U3_AGG(x0, x1, y1, not_member_out_gg)
U3_AGG(X, Ys, Zs, not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), member_out_ag(x0))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(member_in_ag(x1)))
U2_AGG(x1, y1, member_out_ag(x0)) → U3_AGG(x0, x1, y1, not_member_out_gg)
U3_AGG(X, Ys, Zs, not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), member_out_ag(x0))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(member_in_ag(x1)))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
U2_AGG(z0, .(z1, z2), member_out_ag(z1)) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg)
U2_AGG(z0, .(z1, z2), member_out_ag(x2)) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg)
U3_AGG(X, Ys, Zs, not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(X, Ys), Zs)
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), member_out_ag(x0))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(member_in_ag(x1)))
U2_AGG(z0, .(z1, z2), member_out_ag(z1)) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg)
U2_AGG(z0, .(z1, z2), member_out_ag(x2)) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg)
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), member_out_ag(x0))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(member_in_ag(x1)))
U2_AGG(z0, .(z1, z2), member_out_ag(z1)) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg)
U2_AGG(z0, .(z1, z2), member_out_ag(x2)) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg)
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2))
SUBSETCHECKED_IN_AGG(y0, .(x0, x1)) → U2_AGG(y0, .(x0, x1), U5_ag(member_in_ag(x1)))
U2_AGG(z0, .(z1, z2), member_out_ag(z1)) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg)
U2_AGG(z0, .(z1, z2), member_out_ag(x2)) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg)
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(member_in_ag(z3)))
U2_AGG(z0, .(z1, z2), member_out_ag(z1)) → U3_AGG(z1, z0, .(z1, z2), not_member_out_gg)
U2_AGG(z0, .(z1, z2), member_out_ag(x2)) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg)
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(member_in_ag(z3)))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
U2_AGG(z0, .(z1, z2), member_out_ag(x2)) → U3_AGG(x2, z0, .(z1, z2), not_member_out_gg)
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg)
U3_AGG(z1, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z1, z0), .(z1, z2))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg)
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, z0, .(z1, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, z0), .(z1, z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), member_out_ag(z1))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), member_out_ag(z3))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z0, z2)) → U2_AGG(.(z0, z1), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), member_out_ag(z1))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), member_out_ag(z3))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), U5_ag(member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, z1), .(z2, z3)) → U2_AGG(.(z0, z1), .(z2, z3), U5_ag(member_in_ag(z3)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), member_out_ag(z1))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), member_out_ag(z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), U5_ag(member_in_ag(z3)))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), U5_ag(member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), U5_ag(member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), U5_ag(member_in_ag(z4)))
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(z0)) → U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(z2)) → U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg)
U2_AGG(.(z0, z1), .(z0, z2), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z0, z2), not_member_out_gg)
U2_AGG(.(z0, z1), .(z2, z3), member_out_ag(x3)) → U3_AGG(x3, .(z0, z1), .(z2, z3), not_member_out_gg)
U3_AGG(z0, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2))
U3_AGG(z2, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z2, .(z0, z1)), .(z2, z3))
U3_AGG(z3, .(z0, z1), .(z0, z2), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z3, .(z0, z1)), .(z0, z2))
U3_AGG(z4, .(z0, z1), .(z2, z3), not_member_out_gg) → SUBSETCHECKED_IN_AGG(.(z4, .(z0, z1)), .(z2, z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), member_out_ag(z0))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), member_out_ag(z1))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), member_out_ag(z3))
SUBSETCHECKED_IN_AGG(.(z0, .(z0, z1)), .(z0, z2)) → U2_AGG(.(z0, .(z0, z1)), .(z0, z2), U5_ag(member_in_ag(z2)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z0, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z0, z3), U5_ag(member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z1, z3)) → U2_AGG(.(z0, .(z1, z2)), .(z1, z3), U5_ag(member_in_ag(z3)))
SUBSETCHECKED_IN_AGG(.(z0, .(z1, z2)), .(z3, z4)) → U2_AGG(.(z0, .(z1, z2)), .(z3, z4), U5_ag(member_in_ag(z4)))
member_in_ag(.(X, X3)) → member_out_ag(X)
member_in_ag(.(X4, Xs)) → U5_ag(member_in_ag(Xs))
U5_ag(member_out_ag(X)) → member_out_ag(X)
member_in_ag(x0)
U5_ag(x0)