I believe that can be solved by just asking Guard = Door 1 and the Vendor is irrelevant. That statement confirms the truth behind the door. True means Door 1 and False means Door 2.
1.) Guard 1 = True; Door = True: Response = True
2.) Guard 1 = False; Door = True: Response = True (because Guard lies about them being equal)
3.) Guard 1 = True; Door = False: Response = False
4.) Guard 1 = False; Door = False: Response = False (because guard lies about them being unequal)
This is similar to Level 10 "Tongues" except that has another check using a symbol to abstract the shape meaning after the above check.