bot писал(а):
Чтобы получить 1 чисто логически надо просто добавить ложные высказывания типа
Непонятно. Как можно, добавляя к сумме нули, добиться получения 1?
Добавлено спустя 2 минуты 49 секунд:PAV писал(а):
Если я правильно понял проблему, то я бы решал так. У нас есть множество объектов, некоторые из которых могут быть "равными".
Не совсем. Такая информация находится лишь в одной конъюнкции, то есть, в одном разбиении на классы эквивалентности. А вот их сумма уже не сводится к возможности быть только равными или не равными. Объекты могут быть "полуравными", могут коррелировать с равенством или неравенством других объектов и так далее.
Добавлено спустя 6 минут 8 секунд:maxal писал(а):
Если речь идет таки о программировании, то у меня есть готовая реализация классов эквивалентности (примерно такая как описал PAV) на C++.
У меня уже голова от этого пухнет. Я написал уже и реализацию через логические выражения (на Джаве). Очень удобно получилось: можно формировать логические выражения, преобразовывать их и так далее. Но как гарантированно упростить не понимаю. Я перетряхиваю всё выражение через дистрибутывные законы, применяю закон де Моргана, чтобы отрицания спустились до самых нижних членов, выполняю аксиомы... И всё равно остаётся ощущение, что я учитываю не все возможности и как то это некрасиво. Потом я написал пакет с разбиениями на классы эквивалентности. Тут совсем непонятно, как упрощать... Сейчас решил тупо хранить всю совокупность. Может быть хоть в простых случаях хватит мощности?