Hi, I am currently creating a procedure so that i can input two matrices and a vector and multiply them together in different patterns, I want the result to be either one of the vectors {4,0,0,0} or {0,4,0,0} or {0,0,4,0} or {0,0,0,4}, I am trying to create an if loop that says is one of the S's is equal to one of these print ("Synchronising"), I have decalred these vectors inside the procedure and all the S's but my if statement is still not working. I think S needs to be decalred more clearly inside but i'm unsure what to do, any help would be much appreciaited! Here is my procedure:

proc_cerny1:=proc(A::Matrix,B::Matrix,C::Vector)

local s, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, e, f, g, h;

s:=C.A;

s1:=C.B;

s2:=C.A.B;

s3:=C.B.A;

s4:=C.A.A;

s5:=C.B.B;

s6:=C.A.A.A;

s7:=C.B.B.B;

s8:=C.A.B.B;

s9:=C.A.B.A;

s10:=C.B.B.A;

s11:=C.B.A.A;

s12:=C.A.A.B;

s12:=C.B.A.B;

s13:=C.B.A.A;

s14:=C.B.A.A.A;

e:=Vector([4,0,0,0],orientation=row);

f:=Vector([0,4,0,0],orientation=row);

g:=Vector([0,0,4,0],orientation=row);

h:=Vector([0,0,0,4],orientation=row);

g:=Vector([0,0,4,0],orientation=row);

if (s7 = e)then

print("Synchronising")

elif (s7 = g) then

print ("Synchronising")

elif (s7 = h) then

print ("Synchronising")

elif (s7 = g) then

print("Synchronising")

else

print("Not Synchronising");

end if;

return s, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14;

end proc:

Thanks