5. Исчисление высказываний и предикатов Пусть дано непустое множество простых предложений Q . Расширим это множество, присоединив к нему все те предложения, которые можно образовать с использованием сентенциональных связок {∨, &, ¬, ⇒, ⇔} из простых предложений. В таком случае это расширенное множество будет обладать свойством: Если A и B – элементы этого множества, то его элементами будут ¬A, ¬B, A & B, A ∨ B, A ⇒ B, A ⇔ B . Будем называть элементы расширенного множества – составными формулами, а элементы первоначального множества – простыми формулами. Каждой простой формуле сопоставляется один элемент из множества {T , F } . Далее принимается, что не имеет значения какое из значений T или F приписывается данной простой формуле, то есть T или F приписываются в соответствии с конкретными условиями. Истинностное значение составной формулы определяется индуктивным способом в соответствии с таблицами. Таблица 1 A B A& B A∨ B A⇒ B A⇔ B T T T T T T T F F T F F F T F T T F F F F F T T Таблица 2 A ¬A T F F T Для каждой формулы A можно построить таблицу истинности, при этом если простыми компонентами служат P1 ,..., Pn , то количество строк в такой таблице будет 2n . Определение: Формула, истинностное значение которой есть T при любых возможных истинностных значениях, приписываемых её простым компонентам, является тавтологией. Теорема: Пусть B – некоторая формула, B′ – формула, получаемая из B подстановкой формулы A вместо простой компоненты P , везде, где эта компонента встречается в B . Тогда, если B – тавтология, то B′ – тавтология. Пример 5.1: Будут ли тавтологиями P & ( P ⇒ Q) ⇒ Q формулы , ( R ⇒ P ) & (( R ⇒ P ) ⇒ Q ) ⇒ Q ? Решение: Построим для первой формулы таблицу истинности. & ( P ⇒ Q) ⇒ T T T T T F F F T F T F T T F F F T T P Q T P Q Как видно из таблицы формула принимает значение T при любых значениях её простых компонентов. Следовательно P & ( P ⇒ Q ) ⇒ Q – тавтология. При исследовании второй формулы легко заметить, что при замене в формуле P & ( P ⇒ Q ) ⇒ Q простой компоненты P на сентенциональную связку R ⇒ P получается искомая формула, в силу теоремы формула ( R ⇒ P ) & ( ( R ⇒ P ) ⇒ Q ) ⇒ Q – тавтология. Определение: Добавим понятие переменной. Предикат – логическая функция от переменных. То есть n -местный предикат P ( x1 ,..., xn ) обладает тем свойством, что если приписать переменным некоторые значения, то этот предикат становится высказыванием от этих переменных. Формула будет строиться следующим образом: 1. любая атомарная формула P n ( t1 ,..., tn ) – формула, 2. если A и B – формулы, то ¬A, ¬B, A & B, A ∨ B, A ⇒ B, A ⇔ B – формулы, 3. если A – формула, x – переменная, то ∀x A и ∃x A – формулы. Определения: Вхождение переменной в формулу называют связанным, если это вхождение находится в области действия соответствующего квантора, иначе – свободным. Интерпретацией Ι называется отображение, которое сопоставляет: • каждой предметной переменной x элемент Ι ( x ) = d x ∈ D , где d x – значение переменной x , D – область интерпретации, • каждому предикатному символу P ( x1 ,..., xn ) поставлена в соответствие логическая функция λ : D n → {T , F } , т.е. истинностным значением для P ( x1 ,..., xn ) будет λ ( d1 ,..., d n ) . Пара < D; f > , состоящая из области интерпретации D и отображения f , которое каждому предикатному символу сопоставляет логическую функцию, называется моделью. Пример 5.2: Найти истинностные значения формулы ∀x ( P ( x ) ⇒ Q ) ∨ ( Q & P ( y ) ) , где область интерпретации фиксировано D = {a, b} , но неизвестно. Решение: Так как область интерпретации фиксировано, но неизвестно, тогда следует перебрать все варианты, которые может принимать логическая функция λ . Приведём вариант в таблице. x λ1 ( x ) λ2 ( x ) λ3 ( x ) λ4 ( x ) a T T F F b T F T F Q принимает значения T и F , y приписывается значение a или b , тогда в таблице должно быть 4 ⋅ 2 ⋅ 2 = 16 записей. Рассмотрим одну из строк. Пусть P ( x ) приписывается λ1 ( x ) , Q принимает значение T , y приписывается a : ∀x ( λ1 ( x ) ⇒ T ) ∨ (T & λ1 ( a ) ) . Чтобы приписать истинностное значение для ∀x ( λ1 ( x ) ⇒ T ) вычислим её как логическую функцию от x . x λ1 ( x ) ⇒ T a T ⇒T b T ⇒T Истинностное значение ∀x ( λ1 ( x ) ⇒ T ) есть , T а всей формулы ∀x ( λ1 ( x ) ⇒ T ) ∨ (T & λ1 ( a ) ) также есть T . Аналогично для всех остальных строк. ∀x ( P ( x ) ⇒ Q ) (Q & P ( y )) P ( x) Q y λ1 ( x ) T a T T T λ1 ( x ) T b T T T λ1 ( x ) F a F F F λ1 ( x ) F b F F F λ2 ( x ) T a T T T λ2 ( x ) T b T T F λ2 ( x ) F a F F F λ2 ( x ) F b F F F λ3 ( x ) T a T T F λ3 ( x ) T b T T T λ3 ( x ) F a F F F λ3 ( x ) F b F F F λ4 ( x ) T a T T F λ4 ( x ) T b T T F λ4 ( x ) F a T T F λ4 ( x ) F b T T F ∨ Определения: 1. Формула выполнима, если существует интерпретация, в которой она истинна. 2. Формула общезначима, если она истинна в любой интерпретации. 3. Формула противоречива (невыполнима), если не существует интерпретации, в которой она истинна. Пример 5.3: Выполнимы ли формулы: 1. ∃x P ( x ) , 2. ∀x P ( x ) , 3. ∃x∀y ( Q ( x, x ) & ¬Q ( x, y ) ) , 4. ∃x∃y ( P ( x ) & ¬P ( y ) ) , 5. ∃x∀y ( Q ( x, y ) ⇒ ∀zR ( x, y, z ) ) ? Решение: 1. Формула ∃x P ( x ) выполнима в N , P , где P ( x ) = T ⇔ x – простое число. 2. Формула ∀x P ( x ) выполнима в N , P , где P ( x ) = T – тождественно истинный предикат. 3. Формула ∃x∀y ( Q ( x, x ) & ¬Q ( x, y ) ) невыполнима. Пусть она истина в некоторой интерпретации, то есть ∃a : ∀y ( Q ( a, a ) & ¬Q ( a, y ) ) , тогда должна быть истинной формула Q ( a, a ) & ¬Q ( a, a ) , таким образом пришли к противоречию. 4. Формула ∃x∃y ( P ( x ) & ¬P ( y ) ) выполнима в N , P , где P ( x ) = T ⇔ x – простое число. 5. Формула ∃x∀y ( Q ( x, y ) ⇒ ∀zR ( x, y, z ) ) выполнима в N ; Q, R , где Q ( x, y ) = T ⇔ x ≥ y , R ( x, y, z ) = T ⇔ x + y ≥ z . Не выполнима в случае N ′; Q, R , где N ′ = {1, 2,..., n} . Пример 5.4: Пусть дана модель N ; S 3 , P 3 , где S 3 ( x, y, z ) = T ⇔ x + y = z , P 3 ( x, y, z ) = T ⇔ x ⋅ y = z . Записать формулу с одной свободной переменной x , истинную в модели тогда и только тогда, когда x = 0 , x = 1 , x = 2 , x – чётно, x – нечётно, x – простое число. Решение: • x = 0 – Ο ( x ) = ∀y S 3 ( x, y, y ) , то есть сумма с нулём число не изменяет, • x = 1 – Ε ( x ) = ∀y P 3 ( x, y, y ) , то есть умножение на единицу число не изменяет, • x = 2 – D ( x ) = ∃z ( ∀yP 3 ( z, y, y ) & S 3 ( z , z, x ) ) , то есть существует такое z , умножение на которое не меняет число, а это есть единица, сумма единиц – двойка, • x – чётно – C ( x ) = ∃y S 3 ( y, y, x ) , то есть x представимо в виде x = y + y = 2y , • x – нечётно – N ( x ) = ¬C ( x ) , то есть число нечётное, • x – простое число – P ( x ) = ( ¬Ε ( x ) & ∀y∀z ( P ( y, z, x ) ⇒ ( Ε ( y ) ∨ Ε ( z ) ) ) ) , то есть число не нуль и если найдётся множители числа, то одно из них будет единица, а другое, как следствие, само число. Задачи для самостоятельного решения 1. Построить таблицу истинности ( R ⇒ P ) & (( R ⇒ P ) ⇒ Q ) ⇒ Q . для формулы 2. Пусть Μ = N ; S 3 , P3 , где S 3 ( x, y, z ) = T ⇔ x + y = z , P 3 ( x, y, z ) = T ⇔ x ⋅ y = z . Написать формулу, выражающую следующее утверждение: z наименьшее общее кратное x и y . 3. Пусть Μ = N ; S 3 , P3 , где S 3 ( x, y, z ) = T ⇔ x + y = z , P 3 ( x, y, z ) = T ⇔ x ⋅ y = z . Написать формулу, выражающую следующее бесконечность множества простых чисел. утверждение: