Предикат равенства. Продолжение

Аватар пользователя bulygin69
Систематизация и связи
Логика

Закон тождества, как и любой закон логики, тавтологичен: X=X  (что верно при каждом значении Х)
Отрицание тавтологии - противоречие: not X=X (что ложно при каждом значении Х)

Когда в формальной логике пишут (для значений True, False переменной X): X and not X = False
то это ничто иное, как: False and not False = False

Последняя запись может быть выражена иначе: not (False=False) and (False=False) = False
Или, еще короче, как: not (False=False)=False  т.е. (False≠False)=False

Другими словами, False как равно себе, так и не равно.

Причем, возвращаясь к всегда ложной формуле (not X=X), она является необходимой, если требуется выразить "то, чего нет".
Примеры можно найти повсюду. В доказательствах от противного. Или задачах с параметром, например.

Так, (a-2)(a-3)x = a(a-2) 
при а=2 решением будет любое действительное число
при а=3 решения нет
при a≠2 и a≠3 решением будет а/(а-3)

Что значит решения нет при а=3? То, что 0*х=3
Чем такая "всегда ложная формула" отличается от формы записи противоречия? Ничем.

Еще раз. Если требуется выразить "то, чего нет", иного способа просто нет. 
Выразить ВСЁ только истинно не получится (ох, уж этот Гедель). Нужна еще и ложь!

P.S. О возможности выразить натуральный ряд чисел через только понятия "равно, не" уже писал ранее.
Главное, что эта логика работает в программах 
(несмотря на возражение математики, что такого быть не может по ее законам)

Комментарии

Аватар пользователя Vadim Sakovich

У вас символ "=" используется в данной теме 16 раз. И ещё 3 раза - слово "равно". Надо как-то определиться в том, что означает "=" в каждом из контекстов этой темы. Тем более, что она начинается со слов "закон тождества...". Призываю вас не нарушать провозглашаемый вами же "во первых строках вашего письма" этот закон. Знак "=" должен означать одно и то же, или надо делать оговорку, если это не так.

Аватар пользователя bulygin69

На сайте Полякова есть скрипт для решения систем логических уравнений
https://www.kpolyakov.spb.ru/school/ege/solver23.htm

Так, уравнение x1=x1 (эквиваленция - закон тождества для логических переменных True,False)
дает 2 решения: x1=0, x1=1 

Уравнение !(x1=x1) решений не имеет: эта формула всегда ложна (т.е. имеем противоречие)

Уравнение же x1=!(x1=x1) имеет одно решение: False.
Поскольку уравнение x1=!(x1=x1) состоит из уравнения !(x1=x1), то
получается, что уравнение x1=!(x1=x1) имеет решение, 
когда одно из его составляющих уравнений решений не имеет!

Аналогичная картина наблюдается и с алгебраическими уравнениями.
Для уравнения (a-2)(a-3)x = a(a-2) при а=3 оно не имеет решения.
Но это также означает, что оно имеет при а=3 ноль решений! 

P.S. P.S. Этот же смысл мы видим, когда решаем простые задачки арифметики.
Была птичка, затем улетела. Сколько осталось птичек? Птичек нет, т.е птичек ноль.
птичка-птичка = !(птичка=птичка) = нет птички = птички ноль

Аватар пользователя Vadim Sakovich

Уравнение !(x1=x1) решений не имеет: эта формула всегда ложна

А что тут делает восклицательный знак? Ещё интереснее - скобки: одна в левой части уравнения, а другая - в правой. Или у вас знак "=" не связан с понятием уравнение? Если нет, то почему вы называете это уравнением? А если да, то получается, что левая часть уравнения - это !(x1 , а правая часть - это x1).

 

Аватар пользователя bulygin69

А что тут ...

Операция отрицания  (так на сайте)

Уравнение х=х ничем не отличается от (х=х). Если не верите, подставьте и проверьте.

Скрипт на сайте Полякова - решение логических уравнений

Аватар пользователя Vadim Sakovich

Если пойти по указанной вами ссылке, то получаешь предупреждение:

Аватар пользователя bulygin69

Если пойти по указанной вами ссылке, то получаешь предупреждение:

Ну, у вас там за кордоном не все как у людей :)

Вообще, это сайт ПОЛЯКОВА Константина Юрьевича - доктора технических наук, учителя высшей категории (автора, пожалуй, лучшего учебника по профильной информатике)

Так https://www.kpolyakov.spb.ru тоже не открывается?

Здесь ссылка на скрипт https://www.kpolyakov.spb.ru/school/ege.htm

Аватар пользователя Vadim Sakovich

Эти две ссылки открываются нормально.

Однако запись не (X1 = X1) я никак не могу прочесть как уравнение. Могу интерпретировать это как логическое выражение, результат которого False при любых X1. То есть, и при X1=False, и при X1=True.

Заметьте, знак "=" имеет совершенно разный смысл в ЯКОБЫ уравнении, и в последних двух случаях, когда указаны возможные значения X1. В якобы уравнении знак "=" очевидно следует интерпретировать как знак логической операции "эквиваленция"
 

Аватар пользователя bulygin69

