constraint generation for assignment operator and todo for names