Логіка висловлювань

Концепція
Структура статті представлена на концептуальній карті, де кожна гілка відображає основний компонент, а підвузли виділяють конкретні поняття, що розглядаються.
Середній
2
Потребує
0
Дозволяє
Наступні концепції, Функції, Множини, є необхідними передумовами для цієї статті.

Вступ

Логіка висловлювань вивчає інференційні зв'язки між реченнями, зосереджуючись на класі логічних операторів, відомих як логічні зв'язки. Інференційні зв'язки — це логічні зв'язки, які дозволяють вивести істинність одного висловлювання з істинності інших: вони встановлюють, відповідно до правил логіки, як істинність заданого висловлювання може необхідно випливати з істинності подальших висловлювань.

Ці зв'язки є фундаментальними в дедуктивному міркуванні та в аналізі логічних аргументів. Логіка висловлювань визначає, як значення істинності висловлювань пов'язані між собою через логічні оператори, що забезпечує можливість автоматизованого міркування та логічного виведення в таких областях, як інформатика, штучний інтелект та формальна верифікація.

Мова висловлювань

Мова висловлювань \( \text{Prop}[P] \) складається з множини атомарних висловлювань, логічних зв'язків та правил формування, які визначають синтаксис мови.

  • Атомарні висловлювання — це неподільні одиниці мови, що позначаються символами такими як \( p, q, r \). Мова висловлювань над множиною \( P \) позначається наступним чином: \[\text{Prop}[P], \quad P = \{p, q, r\}\]

  • Логічні зв'язки включають: \( \neg \), \( \wedge \), \( \lor \), \( \rightarrow \), \( \leftrightarrow \), \( \oplus \).

  • Висловлювання, побудовані з атомарних формул за допомогою логічних зв'язків відповідно до правил формування, називаються правильною формулами (ПФ).

Ці три елементи становлять синтаксис мови висловлювань.

Логічні зв'язки

Логічні зв'язки — це логічні оператори, що використовуються в логіці висловлювань для поєднання або модифікації атомарних висловлювань, визначаючи умови істинності отриманого складного висловлювання. Атомарне висловлювання — це твердження, яке не можна розбити на простіші частини, наприклад, «йде дощ». Основними логічними зв'язками є наступні.

  • \(\neg\), заперечення: інвертує значення істинності висловлювання. Якщо \( p \) істинне, то \(\neg p\) хибне, і навпаки.

  • \(\wedge\), кон'юнкція: представляє логічне «І». Кон'юнкція \( p \wedge q \) істинна тільки тоді, коли і \( p \), і \( q \) істинні.

  • \(\lor\), диз'юнкція: представляє логічне «АБО». Диз'юнкція \( p \lor q \) істинна, якщо принаймні одне з \( p \) або \( q \) істинне.

  • \(\rightarrow\), імплікація: представляє «якщо… то». Імплікація \( p \rightarrow q \) хибна тільки тоді, коли \( p \) істинне, а \( q \) хибне, тобто коли істинна передумова призводить до хибного висновку.

  • \(\leftrightarrow\), еквівалентність: представляє «тоді і тільки тоді, коли». Еквівалентність \( p \leftrightarrow q \) істинна саме тоді, коли \( p \) і \( q \) мають однакове значення істинності, тобто обидва істинні або обидва хибні.

  • \(\oplus\), виключна диз'юнкція (XOR): істинна тоді і тільки тоді, коли рівно одне з \( p \) або \( q \) істинне.

Приклад

Розглянемо мову висловлювань \(\text{Prop}[P]\), визначену над наступною множиною атомарних висловлювань:

\[P = \{p, q\}\]

  • \(p =\) двері відчинені.
  • \(q =\) вікно відчинене.

