It is not necessary for all the arguments of ITE to be bool. If x,y and z are all arbitrary variables (but not numbers) this is what it gives.
>>> ITE(x,y,z)
Or(And(Not(x), z), And(x, y))
And you are getting this error because of the above logical statement (you can not add two logical statements but if by "+" you mean "Or" please use " | ") But if instead of that like, i said earlier, if "Cond" in your example is either True or False your statement will return ( x + y )
>>> ITE(True,x,y) + ITE(True,y,x)
x + y
And about x and y being a number, ITE does not support that . It takes them as being bool.
The reason the arbitary variables work but number don't is that ITE is a logical boolean function which converts number into bools whereas you can use variables because they can be specified to be bools like
>>>x = symbols(x,is_Boolean=True)
I am not sure if we want numbers to be included in ITE or they are just fine. it will be nice if other developers also comment.
Thanks