q := Quiver(["1","2","3","4"], [["1","1","a0"],["1","2","a1"],["2","3","a2"],["3","1","a3"],["2","4","b1"],["4","3","b2"],["3","2","b3"]]);

kq := PathAlgebra(Rationals, q);

a0:=kq.("a0");
a1:=kq.("a1");
a2:=kq.("a2");
a3:=kq.("a3");
b1:=kq.("b1");
b2:=kq.("b2");
b3:=kq.("b3");

r1 := [a0*a1*a2*a3-a1*a2*a3*a0, a2*a3*a0*a1-b1*b2*b3, a3*a0*a1*a2-b3*b1*b2];
r2 := [a0*a1*a2*a3*a0, a1*a2*a3*a0*a1, a2*a3*a0*a1*a2, a3*a0*a1*a2*a3, b1*b2*b3*b1, b2*b3*b1*b2, b3*b1*b2*b3];
r3 := [a1*b1, a2*b3, a3*a1, b2*a3, b3*a2, a0*a0];

al := kq/Concatenation(r1,r2,r3);

test := function(algebra)
	Display(algebra);
	Print("\n\nDimension: ");
	Print(Dimension(algebra));
	Print("\n");
	Print("Cartan Matrix:\n");
	Display(CartanMatrix(algebra));
	Print("\nSimple Modules: \n");
	if (Dimension(algebra)=infinity)=false then
		Print(SimpleModules(algebra));
	else
		Print("Infinite Dimensional Algebra");
	fi;
	Print("\n\n");
end;

test(al);