0 Prolog
↳1 BuiltinConflictTransformerProof (⇔, 0 ms)
↳2 Prolog
↳3 PrologToPrologProblemTransformerProof (⇒, 84 ms)
↳4 Prolog
↳5 PrologToPiTRSProof (⇒, 0 ms)
↳6 PiTRS
↳7 DependencyPairsProof (⇔, 0 ms)
↳8 PiDP
↳9 DependencyGraphProof (⇔, 4 ms)
↳10 AND
↳11 PiDP
↳12 UsableRulesProof (⇔, 0 ms)
↳13 PiDP
↳14 PiDPToQDPProof (⇒, 0 ms)
↳15 QDP
↳16 QDPSizeChangeProof (⇔, 0 ms)
↳17 YES
↳18 PiDP
↳19 UsableRulesProof (⇔, 0 ms)
↳20 PiDP
↳21 PiDPToQDPProof (⇒, 0 ms)
↳22 QDP
↳23 QDPOrderProof (⇔, 0 ms)
↳24 QDP
↳25 DependencyGraphProof (⇔, 0 ms)
↳26 TRUE
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T19, T20), .(T19, T21)) → U2_gg(T19, T20, T21, appA_in_gag(T20, X27, T21))
appA_in_gag([], T31, T31) → appA_out_gag([], T31, T31)
appA_in_gag(.(T38, T39), X60, .(T38, T40)) → U1_gag(T38, T39, X60, T40, appA_in_gag(T39, X60, T40))
U1_gag(T38, T39, X60, T40, appA_out_gag(T39, X60, T40)) → appA_out_gag(.(T38, T39), X60, .(T38, T40))
U2_gg(T19, T20, T21, appA_out_gag(T20, X27, T21)) → starB_out_gg(.(T19, T20), .(T19, T21))
starB_in_gg(.(T19, T20), .(T19, T21)) → U3_gg(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_gg(T19, T20, T21, appA_out_gag(T20, T24, T21)) → U4_gg(T19, T20, T21, starB_in_gg(.(T19, T20), T24))
U4_gg(T19, T20, T21, starB_out_gg(.(T19, T20), T24)) → starB_out_gg(.(T19, T20), .(T19, T21))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T19, T20), .(T19, T21)) → U2_gg(T19, T20, T21, appA_in_gag(T20, X27, T21))
appA_in_gag([], T31, T31) → appA_out_gag([], T31, T31)
appA_in_gag(.(T38, T39), X60, .(T38, T40)) → U1_gag(T38, T39, X60, T40, appA_in_gag(T39, X60, T40))
U1_gag(T38, T39, X60, T40, appA_out_gag(T39, X60, T40)) → appA_out_gag(.(T38, T39), X60, .(T38, T40))
U2_gg(T19, T20, T21, appA_out_gag(T20, X27, T21)) → starB_out_gg(.(T19, T20), .(T19, T21))
starB_in_gg(.(T19, T20), .(T19, T21)) → U3_gg(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_gg(T19, T20, T21, appA_out_gag(T20, T24, T21)) → U4_gg(T19, T20, T21, starB_in_gg(.(T19, T20), T24))
U4_gg(T19, T20, T21, starB_out_gg(.(T19, T20), T24)) → starB_out_gg(.(T19, T20), .(T19, T21))
STARB_IN_GG(.(T19, T20), .(T19, T21)) → U2_GG(T19, T20, T21, appA_in_gag(T20, X27, T21))
STARB_IN_GG(.(T19, T20), .(T19, T21)) → APPA_IN_GAG(T20, X27, T21)
APPA_IN_GAG(.(T38, T39), X60, .(T38, T40)) → U1_GAG(T38, T39, X60, T40, appA_in_gag(T39, X60, T40))
APPA_IN_GAG(.(T38, T39), X60, .(T38, T40)) → APPA_IN_GAG(T39, X60, T40)
STARB_IN_GG(.(T19, T20), .(T19, T21)) → U3_GG(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_GG(T19, T20, T21, appA_out_gag(T20, T24, T21)) → U4_GG(T19, T20, T21, starB_in_gg(.(T19, T20), T24))
U3_GG(T19, T20, T21, appA_out_gag(T20, T24, T21)) → STARB_IN_GG(.(T19, T20), T24)
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T19, T20), .(T19, T21)) → U2_gg(T19, T20, T21, appA_in_gag(T20, X27, T21))
appA_in_gag([], T31, T31) → appA_out_gag([], T31, T31)
appA_in_gag(.(T38, T39), X60, .(T38, T40)) → U1_gag(T38, T39, X60, T40, appA_in_gag(T39, X60, T40))
U1_gag(T38, T39, X60, T40, appA_out_gag(T39, X60, T40)) → appA_out_gag(.(T38, T39), X60, .(T38, T40))
U2_gg(T19, T20, T21, appA_out_gag(T20, X27, T21)) → starB_out_gg(.(T19, T20), .(T19, T21))
starB_in_gg(.(T19, T20), .(T19, T21)) → U3_gg(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_gg(T19, T20, T21, appA_out_gag(T20, T24, T21)) → U4_gg(T19, T20, T21, starB_in_gg(.(T19, T20), T24))
U4_gg(T19, T20, T21, starB_out_gg(.(T19, T20), T24)) → starB_out_gg(.(T19, T20), .(T19, T21))
STARB_IN_GG(.(T19, T20), .(T19, T21)) → U2_GG(T19, T20, T21, appA_in_gag(T20, X27, T21))
STARB_IN_GG(.(T19, T20), .(T19, T21)) → APPA_IN_GAG(T20, X27, T21)
APPA_IN_GAG(.(T38, T39), X60, .(T38, T40)) → U1_GAG(T38, T39, X60, T40, appA_in_gag(T39, X60, T40))
APPA_IN_GAG(.(T38, T39), X60, .(T38, T40)) → APPA_IN_GAG(T39, X60, T40)
STARB_IN_GG(.(T19, T20), .(T19, T21)) → U3_GG(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_GG(T19, T20, T21, appA_out_gag(T20, T24, T21)) → U4_GG(T19, T20, T21, starB_in_gg(.(T19, T20), T24))
U3_GG(T19, T20, T21, appA_out_gag(T20, T24, T21)) → STARB_IN_GG(.(T19, T20), T24)
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T19, T20), .(T19, T21)) → U2_gg(T19, T20, T21, appA_in_gag(T20, X27, T21))
appA_in_gag([], T31, T31) → appA_out_gag([], T31, T31)
appA_in_gag(.(T38, T39), X60, .(T38, T40)) → U1_gag(T38, T39, X60, T40, appA_in_gag(T39, X60, T40))
U1_gag(T38, T39, X60, T40, appA_out_gag(T39, X60, T40)) → appA_out_gag(.(T38, T39), X60, .(T38, T40))
U2_gg(T19, T20, T21, appA_out_gag(T20, X27, T21)) → starB_out_gg(.(T19, T20), .(T19, T21))
starB_in_gg(.(T19, T20), .(T19, T21)) → U3_gg(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_gg(T19, T20, T21, appA_out_gag(T20, T24, T21)) → U4_gg(T19, T20, T21, starB_in_gg(.(T19, T20), T24))
U4_gg(T19, T20, T21, starB_out_gg(.(T19, T20), T24)) → starB_out_gg(.(T19, T20), .(T19, T21))
APPA_IN_GAG(.(T38, T39), X60, .(T38, T40)) → APPA_IN_GAG(T39, X60, T40)
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T19, T20), .(T19, T21)) → U2_gg(T19, T20, T21, appA_in_gag(T20, X27, T21))
appA_in_gag([], T31, T31) → appA_out_gag([], T31, T31)
appA_in_gag(.(T38, T39), X60, .(T38, T40)) → U1_gag(T38, T39, X60, T40, appA_in_gag(T39, X60, T40))
U1_gag(T38, T39, X60, T40, appA_out_gag(T39, X60, T40)) → appA_out_gag(.(T38, T39), X60, .(T38, T40))
U2_gg(T19, T20, T21, appA_out_gag(T20, X27, T21)) → starB_out_gg(.(T19, T20), .(T19, T21))
starB_in_gg(.(T19, T20), .(T19, T21)) → U3_gg(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_gg(T19, T20, T21, appA_out_gag(T20, T24, T21)) → U4_gg(T19, T20, T21, starB_in_gg(.(T19, T20), T24))
U4_gg(T19, T20, T21, starB_out_gg(.(T19, T20), T24)) → starB_out_gg(.(T19, T20), .(T19, T21))
APPA_IN_GAG(.(T38, T39), X60, .(T38, T40)) → APPA_IN_GAG(T39, X60, T40)
APPA_IN_GAG(.(T38, T39), .(T38, T40)) → APPA_IN_GAG(T39, T40)
From the DPs we obtained the following set of size-change graphs:
STARB_IN_GG(.(T19, T20), .(T19, T21)) → U3_GG(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_GG(T19, T20, T21, appA_out_gag(T20, T24, T21)) → STARB_IN_GG(.(T19, T20), T24)
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T19, T20), .(T19, T21)) → U2_gg(T19, T20, T21, appA_in_gag(T20, X27, T21))
appA_in_gag([], T31, T31) → appA_out_gag([], T31, T31)
appA_in_gag(.(T38, T39), X60, .(T38, T40)) → U1_gag(T38, T39, X60, T40, appA_in_gag(T39, X60, T40))
U1_gag(T38, T39, X60, T40, appA_out_gag(T39, X60, T40)) → appA_out_gag(.(T38, T39), X60, .(T38, T40))
U2_gg(T19, T20, T21, appA_out_gag(T20, X27, T21)) → starB_out_gg(.(T19, T20), .(T19, T21))
starB_in_gg(.(T19, T20), .(T19, T21)) → U3_gg(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_gg(T19, T20, T21, appA_out_gag(T20, T24, T21)) → U4_gg(T19, T20, T21, starB_in_gg(.(T19, T20), T24))
U4_gg(T19, T20, T21, starB_out_gg(.(T19, T20), T24)) → starB_out_gg(.(T19, T20), .(T19, T21))
STARB_IN_GG(.(T19, T20), .(T19, T21)) → U3_GG(T19, T20, T21, appA_in_gag(T20, T24, T21))
U3_GG(T19, T20, T21, appA_out_gag(T20, T24, T21)) → STARB_IN_GG(.(T19, T20), T24)
appA_in_gag([], T31, T31) → appA_out_gag([], T31, T31)
appA_in_gag(.(T38, T39), X60, .(T38, T40)) → U1_gag(T38, T39, X60, T40, appA_in_gag(T39, X60, T40))
U1_gag(T38, T39, X60, T40, appA_out_gag(T39, X60, T40)) → appA_out_gag(.(T38, T39), X60, .(T38, T40))
STARB_IN_GG(.(T19, T20), .(T19, T21)) → U3_GG(T19, T20, appA_in_gag(T20, T21))
U3_GG(T19, T20, appA_out_gag(T24)) → STARB_IN_GG(.(T19, T20), T24)
appA_in_gag([], T31) → appA_out_gag(T31)
appA_in_gag(.(T38, T39), .(T38, T40)) → U1_gag(appA_in_gag(T39, T40))
U1_gag(appA_out_gag(X60)) → appA_out_gag(X60)
appA_in_gag(x0, x1)
U1_gag(x0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
STARB_IN_GG(.(T19, T20), .(T19, T21)) → U3_GG(T19, T20, appA_in_gag(T20, T21))
POL(.(x1, x2)) = 1 + x2
POL(STARB_IN_GG(x1, x2)) = x2
POL(U1_gag(x1)) = x1
POL(U3_GG(x1, x2, x3)) = x3
POL([]) = 0
POL(appA_in_gag(x1, x2)) = x2
POL(appA_out_gag(x1)) = x1
appA_in_gag([], T31) → appA_out_gag(T31)
appA_in_gag(.(T38, T39), .(T38, T40)) → U1_gag(appA_in_gag(T39, T40))
U1_gag(appA_out_gag(X60)) → appA_out_gag(X60)
U3_GG(T19, T20, appA_out_gag(T24)) → STARB_IN_GG(.(T19, T20), T24)
appA_in_gag([], T31) → appA_out_gag(T31)
appA_in_gag(.(T38, T39), .(T38, T40)) → U1_gag(appA_in_gag(T39, T40))
U1_gag(appA_out_gag(X60)) → appA_out_gag(X60)
appA_in_gag(x0, x1)
U1_gag(x0)