Рассмотрим следующие последовательности инструкций максимумов:
(in1) x=0;
(out) x=0
(in2) y>0;
(out) y>0
(in3) x>0 and y>0;
(out) x>0 and y>0
(in4) x=0 or y>0;
(out) y>0
(in5) x=0 and y>0;
(out) false
Первые три инструкции дают ожидаемые результаты.однако, почему логическое утверждение «x = 0» во входах (in4) и (in5) считается равным false?
Мы можем видеть, что когда выражение «x = 0» является изолированным, он не дает ему конкретного значения (здесь ложного), я не понимаю эти выводы концептуально и математически, это не математическое поведение, ожидаемое ..
Вот некоторые странные поведения, когда я пытаюсьдля отладки.
(in1) prederror:true$
(in2) debugmode(true)$
(in3) x=0;
(out) x=0
(in4) y>0;
(out) y>0
(in5) x=0 or y>0;
(out) Unable to evaluate predicate y > 0
Что это значит?