Задание БСТ
.docxФормальные языки и логика.
Вычислите количество n-местных булевых функций.
Функция
называется n-местной булевой функцией,
если каждая переменная принимает только
два значения 0 или 1 и функция принимает
значения в этом же множестве {0; 1}.
Следовательно, всего возможно
комбинаций для n переменных, а количество
зависящих от n функций равняется
.
Докажите полноту следующих систем связок: {
,
¬}, {¬, ⊃}, {∧, ⊕, T}.
Для того, чтобы система булевых функций была полна, необходимо и достаточно, чтобы она содержала функцию, не сохраняющую 0, не сохраняющую 1, не самодвойственную, немонотонную и нелинейную.
Таблица истинности { , ¬}
|
|
|
|
|
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
По теореме Поста система {f1, f2, f3} полна т. к. включает в себя функцию, не сохраняющую 0, не сохраняющую 1, не самодвойственную, немонотонную и нелинейную.
Таблица
истинности {¬,
}
|
|
|
|
|
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
Таблица истинности { , ⊕, T}
|
|
|
|
T |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
По теореме Поста эти две системы {f1, f2, f3} и {f1, f2, f3} полны т. к. включают в себя функцию, не сохраняющую 0, не сохраняющую 1, не самодвойственную, немонотонную и нелинейную.
Найдите полную систему, состоящую из единственной бинарной связки. Сколько всего таких систем существует?
Полная система связок состоит из минимального набора связок, которые достаточны для выражения всех возможных булевых функций. Для построения такой системы нужно выбрать одну бинарную связку, которая обеспечит достаточную выразительность.
Бинарные связки:
И: Она обеспечивает конъюнкцию и может выражать любую булеву функцию с помощью законов де Моргана и отрицания.
ИЛИ: Она также обеспечивает выразительность, поскольку можно использовать законы де Моргана и отрицания для выражения любой булевой функции.
Импликация: Эта связка также обеспечивает полную выразительность, так как можно выразить все остальные связки с ее помощью (например, x∧y можно выразить как x→y).
Исключающее ИЛИ: Эта связка также обеспечивает полноту, поскольку можно использовать ее вместе с отрицанием для выражения остальных операций.
Таким образом, у нас есть четыре варианта полной системы связок, состоящей из единственной бинарной связки: {И}, {ИЛИ}, {Импликация}, {Исключающее ИЛИ}.
Следовательно, всего существует четыре таких системы.
Докажите, что для любых пропозициональных формул A и B формулы
,
,
являются тавтологиями.
Формула является тавтологией, если она принимает значение 1 при любых значениях переменных. Для проверки пропозициональных формул составим таблицы истинности для каждой.
|
|
|
|
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Как видим, формулы являются тавтологиями.
Докажите, что следующие системы связок не являются полными:
,
,
.
Для того, чтобы система булевых функций была полна, необходимо и достаточно, чтобы она содержала функцию, не сохраняющую 0, не сохраняющую 1, не самодвойственную, немонотонную и нелинейную.
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
Функция сохраняет 0 и сохраняет 1, значит система не полная.
|
|
|
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Функция не сохраняет 0, но сохраняет 1, следовательно, система не полная.
|
|
|
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Функция не сохраняет 0, но сохраняет 1, следовательно, система не полная.
Логика высказываний.
Выведите в исчислении высказываний следующие формулы:
,
,
Примем за А высказывание «идет дождь», а за B примем «на улице сыро», тогда:
– это «Если на улице не сыро, когда не идет дождь, то из этого следует, что если на улице сыро, то идет дождь».
– это «Если идет дождь, то это означает, что нельзя сказать «дождь не идет».
– это тавтология «Если идет дождь, то это означает, что идет дождь».
Найдите такие пропозициональные формулы A, B, что из выводимости
следует выводимость
,
но при этом из A не выводится B.
Для того, чтобы найти такие пропозициональные формулы A и B, предположим, что у нас есть система аксиом Γ, которая включает в себя следующее высказывание: А и В.Теперь предположим, что мы можем вывести А из системы аксиом Г. Тогда мы можем утверждать, что из выводимости следует выводимость . Однако если мы рассмотрим только А, то не сможем утверждать, что можно вывести В.
Для примера примем за А высказывание «сегодня суббота», а за B примем «на улице сыро». Если сегодня понедельник то сегодня солнечно, но из того факта, что сегодня понедельник сделать вывод о том, что сегодня солнечно. Таким образом формулы: А=А*В и В=В удовлетворяют нашим условиям.
Московский логик спросил новосибирского: “Верно ли, что если вы любите огурцы, то также любите и помидоры?” На это новосибирский логик ответил: “Если это правда, то я люблю огурцы, и если я люблю огурцы, то это правда.” Любит ли новосибирский логик помидоры? (Запишите формулу, общезначимость которой нужно проверить для ответа на этот вопрос, и проверьте её.)
Для анализа ситуации введем следующие обозначения: A - это "новосибирский логик любит огурцы", B - "новосибирский логик любит помидоры".
Можем
составить формулу
Полученное утверждение говорит о том, что если новосибирский логик любит огурцы, то он также любит помидоры, и если он любит огурцы, то это также значит, что он любит помидоры.
Теперь давайте проверим общезначимость этой формулы, используя таблицу истинности:
|
|
|
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
Формула истинна только в том случае, когда новосибирский логик не любит огурцы (A = 0) и не любит помидоры (B = 0). Следовательно, новосибирский логик не любит помидоры.
На неком острове живут рыцари (всегда говорят правду) и лжецы (всегда говорят неправду).
(а) Путешественник встречает двух островитян и спрашивает каждого из них, является ли другой островитянин лжецом. Могут ли ответы оказаться разными?
Не могут. Если оба островитянина рыцари или если оба лжецы, то оба дадут одинаковые ответы. В ситуации, когда один из них лжец, а другой рыцарь, они оба дадут ответ «Да»: рыцарь скажет правду, ведь второй островитянин на самом деле лжец, а лжец солжет, поскольку первый не является лжецом.
(б) Предположим, один из двух островитян говорит: “Или я лжец, или мой друг рыцарь”. Кем на самом деле является каждый из двух островитян?
Сам говорящий не может быть лжецом, т. к. высказывание «Или я - лжец, или мой друг - рыцарь» является ложным, только если оба высказывания ложны. А если «Я лжец» - ложно, то говорящий говорит правду, это противоречие. Если говорящий рыцарь, то высказывание «Я лжец» ложно, и т. к. всё высказывание истинно, то высказывание "или мой друг - рыцарь" также истинно. Следовательно, каждый из островитян - рыцарь.
(в) Островитянин заявляет: “Если я рыцарь, то я съем свою шляпу”. Съест ли он свою шляпу?
Высказывание "Если А, то В" (импликация) ложно тогда и только тогда, когда А истинно, а В – ложно.
Если говорящий лжец, то высказывание "Я рыцарь" – ложно. Высказывание "ложь --> В" всегда истинно, независимо от того, какое В. Т.е. все высказывание истинно, что для лжеца невозможно.
Если говорящий рыцарь, то высказывание "Я рыцарь" – истинно. Высказывание "истина --> В" истинно тогда и только тогда, когда В истинно. Следовательно, говорящий – рыцарь и ему придётся съесть шляпу.