Наступні твердження можна представити за допомогою атомарних висловлювань \( p \) та \( q \) разом із логічними зв'язками, що були введені вище.

  • Двері зачинені, тобто двері не відчинені: \(\quad \neg p\)
  • І двері, і вікно відчинені: \(\quad p \wedge q\)
  • Якщо двері відчинені, то вікно відчинене: \(\quad p \rightarrow q\)
  • Двері відчинені тоді і тільки тоді, коли вікно відчинене: \(\quad p \leftrightarrow q\)
  • Або двері відчинені, або вікно відчинене, але не обидва одночасно: \(\quad p \oplus q\)
  • Невірно, що якщо двері відчинені, то вікно відчинене: \(\quad \neg(p \rightarrow q)\)

Правила формування

Правила формування визначають, як атомарні висловлювання та логічні зв'язки можуть бути поєднані для створення правильних формул (ПФ). Правила наступні.

  • Якщо \( p \) є атомарним висловлюванням, то \( p \) є ПФ.
  • Якщо \( p \) є ПФ, то \( \neg p \) є ПФ.
  • Якщо \( p \) та \( q \) є ПФ, то кожна з формул \( p \wedge q \), \( p \lor q \), \( p \rightarrow q \), \( p \leftrightarrow q \) та \( p \oplus q \) є ПФ.

Будь-яка формула, яку не можна отримати шляхом скінченного застосування цих правил, не вважається правильною формулою мови.

Семантика

Значення синтаксично правильних виразів \(\text{Prop}[P]\) визначається семантикою. Визначення області інтерпретації пропозиційної мови є важливим для встановлення її семантики. Ця область охоплює множину об'єктів, що позначають можливі значення виразів мови. У пропозиційній логіці область інтерпретації складається з двох булевих значень: істини та хибності:

\[\text{Bool} = \{T, F\}\]

Дано дві формули \( p \) та \( q \), таблиця істинності, що ілюструє їхні відношення під дією пропозиційних зв'язок, є наступною:

\[ \begin{array}{cc|cccccc} p & q & \neg p & p \wedge q & p \lor q & p \rightarrow q & p \leftrightarrow q & p \oplus q \\ \hline T & T & F & T & T & T & T & F \\ T & F & F & F & T & F & F & T \\ F & T & T & F & T & T & F & T \\ F & F & T & F & F & T & T & F \\ \end{array} \]

Таблиця охоплює всі можливі комбінації значень істинності для \( p \) та \( q \), роблячи дію кожного зв'язки явною. Варто відзначити дві помітні еквівалентності, що випливають безпосередньо з таблиці.

  • Імплікацію можна переписати в диз'юнктивній формі як \( p \rightarrow q \equiv \neg p \lor q \).
  • Еквівалентність можна переписати в диз'юнктивній формі як \( p \leftrightarrow q \equiv (\neg p \lor q) \land (\neg q \lor p) \).

В обох випадках символ \(\equiv\) позначає логічну еквівалентність.

Інтерпретації

Інтерпретація \( M \) — це функція, яка присвоює булеве значення кожній атомарній пропозиції в \( P \):

\[M : P \rightarrow \{T, F\}\]

Дано формулу \( \varphi \), побудовану з пропозицій у \( P \), значення істинності \( \varphi \) за інтерпретацією \( M \) визначається значеннями, присвоєними її атомарним компонентам, разом із семантикою зв'язок.

  • Якщо \( \varphi \) є істинною за \( M \), ми пишемо \( M \models \varphi \) і кажемо, що \( M \) є моделлю \( \varphi \).
  • Якщо \( \varphi \) є хибною за \( M \), ми пишемо \( M \not\models \varphi \) і кажемо, що \( M \) є контрмоделлю \( \varphi \).

Розглянемо наступні атомарні пропозиції:

  • \( p =\) двері відчинені.
  • \( q =\) вікно відчинене.

Нехай \( M \) буде інтерпретацією, в якій \( p \) є істинною, а \( q \) — хибною. Ми хочемо перевірити, чи задовольняє \( M \) формулу \( p \rightarrow \neg q \). Відповідна частина таблиці істинності є наступною:

