Theresa May should listen to the people of her country. They don't want Trump in their country. People all over the world see Trump for the horrible person he is, and even people in other countries are smart enough to realize that they don't want to be seen in his company. May's constituents have a voice and she needs to listen.
As long as the wheels of business need turned, there is no way any government would ever do the morally right thing, especially when the morally wrong thing ensures its economic survival. That goes for periods with stupid presidents, deceiving presidents and you guessed it, mad presidents too. A state visit from the current president of the United States could not possibly occur in the best traditions of the enterprise while a cruel and divisive policy which discriminates against citizens of the host nation is in place.
It's anybody;'s guess as to what the proper way to deal with president Donald Trump is, but I think it's safe to say that ignoring him is not the answer. Engagement is always a good thing, and besides--this is the Prime Minister of Britain and the President of the United States we're talking about here.
British Prime Minister Theresa May should not cancel President Trump's visit just because of public pressure. The United States and Great Britain have long held a special relationship. This relationship should not be broken just because of some political pressure against Trump. May should not back down from her meeting.