0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇐)
↳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 YES
↳16 PiDP
↳17 UsableRulesProof (⇔)
↳18 PiDP
↳19 PiDPToQDPProof (⇐)
↳20 QDP
↳21 MRRProof (⇔)
↳22 QDP
↳23 PisEmptyProof (⇔)
↳24 YES
plus1_in_gaa(0, T5, T5) → plus1_out_gaa(0, T5, T5)
plus1_in_gaa(s(0), T20, s(T20)) → plus1_out_gaa(s(0), T20, s(T20))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U2_gaa(T23, T12, T13, p23_in_ga(T23, X36))
p23_in_ga(s(T29), s(X53)) → U1_ga(T29, X53, p23_in_ga(T29, X53))
U1_ga(T29, X53, p23_out_ga(T29, X53)) → p23_out_ga(s(T29), s(X53))
U2_gaa(T23, T12, T13, p23_out_ga(T23, X36)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U3_gaa(T23, T12, T13, p23_in_ga(T23, T25))
U3_gaa(T23, T12, T13, p23_out_ga(T23, T25)) → U4_gaa(T23, T12, T13, plus1_in_gaa(s(s(T25)), T12, T13))
U4_gaa(T23, T12, T13, plus1_out_gaa(s(s(T25)), T12, T13)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
plus1_in_gaa(0, T5, T5) → plus1_out_gaa(0, T5, T5)
plus1_in_gaa(s(0), T20, s(T20)) → plus1_out_gaa(s(0), T20, s(T20))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U2_gaa(T23, T12, T13, p23_in_ga(T23, X36))
p23_in_ga(s(T29), s(X53)) → U1_ga(T29, X53, p23_in_ga(T29, X53))
U1_ga(T29, X53, p23_out_ga(T29, X53)) → p23_out_ga(s(T29), s(X53))
U2_gaa(T23, T12, T13, p23_out_ga(T23, X36)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U3_gaa(T23, T12, T13, p23_in_ga(T23, T25))
U3_gaa(T23, T12, T13, p23_out_ga(T23, T25)) → U4_gaa(T23, T12, T13, plus1_in_gaa(s(s(T25)), T12, T13))
U4_gaa(T23, T12, T13, plus1_out_gaa(s(s(T25)), T12, T13)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
PLUS1_IN_GAA(s(s(T23)), T12, s(T13)) → U2_GAA(T23, T12, T13, p23_in_ga(T23, X36))
PLUS1_IN_GAA(s(s(T23)), T12, s(T13)) → P23_IN_GA(T23, X36)
P23_IN_GA(s(T29), s(X53)) → U1_GA(T29, X53, p23_in_ga(T29, X53))
P23_IN_GA(s(T29), s(X53)) → P23_IN_GA(T29, X53)
PLUS1_IN_GAA(s(s(T23)), T12, s(T13)) → U3_GAA(T23, T12, T13, p23_in_ga(T23, T25))
U3_GAA(T23, T12, T13, p23_out_ga(T23, T25)) → U4_GAA(T23, T12, T13, plus1_in_gaa(s(s(T25)), T12, T13))
U3_GAA(T23, T12, T13, p23_out_ga(T23, T25)) → PLUS1_IN_GAA(s(s(T25)), T12, T13)
plus1_in_gaa(0, T5, T5) → plus1_out_gaa(0, T5, T5)
plus1_in_gaa(s(0), T20, s(T20)) → plus1_out_gaa(s(0), T20, s(T20))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U2_gaa(T23, T12, T13, p23_in_ga(T23, X36))
p23_in_ga(s(T29), s(X53)) → U1_ga(T29, X53, p23_in_ga(T29, X53))
U1_ga(T29, X53, p23_out_ga(T29, X53)) → p23_out_ga(s(T29), s(X53))
U2_gaa(T23, T12, T13, p23_out_ga(T23, X36)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U3_gaa(T23, T12, T13, p23_in_ga(T23, T25))
U3_gaa(T23, T12, T13, p23_out_ga(T23, T25)) → U4_gaa(T23, T12, T13, plus1_in_gaa(s(s(T25)), T12, T13))
U4_gaa(T23, T12, T13, plus1_out_gaa(s(s(T25)), T12, T13)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
PLUS1_IN_GAA(s(s(T23)), T12, s(T13)) → U2_GAA(T23, T12, T13, p23_in_ga(T23, X36))
PLUS1_IN_GAA(s(s(T23)), T12, s(T13)) → P23_IN_GA(T23, X36)
P23_IN_GA(s(T29), s(X53)) → U1_GA(T29, X53, p23_in_ga(T29, X53))
P23_IN_GA(s(T29), s(X53)) → P23_IN_GA(T29, X53)
PLUS1_IN_GAA(s(s(T23)), T12, s(T13)) → U3_GAA(T23, T12, T13, p23_in_ga(T23, T25))
U3_GAA(T23, T12, T13, p23_out_ga(T23, T25)) → U4_GAA(T23, T12, T13, plus1_in_gaa(s(s(T25)), T12, T13))
U3_GAA(T23, T12, T13, p23_out_ga(T23, T25)) → PLUS1_IN_GAA(s(s(T25)), T12, T13)
plus1_in_gaa(0, T5, T5) → plus1_out_gaa(0, T5, T5)
plus1_in_gaa(s(0), T20, s(T20)) → plus1_out_gaa(s(0), T20, s(T20))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U2_gaa(T23, T12, T13, p23_in_ga(T23, X36))
p23_in_ga(s(T29), s(X53)) → U1_ga(T29, X53, p23_in_ga(T29, X53))
U1_ga(T29, X53, p23_out_ga(T29, X53)) → p23_out_ga(s(T29), s(X53))
U2_gaa(T23, T12, T13, p23_out_ga(T23, X36)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U3_gaa(T23, T12, T13, p23_in_ga(T23, T25))
U3_gaa(T23, T12, T13, p23_out_ga(T23, T25)) → U4_gaa(T23, T12, T13, plus1_in_gaa(s(s(T25)), T12, T13))
U4_gaa(T23, T12, T13, plus1_out_gaa(s(s(T25)), T12, T13)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
P23_IN_GA(s(T29), s(X53)) → P23_IN_GA(T29, X53)
plus1_in_gaa(0, T5, T5) → plus1_out_gaa(0, T5, T5)
plus1_in_gaa(s(0), T20, s(T20)) → plus1_out_gaa(s(0), T20, s(T20))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U2_gaa(T23, T12, T13, p23_in_ga(T23, X36))
p23_in_ga(s(T29), s(X53)) → U1_ga(T29, X53, p23_in_ga(T29, X53))
U1_ga(T29, X53, p23_out_ga(T29, X53)) → p23_out_ga(s(T29), s(X53))
U2_gaa(T23, T12, T13, p23_out_ga(T23, X36)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U3_gaa(T23, T12, T13, p23_in_ga(T23, T25))
U3_gaa(T23, T12, T13, p23_out_ga(T23, T25)) → U4_gaa(T23, T12, T13, plus1_in_gaa(s(s(T25)), T12, T13))
U4_gaa(T23, T12, T13, plus1_out_gaa(s(s(T25)), T12, T13)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
P23_IN_GA(s(T29), s(X53)) → P23_IN_GA(T29, X53)
P23_IN_GA(s(T29)) → P23_IN_GA(T29)
From the DPs we obtained the following set of size-change graphs:
PLUS1_IN_GAA(s(s(T23)), T12, s(T13)) → U3_GAA(T23, T12, T13, p23_in_ga(T23, T25))
U3_GAA(T23, T12, T13, p23_out_ga(T23, T25)) → PLUS1_IN_GAA(s(s(T25)), T12, T13)
plus1_in_gaa(0, T5, T5) → plus1_out_gaa(0, T5, T5)
plus1_in_gaa(s(0), T20, s(T20)) → plus1_out_gaa(s(0), T20, s(T20))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U2_gaa(T23, T12, T13, p23_in_ga(T23, X36))
p23_in_ga(s(T29), s(X53)) → U1_ga(T29, X53, p23_in_ga(T29, X53))
U1_ga(T29, X53, p23_out_ga(T29, X53)) → p23_out_ga(s(T29), s(X53))
U2_gaa(T23, T12, T13, p23_out_ga(T23, X36)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
plus1_in_gaa(s(s(T23)), T12, s(T13)) → U3_gaa(T23, T12, T13, p23_in_ga(T23, T25))
U3_gaa(T23, T12, T13, p23_out_ga(T23, T25)) → U4_gaa(T23, T12, T13, plus1_in_gaa(s(s(T25)), T12, T13))
U4_gaa(T23, T12, T13, plus1_out_gaa(s(s(T25)), T12, T13)) → plus1_out_gaa(s(s(T23)), T12, s(T13))
PLUS1_IN_GAA(s(s(T23)), T12, s(T13)) → U3_GAA(T23, T12, T13, p23_in_ga(T23, T25))
U3_GAA(T23, T12, T13, p23_out_ga(T23, T25)) → PLUS1_IN_GAA(s(s(T25)), T12, T13)
p23_in_ga(s(T29), s(X53)) → U1_ga(T29, X53, p23_in_ga(T29, X53))
U1_ga(T29, X53, p23_out_ga(T29, X53)) → p23_out_ga(s(T29), s(X53))
PLUS1_IN_GAA(s(s(T23))) → U3_GAA(p23_in_ga(T23))
U3_GAA(p23_out_ga(T25)) → PLUS1_IN_GAA(s(s(T25)))
p23_in_ga(s(T29)) → U1_ga(p23_in_ga(T29))
U1_ga(p23_out_ga(X53)) → p23_out_ga(s(X53))
p23_in_ga(x0)
U1_ga(x0)
PLUS1_IN_GAA(s(s(T23))) → U3_GAA(p23_in_ga(T23))
U3_GAA(p23_out_ga(T25)) → PLUS1_IN_GAA(s(s(T25)))
POL(PLUS1_IN_GAA(x1)) = 1 + x1
POL(U1_ga(x1)) = x1
POL(U3_GAA(x1)) = x1
POL(p23_in_ga(x1)) = x1
POL(p23_out_ga(x1)) = 2 + x1
POL(s(x1)) = x1
p23_in_ga(s(T29)) → U1_ga(p23_in_ga(T29))
U1_ga(p23_out_ga(X53)) → p23_out_ga(s(X53))
p23_in_ga(x0)
U1_ga(x0)