pattern nverG (nb_in, nb_out, nb_comp, nb_vin) { component top (in i[nb_in], out o[nb_out]) { component split[nb_in](in i[1], out o[nb_comp]) component comp[nb_comp](in i[nb_in], out o[nb_out]) component vote[1](in i[nb_vin], out o[nb_out]) i -{Transpose}-> split.i split.o -{Transpose}-> comp.i comp.o -{FlattenC}-> vote.i vote.o -{Identity}-> o } }