read milim:

ez:=proc(): print(`Gr(n,K), Gr(3,{[1,a],[2,a]}); `): end:

Gr:=proc(n,L) local gu,mu,i,j:
gu:=Anglit:
mu:={}:

for i from 1 to nops(gu) do
 if nops(gu[i])=n and {seq(evalb(gu[i][L[j][1]]=L[j][2]),j=1..nops(L))}={true} then
  mu:=mu union {gu[i]}:
 fi:

od:

mu:

end:

