Есть ли в сплаве операция xor, если нет, то как ее определить:
Я хотел бы иметь предикат с именем xor, который получает два предиката в качестве аргумента и остается истинным, когда их xor остается истинным.
более подробно, если у меня есть P1 и P2, я знаю, что я могу определить P3 следующим образом:
pred P3(){
(P1 and (not P2)) or ((not P1) and P2)
}
быть xor P1 и P2, но я хочу определить xor (или любые другие связки формул), поместить его в библиотеку и использовать их позже. поэтому я хотел бы, чтобы мой P3 получил предикаты в качестве аргумента. Это возможно?
Спасибо