Однако запись не (X1 = X1) я никак не могу прочесть как уравнение

 Это тоже, что X1 ≠ X1   Или тоже, что X1 = (not X1)

В якобы уравнении знак "=" очевидно следует интерпретировать как знак логической операции "эквиваленция"

Эквиваленция - частный случай равенства (когда операнды - логические значения) 

False эквивалентно False, False равно False. True эквивалентно True, True равно True. 

Так, 5=5 эквивалентно 3=3. Но нельзя сказать, что 5 равно 3. Другими словами, сказать то можно, но тогда это False 

 

Аватар пользователя Vadim Sakovich

Эквиваленция - это логическая операция. В арифметике есть, например, операция сложение (знак "+"). Но знак "=" в арфметике не является арифметической операцией.

Знак "=" иногда используют в логических выражениях как знак операции эквиваленция, но тогда надо оговаривать, если этот же знак используется в других целях.

Эквиваленция - частный случай равенства (когда операнды - логические значения). False эквивалентно False, False равно False. True эквивалентно True, True равно True. 

 Логическое выражение А=В попробуйте интерпретировать как частный случай уравнения (равенства).

Кстати, интересно - другие логические операции не являются ли частными случаями уравнений? :)

Аватар пользователя bulygin69

попробуйте интерпретировать как частный случай уравнения (равенства).

Кажется, в классе 6-7 в школе изучают квадратные уравнения.

Например, x*x -1 = 0. Что значит найти решение? Это значит найти такие х, что пересечение графика (множества значений переменной х) будет равным с осью абсцисс.

Для данного уравнения решением будет -1, +1. Опять таки это означает, что только при этих значения х формула истинна. При других она ложна. 

Для x*x +1 = 0 решений вообще нет. Формула всегда ложна.

 

Аватар пользователя Vadim Sakovich

Повторяю задачу:

Есть логическое выражение А=В. Это когда А и В - логические (булевы) переменные, которые могут принимать значения Ложь или Истина. Знак "=" по договоренности - знак операции эквиваленция.

Теперь интерпретируйте это А=В как частный случай уравнения (равенства).

Аватар пользователя bulygin69

Теперь интерпретируйте

Уже говорил. 

Но можно и так: https://rextester.com/l/cpp_online_compiler_gcc

//g++  5.4.0

#include <iostream>

int main()
{
    std::cout << (true == false); //0
    std::cout << (false == false); //1
    
    std::cout << (5 == 5); //1
    std::cout << (3 == 5); //0
}

 

Аватар пользователя Vadim Sakovich

В вашем примере заданы константы true, false 5 и 3.

А в примере логического выражения, кторый вы намеривались интерпретировать как уравнение, были А и В - логические переменные.

Кроме того, каким образом фрагмент программы показывает, что где-то есть уравнение?

Аватар пользователя bulygin69

В вашем примере заданы константы true, false 5 и 3.

А в примере логического выражения, кторый вы намеривались интерпретировать как уравнение, были А и В - логические переменные.

Кроме того, каким образом фрагмент программы показывает, что где-то есть уравнение?

Хотя бы так. Задайте формулу с переменной, значением которой будет элемент из множества с одним элементом.

P.S. 5+3 - это выражение.

5+3=х это формула. Но также формулой являются 5+3=8 и 5+3=7. Только первая из этих двух истинная, а вторая ложная

http://philosophystorm.ru/uspenskii-formula-istina-i-lozh

Аватар пользователя bulygin69

Такие люди как Буль и Морган - великие логики. Аристотель - тоже. А Гегель? Мое мнение - и он в их ряду.

Допустим, есть Х. Потом это Х преобразовалось в Y (стало не иксом). Как такое преобразование выразить? Так:

1 было) X=X

2 стало) Y=Y)

3 преобразование) X=Y

Это X=Y имеет форму противоречия (т.е. всегда ложной формулы).

Аватар пользователя Vadim Sakovich

Допустим, есть Х. Потом это Х преобразовалось в Y (стало не иксом).

Вы имеете в виду, что у X два нижних "хвостика" срослись воедино, то есть X преобразовалось таким образом в Y ?

Мне кажется, что лучше начать преобразовывать sin в cos. Легко начать, так как у них общая буква s. Потом отщепнуть немного от n в синусе... а дальше пойдёт по накатанной дороге математических преобразований.

Аватар пользователя bulygin69

Вы имеете в виду

Я имею ввиду предикат равенства Х=Y. Если операнды разные, то он возвращает всегда ложь. В противном случае он возвращает истину.

 

Аватар пользователя Vadim Sakovich

А "предикат равенства" - это что за зверЪ? То есть знак "=" в течении недолгого времени получил третье объяснение! Это оказывается предикат равенства... который работает с операндами. Так кто преобразовывается??? X в Y ??? Или всё же значение операнда X получает значение операнда Y. Если так, то знак "=" имеет тот же смысл, что и присваивание переменной X значения, допустим, False.

Аватар пользователя bulygin69

А "предикат равенства" - это что за зверЪ?

http://philosophystorm.ru/predikat-ravenstva-khy

Аватар пользователя Victor

Передумал...