0 Prolog
↳1 CutEliminatorProof (⇒, 0 ms)
↳2 Prolog
↳3 PrologToPiTRSProof (⇒, 65 ms)
↳4 PiTRS
↳5 DependencyPairsProof (⇔, 192 ms)
↳6 PiDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 PiDP
↳9 UsableRulesProof (⇔, 0 ms)
↳10 PiDP
↳11 PiDPToQDPProof (⇒, 8 ms)
↳12 QDP
↳13 QDPSizeChangeProof (⇔, 0 ms)
↳14 YES
goal_in_ga(Name, Code) → U1_ga(Name, Code, eq_in_ga(Name, .(First, Others)))
eq_in_ga(X, X) → eq_out_ga(X, X)
U1_ga(Name, Code, eq_out_ga(Name, .(First, Others))) → U2_ga(Name, Code, reduce_in_ggaa(Others, s(0), First, Reduced))
reduce_in_ggaa(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggaa(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggaa([], X3, X4, []) → reduce_out_ggaa([], X3, X4, [])
reduce_in_ggaa(.(Current, Others), Count, Current, Code) → U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_in_a(Current))
vowel_h_w_y_in_a(97) → vowel_h_w_y_out_a(97)
vowel_h_w_y_in_a(101) → vowel_h_w_y_out_a(101)
vowel_h_w_y_in_a(105) → vowel_h_w_y_out_a(105)
vowel_h_w_y_in_a(111) → vowel_h_w_y_out_a(111)
vowel_h_w_y_in_a(117) → vowel_h_w_y_out_a(117)
vowel_h_w_y_in_a(104) → vowel_h_w_y_out_a(104)
vowel_h_w_y_in_a(119) → vowel_h_w_y_out_a(119)
vowel_h_w_y_in_a(121) → vowel_h_w_y_out_a(121)
U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → U5_ggaa(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggga(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggga([], X3, X4, []) → reduce_out_ggga([], X3, X4, [])
reduce_in_ggga(.(Current, Others), Count, Current, Code) → U4_ggga(Current, Others, Count, Code, vowel_h_w_y_in_g(Current))
vowel_h_w_y_in_g(97) → vowel_h_w_y_out_g(97)
vowel_h_w_y_in_g(101) → vowel_h_w_y_out_g(101)
vowel_h_w_y_in_g(105) → vowel_h_w_y_out_g(105)
vowel_h_w_y_in_g(111) → vowel_h_w_y_out_g(111)
vowel_h_w_y_in_g(117) → vowel_h_w_y_out_g(117)
vowel_h_w_y_in_g(104) → vowel_h_w_y_out_g(104)
vowel_h_w_y_in_g(119) → vowel_h_w_y_out_g(119)
vowel_h_w_y_in_g(121) → vowel_h_w_y_out_g(121)
U4_ggga(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → U5_ggga(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(.(Letter, Others), Count, Letter, Code) → U6_ggga(Letter, Others, Count, Code, reduce_in_ggga(Others, Count, Letter, Code))
reduce_in_ggga(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggga(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
reduce_in_ggaa(.(Letter, Others), Count, Letter, Code) → U6_ggaa(Letter, Others, Count, Code, reduce_in_ggaa(Others, Count, Letter, Code))
reduce_in_ggaa(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggaa(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
U7_ggaa(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, X5, .(Current, Code))
U6_ggaa(Letter, Others, Count, Code, reduce_out_ggaa(Others, Count, Letter, Code)) → reduce_out_ggaa(.(Letter, Others), Count, Letter, Code)
U7_ggga(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggga(.(Current, Others), Count, X5, .(Current, Code))
U6_ggga(Letter, Others, Count, Code, reduce_out_ggga(Others, Count, Letter, Code)) → reduce_out_ggga(.(Letter, Others), Count, Letter, Code)
U5_ggga(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggga(.(Current, Others), Count, Current, Code)
U5_ggaa(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, Current, Code)
U2_ga(Name, Code, reduce_out_ggaa(Others, s(0), First, Reduced)) → U3_ga(Name, Code, eq_in_ag(Code, Reduced))
eq_in_ag(X, X) → eq_out_ag(X, X)
U3_ga(Name, Code, eq_out_ag(Code, Reduced)) → goal_out_ga(Name, Code)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
goal_in_ga(Name, Code) → U1_ga(Name, Code, eq_in_ga(Name, .(First, Others)))
eq_in_ga(X, X) → eq_out_ga(X, X)
U1_ga(Name, Code, eq_out_ga(Name, .(First, Others))) → U2_ga(Name, Code, reduce_in_ggaa(Others, s(0), First, Reduced))
reduce_in_ggaa(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggaa(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggaa([], X3, X4, []) → reduce_out_ggaa([], X3, X4, [])
reduce_in_ggaa(.(Current, Others), Count, Current, Code) → U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_in_a(Current))
vowel_h_w_y_in_a(97) → vowel_h_w_y_out_a(97)
vowel_h_w_y_in_a(101) → vowel_h_w_y_out_a(101)
vowel_h_w_y_in_a(105) → vowel_h_w_y_out_a(105)
vowel_h_w_y_in_a(111) → vowel_h_w_y_out_a(111)
vowel_h_w_y_in_a(117) → vowel_h_w_y_out_a(117)
vowel_h_w_y_in_a(104) → vowel_h_w_y_out_a(104)
vowel_h_w_y_in_a(119) → vowel_h_w_y_out_a(119)
vowel_h_w_y_in_a(121) → vowel_h_w_y_out_a(121)
U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → U5_ggaa(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggga(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggga([], X3, X4, []) → reduce_out_ggga([], X3, X4, [])
reduce_in_ggga(.(Current, Others), Count, Current, Code) → U4_ggga(Current, Others, Count, Code, vowel_h_w_y_in_g(Current))
vowel_h_w_y_in_g(97) → vowel_h_w_y_out_g(97)
vowel_h_w_y_in_g(101) → vowel_h_w_y_out_g(101)
vowel_h_w_y_in_g(105) → vowel_h_w_y_out_g(105)
vowel_h_w_y_in_g(111) → vowel_h_w_y_out_g(111)
vowel_h_w_y_in_g(117) → vowel_h_w_y_out_g(117)
vowel_h_w_y_in_g(104) → vowel_h_w_y_out_g(104)
vowel_h_w_y_in_g(119) → vowel_h_w_y_out_g(119)
vowel_h_w_y_in_g(121) → vowel_h_w_y_out_g(121)
U4_ggga(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → U5_ggga(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(.(Letter, Others), Count, Letter, Code) → U6_ggga(Letter, Others, Count, Code, reduce_in_ggga(Others, Count, Letter, Code))
reduce_in_ggga(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggga(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
reduce_in_ggaa(.(Letter, Others), Count, Letter, Code) → U6_ggaa(Letter, Others, Count, Code, reduce_in_ggaa(Others, Count, Letter, Code))
reduce_in_ggaa(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggaa(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
U7_ggaa(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, X5, .(Current, Code))
U6_ggaa(Letter, Others, Count, Code, reduce_out_ggaa(Others, Count, Letter, Code)) → reduce_out_ggaa(.(Letter, Others), Count, Letter, Code)
U7_ggga(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggga(.(Current, Others), Count, X5, .(Current, Code))
U6_ggga(Letter, Others, Count, Code, reduce_out_ggga(Others, Count, Letter, Code)) → reduce_out_ggga(.(Letter, Others), Count, Letter, Code)
U5_ggga(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggga(.(Current, Others), Count, Current, Code)
U5_ggaa(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, Current, Code)
U2_ga(Name, Code, reduce_out_ggaa(Others, s(0), First, Reduced)) → U3_ga(Name, Code, eq_in_ag(Code, Reduced))
eq_in_ag(X, X) → eq_out_ag(X, X)
U3_ga(Name, Code, eq_out_ag(Code, Reduced)) → goal_out_ga(Name, Code)
GOAL_IN_GA(Name, Code) → U1_GA(Name, Code, eq_in_ga(Name, .(First, Others)))
GOAL_IN_GA(Name, Code) → EQ_IN_GA(Name, .(First, Others))
U1_GA(Name, Code, eq_out_ga(Name, .(First, Others))) → U2_GA(Name, Code, reduce_in_ggaa(Others, s(0), First, Reduced))
U1_GA(Name, Code, eq_out_ga(Name, .(First, Others))) → REDUCE_IN_GGAA(Others, s(0), First, Reduced)
REDUCE_IN_GGAA(.(Current, Others), Count, Current, Code) → U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_in_a(Current))
REDUCE_IN_GGAA(.(Current, Others), Count, Current, Code) → VOWEL_H_W_Y_IN_A(Current)
U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → U5_GGAA(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → REDUCE_IN_GGGA(Others, Count, Current, Code)
REDUCE_IN_GGGA(.(Current, Others), Count, Current, Code) → U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_in_g(Current))
REDUCE_IN_GGGA(.(Current, Others), Count, Current, Code) → VOWEL_H_W_Y_IN_G(Current)
U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → U5_GGGA(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → REDUCE_IN_GGGA(Others, Count, Current, Code)
REDUCE_IN_GGGA(.(Letter, Others), Count, Letter, Code) → U6_GGGA(Letter, Others, Count, Code, reduce_in_ggga(Others, Count, Letter, Code))
REDUCE_IN_GGGA(.(Letter, Others), Count, Letter, Code) → REDUCE_IN_GGGA(Others, Count, Letter, Code)
REDUCE_IN_GGGA(.(Current, Others), Count, X5, .(Current, Code)) → U7_GGGA(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
REDUCE_IN_GGGA(.(Current, Others), Count, X5, .(Current, Code)) → REDUCE_IN_GGAA(Others, s(Count), Current, Code)
REDUCE_IN_GGAA(.(Letter, Others), Count, Letter, Code) → U6_GGAA(Letter, Others, Count, Code, reduce_in_ggaa(Others, Count, Letter, Code))
REDUCE_IN_GGAA(.(Letter, Others), Count, Letter, Code) → REDUCE_IN_GGAA(Others, Count, Letter, Code)
REDUCE_IN_GGAA(.(Current, Others), Count, X5, .(Current, Code)) → U7_GGAA(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
REDUCE_IN_GGAA(.(Current, Others), Count, X5, .(Current, Code)) → REDUCE_IN_GGAA(Others, s(Count), Current, Code)
U2_GA(Name, Code, reduce_out_ggaa(Others, s(0), First, Reduced)) → U3_GA(Name, Code, eq_in_ag(Code, Reduced))
U2_GA(Name, Code, reduce_out_ggaa(Others, s(0), First, Reduced)) → EQ_IN_AG(Code, Reduced)
goal_in_ga(Name, Code) → U1_ga(Name, Code, eq_in_ga(Name, .(First, Others)))
eq_in_ga(X, X) → eq_out_ga(X, X)
U1_ga(Name, Code, eq_out_ga(Name, .(First, Others))) → U2_ga(Name, Code, reduce_in_ggaa(Others, s(0), First, Reduced))
reduce_in_ggaa(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggaa(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggaa([], X3, X4, []) → reduce_out_ggaa([], X3, X4, [])
reduce_in_ggaa(.(Current, Others), Count, Current, Code) → U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_in_a(Current))
vowel_h_w_y_in_a(97) → vowel_h_w_y_out_a(97)
vowel_h_w_y_in_a(101) → vowel_h_w_y_out_a(101)
vowel_h_w_y_in_a(105) → vowel_h_w_y_out_a(105)
vowel_h_w_y_in_a(111) → vowel_h_w_y_out_a(111)
vowel_h_w_y_in_a(117) → vowel_h_w_y_out_a(117)
vowel_h_w_y_in_a(104) → vowel_h_w_y_out_a(104)
vowel_h_w_y_in_a(119) → vowel_h_w_y_out_a(119)
vowel_h_w_y_in_a(121) → vowel_h_w_y_out_a(121)
U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → U5_ggaa(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggga(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggga([], X3, X4, []) → reduce_out_ggga([], X3, X4, [])
reduce_in_ggga(.(Current, Others), Count, Current, Code) → U4_ggga(Current, Others, Count, Code, vowel_h_w_y_in_g(Current))
vowel_h_w_y_in_g(97) → vowel_h_w_y_out_g(97)
vowel_h_w_y_in_g(101) → vowel_h_w_y_out_g(101)
vowel_h_w_y_in_g(105) → vowel_h_w_y_out_g(105)
vowel_h_w_y_in_g(111) → vowel_h_w_y_out_g(111)
vowel_h_w_y_in_g(117) → vowel_h_w_y_out_g(117)
vowel_h_w_y_in_g(104) → vowel_h_w_y_out_g(104)
vowel_h_w_y_in_g(119) → vowel_h_w_y_out_g(119)
vowel_h_w_y_in_g(121) → vowel_h_w_y_out_g(121)
U4_ggga(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → U5_ggga(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(.(Letter, Others), Count, Letter, Code) → U6_ggga(Letter, Others, Count, Code, reduce_in_ggga(Others, Count, Letter, Code))
reduce_in_ggga(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggga(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
reduce_in_ggaa(.(Letter, Others), Count, Letter, Code) → U6_ggaa(Letter, Others, Count, Code, reduce_in_ggaa(Others, Count, Letter, Code))
reduce_in_ggaa(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggaa(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
U7_ggaa(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, X5, .(Current, Code))
U6_ggaa(Letter, Others, Count, Code, reduce_out_ggaa(Others, Count, Letter, Code)) → reduce_out_ggaa(.(Letter, Others), Count, Letter, Code)
U7_ggga(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggga(.(Current, Others), Count, X5, .(Current, Code))
U6_ggga(Letter, Others, Count, Code, reduce_out_ggga(Others, Count, Letter, Code)) → reduce_out_ggga(.(Letter, Others), Count, Letter, Code)
U5_ggga(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggga(.(Current, Others), Count, Current, Code)
U5_ggaa(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, Current, Code)
U2_ga(Name, Code, reduce_out_ggaa(Others, s(0), First, Reduced)) → U3_ga(Name, Code, eq_in_ag(Code, Reduced))
eq_in_ag(X, X) → eq_out_ag(X, X)
U3_ga(Name, Code, eq_out_ag(Code, Reduced)) → goal_out_ga(Name, Code)
GOAL_IN_GA(Name, Code) → U1_GA(Name, Code, eq_in_ga(Name, .(First, Others)))
GOAL_IN_GA(Name, Code) → EQ_IN_GA(Name, .(First, Others))
U1_GA(Name, Code, eq_out_ga(Name, .(First, Others))) → U2_GA(Name, Code, reduce_in_ggaa(Others, s(0), First, Reduced))
U1_GA(Name, Code, eq_out_ga(Name, .(First, Others))) → REDUCE_IN_GGAA(Others, s(0), First, Reduced)
REDUCE_IN_GGAA(.(Current, Others), Count, Current, Code) → U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_in_a(Current))
REDUCE_IN_GGAA(.(Current, Others), Count, Current, Code) → VOWEL_H_W_Y_IN_A(Current)
U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → U5_GGAA(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → REDUCE_IN_GGGA(Others, Count, Current, Code)
REDUCE_IN_GGGA(.(Current, Others), Count, Current, Code) → U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_in_g(Current))
REDUCE_IN_GGGA(.(Current, Others), Count, Current, Code) → VOWEL_H_W_Y_IN_G(Current)
U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → U5_GGGA(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → REDUCE_IN_GGGA(Others, Count, Current, Code)
REDUCE_IN_GGGA(.(Letter, Others), Count, Letter, Code) → U6_GGGA(Letter, Others, Count, Code, reduce_in_ggga(Others, Count, Letter, Code))
REDUCE_IN_GGGA(.(Letter, Others), Count, Letter, Code) → REDUCE_IN_GGGA(Others, Count, Letter, Code)
REDUCE_IN_GGGA(.(Current, Others), Count, X5, .(Current, Code)) → U7_GGGA(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
REDUCE_IN_GGGA(.(Current, Others), Count, X5, .(Current, Code)) → REDUCE_IN_GGAA(Others, s(Count), Current, Code)
REDUCE_IN_GGAA(.(Letter, Others), Count, Letter, Code) → U6_GGAA(Letter, Others, Count, Code, reduce_in_ggaa(Others, Count, Letter, Code))
REDUCE_IN_GGAA(.(Letter, Others), Count, Letter, Code) → REDUCE_IN_GGAA(Others, Count, Letter, Code)
REDUCE_IN_GGAA(.(Current, Others), Count, X5, .(Current, Code)) → U7_GGAA(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
REDUCE_IN_GGAA(.(Current, Others), Count, X5, .(Current, Code)) → REDUCE_IN_GGAA(Others, s(Count), Current, Code)
U2_GA(Name, Code, reduce_out_ggaa(Others, s(0), First, Reduced)) → U3_GA(Name, Code, eq_in_ag(Code, Reduced))
U2_GA(Name, Code, reduce_out_ggaa(Others, s(0), First, Reduced)) → EQ_IN_AG(Code, Reduced)
goal_in_ga(Name, Code) → U1_ga(Name, Code, eq_in_ga(Name, .(First, Others)))
eq_in_ga(X, X) → eq_out_ga(X, X)
U1_ga(Name, Code, eq_out_ga(Name, .(First, Others))) → U2_ga(Name, Code, reduce_in_ggaa(Others, s(0), First, Reduced))
reduce_in_ggaa(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggaa(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggaa([], X3, X4, []) → reduce_out_ggaa([], X3, X4, [])
reduce_in_ggaa(.(Current, Others), Count, Current, Code) → U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_in_a(Current))
vowel_h_w_y_in_a(97) → vowel_h_w_y_out_a(97)
vowel_h_w_y_in_a(101) → vowel_h_w_y_out_a(101)
vowel_h_w_y_in_a(105) → vowel_h_w_y_out_a(105)
vowel_h_w_y_in_a(111) → vowel_h_w_y_out_a(111)
vowel_h_w_y_in_a(117) → vowel_h_w_y_out_a(117)
vowel_h_w_y_in_a(104) → vowel_h_w_y_out_a(104)
vowel_h_w_y_in_a(119) → vowel_h_w_y_out_a(119)
vowel_h_w_y_in_a(121) → vowel_h_w_y_out_a(121)
U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → U5_ggaa(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggga(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggga([], X3, X4, []) → reduce_out_ggga([], X3, X4, [])
reduce_in_ggga(.(Current, Others), Count, Current, Code) → U4_ggga(Current, Others, Count, Code, vowel_h_w_y_in_g(Current))
vowel_h_w_y_in_g(97) → vowel_h_w_y_out_g(97)
vowel_h_w_y_in_g(101) → vowel_h_w_y_out_g(101)
vowel_h_w_y_in_g(105) → vowel_h_w_y_out_g(105)
vowel_h_w_y_in_g(111) → vowel_h_w_y_out_g(111)
vowel_h_w_y_in_g(117) → vowel_h_w_y_out_g(117)
vowel_h_w_y_in_g(104) → vowel_h_w_y_out_g(104)
vowel_h_w_y_in_g(119) → vowel_h_w_y_out_g(119)
vowel_h_w_y_in_g(121) → vowel_h_w_y_out_g(121)
U4_ggga(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → U5_ggga(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(.(Letter, Others), Count, Letter, Code) → U6_ggga(Letter, Others, Count, Code, reduce_in_ggga(Others, Count, Letter, Code))
reduce_in_ggga(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggga(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
reduce_in_ggaa(.(Letter, Others), Count, Letter, Code) → U6_ggaa(Letter, Others, Count, Code, reduce_in_ggaa(Others, Count, Letter, Code))
reduce_in_ggaa(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggaa(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
U7_ggaa(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, X5, .(Current, Code))
U6_ggaa(Letter, Others, Count, Code, reduce_out_ggaa(Others, Count, Letter, Code)) → reduce_out_ggaa(.(Letter, Others), Count, Letter, Code)
U7_ggga(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggga(.(Current, Others), Count, X5, .(Current, Code))
U6_ggga(Letter, Others, Count, Code, reduce_out_ggga(Others, Count, Letter, Code)) → reduce_out_ggga(.(Letter, Others), Count, Letter, Code)
U5_ggga(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggga(.(Current, Others), Count, Current, Code)
U5_ggaa(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, Current, Code)
U2_ga(Name, Code, reduce_out_ggaa(Others, s(0), First, Reduced)) → U3_ga(Name, Code, eq_in_ag(Code, Reduced))
eq_in_ag(X, X) → eq_out_ag(X, X)
U3_ga(Name, Code, eq_out_ag(Code, Reduced)) → goal_out_ga(Name, Code)
U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → REDUCE_IN_GGGA(Others, Count, Current, Code)
REDUCE_IN_GGGA(.(Current, Others), Count, Current, Code) → U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_in_g(Current))
U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → REDUCE_IN_GGGA(Others, Count, Current, Code)
REDUCE_IN_GGGA(.(Letter, Others), Count, Letter, Code) → REDUCE_IN_GGGA(Others, Count, Letter, Code)
REDUCE_IN_GGGA(.(Current, Others), Count, X5, .(Current, Code)) → REDUCE_IN_GGAA(Others, s(Count), Current, Code)
REDUCE_IN_GGAA(.(Current, Others), Count, Current, Code) → U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_in_a(Current))
REDUCE_IN_GGAA(.(Letter, Others), Count, Letter, Code) → REDUCE_IN_GGAA(Others, Count, Letter, Code)
REDUCE_IN_GGAA(.(Current, Others), Count, X5, .(Current, Code)) → REDUCE_IN_GGAA(Others, s(Count), Current, Code)
goal_in_ga(Name, Code) → U1_ga(Name, Code, eq_in_ga(Name, .(First, Others)))
eq_in_ga(X, X) → eq_out_ga(X, X)
U1_ga(Name, Code, eq_out_ga(Name, .(First, Others))) → U2_ga(Name, Code, reduce_in_ggaa(Others, s(0), First, Reduced))
reduce_in_ggaa(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggaa(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggaa([], X3, X4, []) → reduce_out_ggaa([], X3, X4, [])
reduce_in_ggaa(.(Current, Others), Count, Current, Code) → U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_in_a(Current))
vowel_h_w_y_in_a(97) → vowel_h_w_y_out_a(97)
vowel_h_w_y_in_a(101) → vowel_h_w_y_out_a(101)
vowel_h_w_y_in_a(105) → vowel_h_w_y_out_a(105)
vowel_h_w_y_in_a(111) → vowel_h_w_y_out_a(111)
vowel_h_w_y_in_a(117) → vowel_h_w_y_out_a(117)
vowel_h_w_y_in_a(104) → vowel_h_w_y_out_a(104)
vowel_h_w_y_in_a(119) → vowel_h_w_y_out_a(119)
vowel_h_w_y_in_a(121) → vowel_h_w_y_out_a(121)
U4_ggaa(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → U5_ggaa(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(X1, s(s(s(s(0)))), X2, []) → reduce_out_ggga(X1, s(s(s(s(0)))), X2, [])
reduce_in_ggga([], X3, X4, []) → reduce_out_ggga([], X3, X4, [])
reduce_in_ggga(.(Current, Others), Count, Current, Code) → U4_ggga(Current, Others, Count, Code, vowel_h_w_y_in_g(Current))
vowel_h_w_y_in_g(97) → vowel_h_w_y_out_g(97)
vowel_h_w_y_in_g(101) → vowel_h_w_y_out_g(101)
vowel_h_w_y_in_g(105) → vowel_h_w_y_out_g(105)
vowel_h_w_y_in_g(111) → vowel_h_w_y_out_g(111)
vowel_h_w_y_in_g(117) → vowel_h_w_y_out_g(117)
vowel_h_w_y_in_g(104) → vowel_h_w_y_out_g(104)
vowel_h_w_y_in_g(119) → vowel_h_w_y_out_g(119)
vowel_h_w_y_in_g(121) → vowel_h_w_y_out_g(121)
U4_ggga(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → U5_ggga(Current, Others, Count, Code, reduce_in_ggga(Others, Count, Current, Code))
reduce_in_ggga(.(Letter, Others), Count, Letter, Code) → U6_ggga(Letter, Others, Count, Code, reduce_in_ggga(Others, Count, Letter, Code))
reduce_in_ggga(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggga(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
reduce_in_ggaa(.(Letter, Others), Count, Letter, Code) → U6_ggaa(Letter, Others, Count, Code, reduce_in_ggaa(Others, Count, Letter, Code))
reduce_in_ggaa(.(Current, Others), Count, X5, .(Current, Code)) → U7_ggaa(Current, Others, Count, X5, Code, reduce_in_ggaa(Others, s(Count), Current, Code))
U7_ggaa(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, X5, .(Current, Code))
U6_ggaa(Letter, Others, Count, Code, reduce_out_ggaa(Others, Count, Letter, Code)) → reduce_out_ggaa(.(Letter, Others), Count, Letter, Code)
U7_ggga(Current, Others, Count, X5, Code, reduce_out_ggaa(Others, s(Count), Current, Code)) → reduce_out_ggga(.(Current, Others), Count, X5, .(Current, Code))
U6_ggga(Letter, Others, Count, Code, reduce_out_ggga(Others, Count, Letter, Code)) → reduce_out_ggga(.(Letter, Others), Count, Letter, Code)
U5_ggga(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggga(.(Current, Others), Count, Current, Code)
U5_ggaa(Current, Others, Count, Code, reduce_out_ggga(Others, Count, Current, Code)) → reduce_out_ggaa(.(Current, Others), Count, Current, Code)
U2_ga(Name, Code, reduce_out_ggaa(Others, s(0), First, Reduced)) → U3_ga(Name, Code, eq_in_ag(Code, Reduced))
eq_in_ag(X, X) → eq_out_ag(X, X)
U3_ga(Name, Code, eq_out_ag(Code, Reduced)) → goal_out_ga(Name, Code)
U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_out_a(Current)) → REDUCE_IN_GGGA(Others, Count, Current, Code)
REDUCE_IN_GGGA(.(Current, Others), Count, Current, Code) → U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_in_g(Current))
U4_GGGA(Current, Others, Count, Code, vowel_h_w_y_out_g(Current)) → REDUCE_IN_GGGA(Others, Count, Current, Code)
REDUCE_IN_GGGA(.(Letter, Others), Count, Letter, Code) → REDUCE_IN_GGGA(Others, Count, Letter, Code)
REDUCE_IN_GGGA(.(Current, Others), Count, X5, .(Current, Code)) → REDUCE_IN_GGAA(Others, s(Count), Current, Code)
REDUCE_IN_GGAA(.(Current, Others), Count, Current, Code) → U4_GGAA(Current, Others, Count, Code, vowel_h_w_y_in_a(Current))
REDUCE_IN_GGAA(.(Letter, Others), Count, Letter, Code) → REDUCE_IN_GGAA(Others, Count, Letter, Code)
REDUCE_IN_GGAA(.(Current, Others), Count, X5, .(Current, Code)) → REDUCE_IN_GGAA(Others, s(Count), Current, Code)
vowel_h_w_y_in_g(97) → vowel_h_w_y_out_g(97)
vowel_h_w_y_in_g(101) → vowel_h_w_y_out_g(101)
vowel_h_w_y_in_g(105) → vowel_h_w_y_out_g(105)
vowel_h_w_y_in_g(111) → vowel_h_w_y_out_g(111)
vowel_h_w_y_in_g(117) → vowel_h_w_y_out_g(117)
vowel_h_w_y_in_g(104) → vowel_h_w_y_out_g(104)
vowel_h_w_y_in_g(119) → vowel_h_w_y_out_g(119)
vowel_h_w_y_in_g(121) → vowel_h_w_y_out_g(121)
vowel_h_w_y_in_a(97) → vowel_h_w_y_out_a(97)
vowel_h_w_y_in_a(101) → vowel_h_w_y_out_a(101)
vowel_h_w_y_in_a(105) → vowel_h_w_y_out_a(105)
vowel_h_w_y_in_a(111) → vowel_h_w_y_out_a(111)
vowel_h_w_y_in_a(117) → vowel_h_w_y_out_a(117)
vowel_h_w_y_in_a(104) → vowel_h_w_y_out_a(104)
vowel_h_w_y_in_a(119) → vowel_h_w_y_out_a(119)
vowel_h_w_y_in_a(121) → vowel_h_w_y_out_a(121)
U4_GGAA(Others, Count, vowel_h_w_y_out_a(Current)) → REDUCE_IN_GGGA(Others, Count, Current)
REDUCE_IN_GGGA(.(Others), Count, Current) → U4_GGGA(Current, Others, Count, vowel_h_w_y_in_g(Current))
U4_GGGA(Current, Others, Count, vowel_h_w_y_out_g(Current)) → REDUCE_IN_GGGA(Others, Count, Current)
REDUCE_IN_GGGA(.(Others), Count, Letter) → REDUCE_IN_GGGA(Others, Count, Letter)
REDUCE_IN_GGGA(.(Others), Count, X5) → REDUCE_IN_GGAA(Others, s(Count))
REDUCE_IN_GGAA(.(Others), Count) → U4_GGAA(Others, Count, vowel_h_w_y_in_a)
REDUCE_IN_GGAA(.(Others), Count) → REDUCE_IN_GGAA(Others, Count)
REDUCE_IN_GGAA(.(Others), Count) → REDUCE_IN_GGAA(Others, s(Count))
vowel_h_w_y_in_g(97) → vowel_h_w_y_out_g(97)
vowel_h_w_y_in_g(101) → vowel_h_w_y_out_g(101)
vowel_h_w_y_in_g(105) → vowel_h_w_y_out_g(105)
vowel_h_w_y_in_g(111) → vowel_h_w_y_out_g(111)
vowel_h_w_y_in_g(117) → vowel_h_w_y_out_g(117)
vowel_h_w_y_in_g(104) → vowel_h_w_y_out_g(104)
vowel_h_w_y_in_g(119) → vowel_h_w_y_out_g(119)
vowel_h_w_y_in_g(121) → vowel_h_w_y_out_g(121)
vowel_h_w_y_in_a → vowel_h_w_y_out_a(97)
vowel_h_w_y_in_a → vowel_h_w_y_out_a(101)
vowel_h_w_y_in_a → vowel_h_w_y_out_a(105)
vowel_h_w_y_in_a → vowel_h_w_y_out_a(111)
vowel_h_w_y_in_a → vowel_h_w_y_out_a(117)
vowel_h_w_y_in_a → vowel_h_w_y_out_a(104)
vowel_h_w_y_in_a → vowel_h_w_y_out_a(119)
vowel_h_w_y_in_a → vowel_h_w_y_out_a(121)
vowel_h_w_y_in_g(x0)
vowel_h_w_y_in_a
From the DPs we obtained the following set of size-change graphs: