Thread[(a _ # & /@ Rg[12]) -> Gs ] // List // TF

a _ 1 -> 1 a _ 2 -> x a _ 3 -> y a _ 4 -> y x a _ 5 -> x y a _ 6 -> x^2 a _ 7 -> x y x a _ 8 -> y x y a _ 9 -> x^2 y a _ 10 -> y x^2 a _ 11 -> x^2 y x a _ 12 -> x y x^2

arl = Reverse @ Thread[Gs -> (a _ # & /@ Rg[12])]

set = {1, x y x^2, y x, x^2 y, y, x y, y x^2} ; Table[set [[ i ]] set [[ j ]], {i, Length[set]}, {j, Length[set]}] /. Reverse @ Thread[Gs -> (a _ # & /@ Rg[12])] // MF

( a     a     a     a     a     a     a   )    1     12    4     9     3     5     10    a     a     a     a     a     a     a    12    1     8     10    11    2     9    a     a     a     a     a     a     a    4     5     9     1     8     7     11    a     a     a     a     a     a     a    9     7     1     4     6     12    2    a     a     a     a     a     a     a    3     11    2     7     1     8     6    a     a     a     a     a     a     a    5     4     6     11    2     10    1    a     a     a     a     a     a     a    10    6     12    8     7     1     5


Converted by Mathematica  (October 16, 2002)