generators.tdTransducer("ET0L simulation"):
(
  { tab1:1, tab2:1, tab3:1, tab4:1, e:0 },
  { h:2, v:2, c:1, a:0, b:0 },
  { S, L, R, U, "L'", "R'", "U'" },
  {
    S[tab1[x1]] -> c[h[L[x1],h[v[a,U[x1]],R[x1]]]],
    L[tab1[x1]] -> h[L[x1],v[a,U[x1]]],
    R[tab1[x1]] -> h[v[a,U[x1]],R[x1]],
    U[tab1[x1]] -> v[a,U[x1]],

    S[tab2[x1]] -> c[h[L[x1],h[v[a,U[x1]],R[x1]]]],
    L[tab2[x1]] -> h["L'"[x1],v[b,"U'"[x1]]],
    R[tab2[x1]] -> h[v[b,"U'"[x1]],"R'"[x1]],
    U[tab2[x1]] -> v[b,"U'"[x1]],

    S[tab3[x1]]    -> c[h[L[x1],h[v[a,U[x1]],R[x1]]]],
    "L'"[tab3[x1]] -> h["L'"[x1],v[a,"U'"[x1]]],
    "R'"[tab3[x1]] -> h[v[a,"U'"[x1]],"R'"[x1]],
    "U'"[tab3[x1]] -> v[a,"U'"[x1]],

    S[tab4[x1]]    -> c[h[L[x1],h[v[a,U[x1]],R[x1]]]],
    "L'"[tab4[x1]] -> a,
    "R'"[tab4[x1]] -> a,
    "U'"[tab4[x1]] -> a
  },
  S
)