\[ \begin{array}{cc|cc} p & q & \neg q & p \rightarrow \neg q \\ \hline T & F & T & T \\ \end{array} \]

За цією інтерпретацією \( p \) є істинною, \( q \) є хибною, і, відповідно, \( \neg q \) є істинною. Оскільки і засновок, і наслідок імплікації є істинними, формула \( p \rightarrow \neg q \) набуває значення істини, і ми отримуємо висновок, що \( M \models p \rightarrow \neg q \).

З поняття інтерпретації виникають три фундаментальні класифікації формул.

Формула \( \varphi \) є суперечливою, якщо жодна інтерпретація її не задовольняє, тобто якщо \( \varphi \) є хибною за кожною можливою інтерпретацією:

\[\forall\, M, \quad M \not\models \varphi\]

Формула \( \varphi \) є задовольняваною, якщо принаймні одна інтерпретація її задовольняє, тобто якщо \( \varphi \) є істинною за якоюсь інтерпретацією:

\[\exists\, M, \quad M \models \varphi\]

Формула \( \varphi \) є тавтологією, якщо вона є істинною за кожною можливою інтерпретацією:

\[\forall\, M, \quad M \models \varphi\]

Логічний наслідок

Формула \( p \) є логічним наслідком множини формул \( S \) тоді і тільки тоді, коли кожна інтерпретація \( M \), що задовольняє всі формули в \( S \), також задовольняє \( p \):

\[S \models p\]

Іншими словами, \( p \) є логічним наслідком \( S \), якщо \( p \) має бути істинною в кожній інтерпретації, яка робить усі формули в \( S \) одночасно істинними. Розглянемо наступний приклад. Нехай:

  • \( S = \{A,\, A \rightarrow B\} \)
  • \( p = B \)

Ми хочемо перевірити, чи є \( B \) логічним наслідком \( S \). Таблиця істинності для формул у \( S \) є наступною:

\[ \begin{array}{cc|c} A & B & A \rightarrow B \\ \hline T & T & T \\ T & F & F \\ F & T & T \\ F & F & T \\ \end{array} \]

Єдиним рядком, у якому і \( A \), і \( A \rightarrow B \) є істинними, є перший, і в цьому рядку \( B \) також є істинною. Отже, ми отримуємо висновок, що \( S \models B \), і \( B \) дійсно є логічним наслідком \( S \).

Ця форма міркування, відома як modus ponens, є одним із найфундаментальніших правил виведення в пропозиційній логіці. Поняття логічного наслідку відіграє центральну роль не тільки у формальній логіці, а й у штучному інтелекті: воно лежить в основі обґрунтованості аргументів, правильності автоматизованого міркування та надійності висновків, зроблених системами ШІ з формалізованих знань.

Правила виведення

Поняття логічного наслідку, введене в попередньому розділі, визначає, коли формула має бути істинною за умови заданого набору засновків. Правила виведення — це схематичні моделі, які дозволяють виводити висновок з одного або кількох засновків, за умови, що ці засновки є істинними. Кожне правило є правильним у тому сенсі, що його висновок є логічним наслідком його засновків. Нижче представлено три найфундаментальніші правила виведення логіки пропозицій.

Modus ponens стверджує, що якщо \( p \) є істинним і імплікація \( p \rightarrow q \) є істинною, то \( q \) має бути істинним. У схематичній формі:

\[ \frac{p \qquad p \rightarrow q}{q} \]


Modus tollens стверджує, що якщо \( q \) є хибним і імплікація \( p \rightarrow q \) є істинною, то \( p \) має бути хибним. У схематичній формі:

\[ \frac{\neg q \qquad p \rightarrow q}{\neg p} \]


Гіпотетичний силогізм стверджує, що якщо \( p \rightarrow q \) та \( q \rightarrow r \) обидва є істинними, то \( p \rightarrow r \) також є істинним. У схематичній формі:

\[ \frac{p \rightarrow q \qquad q \rightarrow r}{p \rightarrow r} \]

