If you write
solve([eq1,eq2,eq3,eq4,x1==x2,y1==y2],t)
Then t
is the variable you are solving for and x1, x2, y1, y2
are free parameters. There is obviously no solution which is valid for any value of those parameter. However, if you ask:
solve([eq1,eq2,eq3,eq4,x1==x2,y1==y2],t,x1,x2,y1,y2)
Then you get what you expect:
[[t == (1/2), x1 == (1/2), x2 == (1/2), y1 == (1/2), y2 == (1/2)]]