0 Prolog
↳1 PrologToPiTRSProof (⇐)
↳2 PiTRS
↳3 DependencyPairsProof (⇔)
↳4 PiDP
↳5 DependencyGraphProof (⇔)
↳6 PiDP
↳7 PiDPToQDPProof (⇐)
↳8 QDP
↳9 UsableRulesReductionPairsProof (⇔)
↳10 QDP
↳11 DependencyGraphProof (⇔)
↳12 TRUE
↳13 PrologToPiTRSProof (⇐)
↳14 PiTRS
↳15 DependencyPairsProof (⇔)
↳16 PiDP
↳17 DependencyGraphProof (⇔)
↳18 PiDP
↳19 PiDPToQDPProof (⇐)
↳20 QDP
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
E_IN_GA(L, T) → U1_GA(L, T, t_in_ga(L, T))
E_IN_GA(L, T) → T_IN_GA(L, T)
T_IN_GA(L, T) → U4_GA(L, T, n_in_ga(L, T))
T_IN_GA(L, T) → N_IN_GA(L, T)
N_IN_GA(.(L, T), T) → U7_GA(L, T, z_in_g(L))
N_IN_GA(.(L, T), T) → Z_IN_G(L)
N_IN_GA(.(lbrace, A), B) → U8_GA(A, B, e_in_ga(A, .(rbrace, B)))
N_IN_GA(.(lbrace, A), B) → E_IN_GA(A, .(rbrace, B))
E_IN_GA(L, T) → U2_GA(L, T, t_in_ga(L, .(plus, C)))
E_IN_GA(L, T) → T_IN_GA(L, .(plus, C))
T_IN_GA(L, T) → U5_GA(L, T, n_in_ga(L, .(star, C)))
T_IN_GA(L, T) → N_IN_GA(L, .(star, C))
U5_GA(L, T, n_out_ga(L, .(star, C))) → U6_GA(L, T, t_in_ga(C, T))
U5_GA(L, T, n_out_ga(L, .(star, C))) → T_IN_GA(C, T)
U2_GA(L, T, t_out_ga(L, .(plus, C))) → U3_GA(L, T, e_in_ga(C, T))
U2_GA(L, T, t_out_ga(L, .(plus, C))) → E_IN_GA(C, T)
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
E_IN_GA(L, T) → U1_GA(L, T, t_in_ga(L, T))
E_IN_GA(L, T) → T_IN_GA(L, T)
T_IN_GA(L, T) → U4_GA(L, T, n_in_ga(L, T))
T_IN_GA(L, T) → N_IN_GA(L, T)
N_IN_GA(.(L, T), T) → U7_GA(L, T, z_in_g(L))
N_IN_GA(.(L, T), T) → Z_IN_G(L)
N_IN_GA(.(lbrace, A), B) → U8_GA(A, B, e_in_ga(A, .(rbrace, B)))
N_IN_GA(.(lbrace, A), B) → E_IN_GA(A, .(rbrace, B))
E_IN_GA(L, T) → U2_GA(L, T, t_in_ga(L, .(plus, C)))
E_IN_GA(L, T) → T_IN_GA(L, .(plus, C))
T_IN_GA(L, T) → U5_GA(L, T, n_in_ga(L, .(star, C)))
T_IN_GA(L, T) → N_IN_GA(L, .(star, C))
U5_GA(L, T, n_out_ga(L, .(star, C))) → U6_GA(L, T, t_in_ga(C, T))
U5_GA(L, T, n_out_ga(L, .(star, C))) → T_IN_GA(C, T)
U2_GA(L, T, t_out_ga(L, .(plus, C))) → U3_GA(L, T, e_in_ga(C, T))
U2_GA(L, T, t_out_ga(L, .(plus, C))) → E_IN_GA(C, T)
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
E_IN_GA(L, T) → T_IN_GA(L, T)
T_IN_GA(L, T) → N_IN_GA(L, T)
N_IN_GA(.(lbrace, A), B) → E_IN_GA(A, .(rbrace, B))
E_IN_GA(L, T) → U2_GA(L, T, t_in_ga(L, .(plus, C)))
U2_GA(L, T, t_out_ga(L, .(plus, C))) → E_IN_GA(C, T)
E_IN_GA(L, T) → T_IN_GA(L, .(plus, C))
T_IN_GA(L, T) → U5_GA(L, T, n_in_ga(L, .(star, C)))
U5_GA(L, T, n_out_ga(L, .(star, C))) → T_IN_GA(C, T)
T_IN_GA(L, T) → N_IN_GA(L, .(star, C))
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
E_IN_GA(L) → T_IN_GA(L)
T_IN_GA(L) → N_IN_GA(L)
N_IN_GA(.(lbrace, A)) → E_IN_GA(A)
E_IN_GA(L) → U2_GA(t_in_ga(L))
U2_GA(t_out_ga(.(plus, C))) → E_IN_GA(C)
T_IN_GA(L) → U5_GA(n_in_ga(L))
U5_GA(n_out_ga(.(star, C))) → T_IN_GA(C)
e_in_ga(L) → U1_ga(t_in_ga(L))
t_in_ga(L) → U4_ga(n_in_ga(L))
n_in_ga(.(L, T)) → U7_ga(T, z_in_g(L))
z_in_g(a) → z_out_g
z_in_g(b) → z_out_g
z_in_g(c) → z_out_g
U7_ga(T, z_out_g) → n_out_ga(T)
n_in_ga(.(lbrace, A)) → U8_ga(e_in_ga(A))
e_in_ga(L) → U2_ga(t_in_ga(L))
t_in_ga(L) → U5_ga(n_in_ga(L))
U5_ga(n_out_ga(.(star, C))) → U6_ga(t_in_ga(C))
U6_ga(t_out_ga(T)) → t_out_ga(T)
U2_ga(t_out_ga(.(plus, C))) → U3_ga(e_in_ga(C))
U3_ga(e_out_ga(T)) → e_out_ga(T)
U8_ga(e_out_ga(.(rbrace, B))) → n_out_ga(B)
U4_ga(n_out_ga(T)) → t_out_ga(T)
U1_ga(t_out_ga(T)) → e_out_ga(T)
e_in_ga(x0)
t_in_ga(x0)
n_in_ga(x0)
z_in_g(x0)
U7_ga(x0, x1)
U5_ga(x0)
U6_ga(x0)
U2_ga(x0)
U3_ga(x0)
U8_ga(x0)
U4_ga(x0)
U1_ga(x0)
The following rules are removed from R:
N_IN_GA(.(lbrace, A)) → E_IN_GA(A)
U2_GA(t_out_ga(.(plus, C))) → E_IN_GA(C)
U5_GA(n_out_ga(.(star, C))) → T_IN_GA(C)
Used ordering: POLO with Polynomial interpretation [POLO]:
n_in_ga(.(L, T)) → U7_ga(T, z_in_g(L))
n_in_ga(.(lbrace, A)) → U8_ga(e_in_ga(A))
U8_ga(e_out_ga(.(rbrace, B))) → n_out_ga(B)
U2_ga(t_out_ga(.(plus, C))) → U3_ga(e_in_ga(C))
U5_ga(n_out_ga(.(star, C))) → U6_ga(t_in_ga(C))
U6_ga(t_out_ga(T)) → t_out_ga(T)
U4_ga(n_out_ga(T)) → t_out_ga(T)
z_in_g(a) → z_out_g
z_in_g(b) → z_out_g
z_in_g(c) → z_out_g
U7_ga(T, z_out_g) → n_out_ga(T)
POL(.(x1, x2)) = x1 + 2·x2
POL(E_IN_GA(x1)) = 2·x1
POL(N_IN_GA(x1)) = x1
POL(T_IN_GA(x1)) = x1
POL(U1_ga(x1)) = x1
POL(U2_GA(x1)) = 2·x1
POL(U2_ga(x1)) = x1
POL(U3_ga(x1)) = x1
POL(U4_ga(x1)) = x1
POL(U5_GA(x1)) = x1
POL(U5_ga(x1)) = x1
POL(U6_ga(x1)) = 1 + 2·x1
POL(U7_ga(x1, x2)) = 2·x1 + x2
POL(U8_ga(x1)) = 1 + 2·x1
POL(a) = 2
POL(b) = 2
POL(c) = 2
POL(e_in_ga(x1)) = x1
POL(e_out_ga(x1)) = x1
POL(lbrace) = 1
POL(n_in_ga(x1)) = x1
POL(n_out_ga(x1)) = 1 + x1
POL(plus) = 0
POL(rbrace) = 1
POL(star) = 1
POL(t_in_ga(x1)) = x1
POL(t_out_ga(x1)) = x1
POL(z_in_g(x1)) = x1
POL(z_out_g) = 2
E_IN_GA(L) → T_IN_GA(L)
T_IN_GA(L) → N_IN_GA(L)
E_IN_GA(L) → U2_GA(t_in_ga(L))
T_IN_GA(L) → U5_GA(n_in_ga(L))
e_in_ga(L) → U1_ga(t_in_ga(L))
e_in_ga(L) → U2_ga(t_in_ga(L))
t_in_ga(L) → U4_ga(n_in_ga(L))
t_in_ga(L) → U5_ga(n_in_ga(L))
U3_ga(e_out_ga(T)) → e_out_ga(T)
U1_ga(t_out_ga(T)) → e_out_ga(T)
e_in_ga(x0)
t_in_ga(x0)
n_in_ga(x0)
z_in_g(x0)
U7_ga(x0, x1)
U5_ga(x0)
U6_ga(x0)
U2_ga(x0)
U3_ga(x0)
U8_ga(x0)
U4_ga(x0)
U1_ga(x0)
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
E_IN_GA(L, T) → U1_GA(L, T, t_in_ga(L, T))
E_IN_GA(L, T) → T_IN_GA(L, T)
T_IN_GA(L, T) → U4_GA(L, T, n_in_ga(L, T))
T_IN_GA(L, T) → N_IN_GA(L, T)
N_IN_GA(.(L, T), T) → U7_GA(L, T, z_in_g(L))
N_IN_GA(.(L, T), T) → Z_IN_G(L)
N_IN_GA(.(lbrace, A), B) → U8_GA(A, B, e_in_ga(A, .(rbrace, B)))
N_IN_GA(.(lbrace, A), B) → E_IN_GA(A, .(rbrace, B))
E_IN_GA(L, T) → U2_GA(L, T, t_in_ga(L, .(plus, C)))
E_IN_GA(L, T) → T_IN_GA(L, .(plus, C))
T_IN_GA(L, T) → U5_GA(L, T, n_in_ga(L, .(star, C)))
T_IN_GA(L, T) → N_IN_GA(L, .(star, C))
U5_GA(L, T, n_out_ga(L, .(star, C))) → U6_GA(L, T, t_in_ga(C, T))
U5_GA(L, T, n_out_ga(L, .(star, C))) → T_IN_GA(C, T)
U2_GA(L, T, t_out_ga(L, .(plus, C))) → U3_GA(L, T, e_in_ga(C, T))
U2_GA(L, T, t_out_ga(L, .(plus, C))) → E_IN_GA(C, T)
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
E_IN_GA(L, T) → U1_GA(L, T, t_in_ga(L, T))
E_IN_GA(L, T) → T_IN_GA(L, T)
T_IN_GA(L, T) → U4_GA(L, T, n_in_ga(L, T))
T_IN_GA(L, T) → N_IN_GA(L, T)
N_IN_GA(.(L, T), T) → U7_GA(L, T, z_in_g(L))
N_IN_GA(.(L, T), T) → Z_IN_G(L)
N_IN_GA(.(lbrace, A), B) → U8_GA(A, B, e_in_ga(A, .(rbrace, B)))
N_IN_GA(.(lbrace, A), B) → E_IN_GA(A, .(rbrace, B))
E_IN_GA(L, T) → U2_GA(L, T, t_in_ga(L, .(plus, C)))
E_IN_GA(L, T) → T_IN_GA(L, .(plus, C))
T_IN_GA(L, T) → U5_GA(L, T, n_in_ga(L, .(star, C)))
T_IN_GA(L, T) → N_IN_GA(L, .(star, C))
U5_GA(L, T, n_out_ga(L, .(star, C))) → U6_GA(L, T, t_in_ga(C, T))
U5_GA(L, T, n_out_ga(L, .(star, C))) → T_IN_GA(C, T)
U2_GA(L, T, t_out_ga(L, .(plus, C))) → U3_GA(L, T, e_in_ga(C, T))
U2_GA(L, T, t_out_ga(L, .(plus, C))) → E_IN_GA(C, T)
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
E_IN_GA(L, T) → T_IN_GA(L, T)
T_IN_GA(L, T) → N_IN_GA(L, T)
N_IN_GA(.(lbrace, A), B) → E_IN_GA(A, .(rbrace, B))
E_IN_GA(L, T) → U2_GA(L, T, t_in_ga(L, .(plus, C)))
U2_GA(L, T, t_out_ga(L, .(plus, C))) → E_IN_GA(C, T)
E_IN_GA(L, T) → T_IN_GA(L, .(plus, C))
T_IN_GA(L, T) → U5_GA(L, T, n_in_ga(L, .(star, C)))
U5_GA(L, T, n_out_ga(L, .(star, C))) → T_IN_GA(C, T)
T_IN_GA(L, T) → N_IN_GA(L, .(star, C))
e_in_ga(L, T) → U1_ga(L, T, t_in_ga(L, T))
t_in_ga(L, T) → U4_ga(L, T, n_in_ga(L, T))
n_in_ga(.(L, T), T) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A), B) → U8_ga(A, B, e_in_ga(A, .(rbrace, B)))
e_in_ga(L, T) → U2_ga(L, T, t_in_ga(L, .(plus, C)))
t_in_ga(L, T) → U5_ga(L, T, n_in_ga(L, .(star, C)))
U5_ga(L, T, n_out_ga(L, .(star, C))) → U6_ga(L, T, t_in_ga(C, T))
U6_ga(L, T, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, T, t_out_ga(L, .(plus, C))) → U3_ga(L, T, e_in_ga(C, T))
U3_ga(L, T, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, B, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, T, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, T, t_out_ga(L, T)) → e_out_ga(L, T)
E_IN_GA(L) → T_IN_GA(L)
T_IN_GA(L) → N_IN_GA(L)
N_IN_GA(.(lbrace, A)) → E_IN_GA(A)
E_IN_GA(L) → U2_GA(L, t_in_ga(L))
U2_GA(L, t_out_ga(L, .(plus, C))) → E_IN_GA(C)
T_IN_GA(L) → U5_GA(L, n_in_ga(L))
U5_GA(L, n_out_ga(L, .(star, C))) → T_IN_GA(C)
e_in_ga(L) → U1_ga(L, t_in_ga(L))
t_in_ga(L) → U4_ga(L, n_in_ga(L))
n_in_ga(.(L, T)) → U7_ga(L, T, z_in_g(L))
z_in_g(a) → z_out_g(a)
z_in_g(b) → z_out_g(b)
z_in_g(c) → z_out_g(c)
U7_ga(L, T, z_out_g(L)) → n_out_ga(.(L, T), T)
n_in_ga(.(lbrace, A)) → U8_ga(A, e_in_ga(A))
e_in_ga(L) → U2_ga(L, t_in_ga(L))
t_in_ga(L) → U5_ga(L, n_in_ga(L))
U5_ga(L, n_out_ga(L, .(star, C))) → U6_ga(L, t_in_ga(C))
U6_ga(L, t_out_ga(C, T)) → t_out_ga(L, T)
U2_ga(L, t_out_ga(L, .(plus, C))) → U3_ga(L, e_in_ga(C))
U3_ga(L, e_out_ga(C, T)) → e_out_ga(L, T)
U8_ga(A, e_out_ga(A, .(rbrace, B))) → n_out_ga(.(lbrace, A), B)
U4_ga(L, n_out_ga(L, T)) → t_out_ga(L, T)
U1_ga(L, t_out_ga(L, T)) → e_out_ga(L, T)
e_in_ga(x0)
t_in_ga(x0)
n_in_ga(x0)
z_in_g(x0)
U7_ga(x0, x1, x2)
U5_ga(x0, x1)
U6_ga(x0, x1)
U2_ga(x0, x1)
U3_ga(x0, x1)
U8_ga(x0, x1)
U4_ga(x0, x1)
U1_ga(x0, x1)