У кожній схемі формули над горизонтальною лінією є засновками, а формула під нею — висновком.

Ці три правила не є незалежними один від одного. Modus tollens, наприклад, може бути виведений з modus ponens разом із еквівалентністю \( (p \rightarrow q) \equiv (\neg q \rightarrow \neg p) \), відомою як контрапозиція. Гіпотетичний силогізм, подібно до цього, випливає з двох послідовних застосувань modus ponens.

Як ілюстрацію, розглянемо наступні засновки:

  • \( p = \) йде дощ.
  • \( q = \) земля мокра.
  • \( r = \) матч скасовано.

Припустимо, ми знаємо, що \( p \rightarrow q \) та \( q \rightarrow r \). За допомогою гіпотетичного силогізму ми можемо зробити висновок, що \( p \rightarrow r \). Якщо йде дощ, то матч скасовано. Якщо ми додатково знаємо, що \( p \) є істинним, одне застосування modus ponens дає \( r \): матч скасовано.

Нормальні форми

Кожну пропозиційну формулу можна переписати в логічно еквівалентній формі, що має регулярну синтаксичну структуру. Двома найважливішими такими структурами є кон'юнктивна нормальна форма та диз'юнктивна нормальна форма.

  • Літералом є або атомарна пропозиція, або її заперечення. Якщо задано атомарну пропозицію \( p \), то і \( p \), і \( \neg p \) є літералами.

  • Формула перебуває в кон'юнктивній нормальній формі (КНФ), якщо вона є кон'юнкцією диз'юнктів, де кожен диз'юнкт є диз'юнкцією літералів:

\[ (l_{1,1} \lor \cdots \lor l_{1,k}) \wedge (l_{2,1} \lor \cdots \lor l_{2,m}) \wedge \cdots \]

Формула перебуває в диз'юнктивній нормальній формі (ДНФ), якщо вона є диз'юнкцією кон'юнктов, де кожен кон'юнкт є кон'юнкцією літералів:

\[ (l_{1,1} \wedge \cdots \wedge l_{1,k}) \lor (l_{2,1} \wedge \cdots \wedge l_{2,m}) \lor \cdots \]

Можна показати, що кожна пропозиційна формула є логічно еквівалентною деякій формулі в КНФ та деякій формулі в ДНФ. Перетворення завжди можна виконати, застосовуючи наступні стандартні еквівалентності: усунення подвійного заперечення, закони де Моргана та дистрибутивність \( \wedge \) відносно \( \lor \) та \( \lor \) відносно \( \wedge \).

Найбільш вживаними еквівалентностями при перетворенні в нормальну форму є наступні: \( \neg \neg p \equiv p \), \( \neg(p \wedge q) \equiv \neg p \lor \neg q \), \( \neg(p \lor q) \equiv \neg p \wedge \neg q \), а також дистрибутивні закони \( p \wedge (q \lor r) \equiv (p \wedge q) \lor (p \wedge r) \) та \( p \lor (q \wedge r) \equiv (p \lor q) \wedge (p \lor r). \)


Як приклад, розглянемо формулу \( \neg(p \lor q) \rightarrow r \). Використовуючи еквівалентність \( \varphi \rightarrow \psi \equiv \neg \varphi \lor \psi \), формулу можна переписати наступним чином:

\[ \neg(p \lor q) \rightarrow r \;\equiv\; \neg\neg(p \lor q) \lor r \;\equiv\; (p \lor q) \lor r \]

Отримана формула \( (p \lor q) \lor r \) є одним диз'юнктом і, отже, вже перебуває в кон'юнктивній нормальній формі. Таким чином, початкова формула еквівалентна формулі в КНФ \( p \lor q \lor r \).

Нормальні форми відіграють центральну роль в автоматизованому виведенні. Більшість алгоритмів перевірки виконуваності, включаючи широко використовувану процедуру DPLL, вимагають, щоб вхідна формула була представлена в КНФ.