Код:
if (y(x0))*(y(x))>0 then (x1=x) and (y(x1)=y(x)) else
(x0=x) and (y(x0)=y(x)) ;
Вот этого чтоли?
Ну так конечно. And - логическа операция, а не объединение действий.

Вообще смысл не очень понял. Перевожу написанное на русский язык:
"Если y(x0)*y(x) больше 0 то (x1 равно x) ^ (y(x1) равно y(x)) иначе ..."
Ну равно x и y(x1), компьютеру-то что делать?
