Начался семестр, приступил к изучению учебников логики.
Ниче не понятно на самом деле. Какая-то страшная философия, какой глубины даже у нас гуманитариев не наблюдалось ваще. Притом, что курс логики я таки проходил когда-то, хотя и достаточно примитивный, для лингвистов.
Вопрос: что примерно значит конструктивная индукция? Что такое неконструктивная индукция?
Цитата: RawonaMкурс логики я таки проходил когда-то
Ты его тут вроде бы даже вёл...
Цитата: Bhudh от марта 10, 2011, 23:58
Цитироватькурс логики я таки проходил когда-то
Ты его тут вроде бы даже вёл...
Ну начинал. Может вскоре продолжу :)
Так я не понял, никто тут не знает логику? :(
А на других языках неужели ничего не нагуглилось?
Да в общем-то не нагуглилось, но вот вы меня подтолкнули погуглить еще и теперь я понял, что просто неправильно понял термин. Не конструктивная, а структурная индукция дэс. А это уже гуглится неплохо :)
Сохраню тут ссылку на список терминов, чтоб не вляпываться снова.
http://www.cs.huji.ac.il/~udiboker/logic/english_hebrew_lexicon.html
Цитировать(wiki/ru) Структурная_индукция (http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%B0%D1%8F_%D0%B8%D0%BD%D0%B4%D1%83%D0%BA%D1%86%D0%B8%D1%8F)
Структурная индукция — метод доказательства, который используется в математической логике (например, в доказательстве теоремы Лося об ультрапроизведениях, информатике, теории графов, и некоторых других областях математики. Это — обобщение математической индукции. Структурная рекурсия — метод рекурсии, имеющий те же самые отношения к структурной индукции как обычные рекурсии к обычной математической индукции.
Является ли
![\forall ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x)) [tex]\forall ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x))[/tex]](https://latex.codecogs.com/png.latex?\forall ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x)))
записью этого предожения:
Для любого числа между 0 и 1, которое не 0 и не 1, его квадрат меньше него.
?
Цитата: RawonaM от марта 13, 2011, 22:56
Является ли
записью этого предожения: Для любого числа между 0 и 1, которое не 0 и не 1, его квадрат меньше него.
?
Это даже нельзя назвать правильно составленной формулой.
Должно быть что-то вроде
Цитата: Gerbarius от марта 13, 2011, 23:37
ЦитироватьЯвляется ли
записью этого предожения: Для любого числа между 0 и 1, которое не 0 и не 1, его квадрат меньше него.
?
Это даже нельзя назвать правильно составленной формулой.
Сорри, пропустил х. Надо так:
![\forall x ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x)) [tex]\forall x ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x))[/tex]](https://latex.codecogs.com/png.latex?\forall x ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x)))
Что тут неправильно составлено?
Цитата: Gerbarius от марта 13, 2011, 23:37
![\forall x (0 \le x \land x \le 1 \land x \ne 0 \land x \ne 1 \rightarrow x^2 < x). [tex] \forall x (0 \le x \land x \le 1 \land x \ne 0 \land x \ne 1 \rightarrow x^2 < x). [/tex]](https://latex.codecogs.com/png.latex? \forall x (0 \le x \land x \le 1 \land x \ne 0 \land x \ne 1 \rightarrow x^2 < x). )
А зачем вы закрутили? Ведь проще можно:
![\forall x (0 < x < 1 \rightarrow x^2 < x). [tex] \forall x (0 < x < 1 \rightarrow x^2 < x). [/tex]](https://latex.codecogs.com/png.latex? \forall x (0 < x < 1 \rightarrow x^2 < x). )
Да и скобок у вас как-то не хватает...
Цитата: RawonaM от марта 13, 2011, 23:41
А зачем вы закрутили? Ведь проще можно: ![\forall x (0 < x < 1 \rightarrow x^2 < x). [tex] \forall x (0 < x < 1 \rightarrow x^2 < x). [/tex]](https://latex.codecogs.com/png.latex? \forall x (0 < x < 1 \rightarrow x^2 < x). )
Да и скобок у вас как-то не хватает...
Можно, конечно. Но ведь и вы и в своём первоначальном варианте закрутили будь здоров. :yes: Насчёт скобок. Все скобки обычно никогда и не пишут. Для восстановления недостающих скобок пользуются некоторыми соглашениями, подобными тем, которые используются при записи обычных арифметических формул. Но, конечно, вы всегда можете выписывать все скобки явно.
Цитата: RawonaM от марта 13, 2011, 23:41
Сорри, пропустил х. Надо так:
![\forall x ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x)) [tex]\forall x ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x))[/tex]](https://latex.codecogs.com/png.latex?\forall x ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x)))
Что тут неправильно составлено?
Тут записано другое высказывание, причём ложное. Ложность можно показать так. Возьмём
![x = -1 [tex] x = -1 [/tex]](https://latex.codecogs.com/png.latex? x = -1 )
. При таком
![x [tex] x [/tex]](https://latex.codecogs.com/png.latex? x )
высказывание
![(x^2<x) [tex] (x^2<x) [/tex]](https://latex.codecogs.com/png.latex? (x^2<x) )
будет очевидно ложным, но импликация
![(0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) [tex] (0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) [/tex]](https://latex.codecogs.com/png.latex? (0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) )
будет истинной, так как ложна её посылка. Импликация
![(0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x) [tex] (0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x) [/tex]](https://latex.codecogs.com/png.latex? (0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) \rightarrow (x^2<x) )
будет тем самым ложной, так как её посылка истинна, а заключение ложно.
В общем,
![((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) [tex] ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) [/tex]](https://latex.codecogs.com/png.latex? ((0\le x \le 1 \rightarrow ((x \ne 0) \land (x \ne 1))) )
означает вовсе не то, что
![x [tex] x [/tex]](https://latex.codecogs.com/png.latex? x )
лежит на отрезке
![[0,1] [tex] [0,1] [/tex]](https://latex.codecogs.com/png.latex? [0,1] )
и при том не равно ни 0, ни 1 (для этого следовало использовать конъюнкцию), а то, что или
![x [tex] x [/tex]](https://latex.codecogs.com/png.latex? x )
не лежит на отрезке
![[0,1] [tex] [0,1] [/tex]](https://latex.codecogs.com/png.latex? [0,1] )
, или оно не равно ни 0, ни 1, или и то и другое вместе.
Цитата: Gerbarius от марта 14, 2011, 00:47
Но ведь и вы и в своём первоначальном варианте закрутили будь здоров. :yes:
Это не мой вариант, это задание из книги :)
Цитата: Gerbarius от марта 14, 2011, 00:47
Насчёт скобок. Все скобки обычно никогда и не пишут. Для восстановления недостающих скобок пользуются некоторыми соглашениями, подобными тем, которые используются при записи обычных арифметических формул. Но, конечно, вы всегда можете выписывать все скобки явно.
А какие общепринятые приоритеты? Импликация первее?
Цитата: RawonaM от марта 14, 2011, 08:30
А какие общепринятые приоритеты? Импликация первее?
Попробую объяснить. В следующих примерах под
![A, B, C [tex] A, B, C [/tex]](https://latex.codecogs.com/png.latex? A, B, C )
можно понимать любые формулы, заключёные в скобки.
Кванторы и отрицание считаются младше остальных логических связок. То есть, например,
![\neg A \lor B [tex] \neg A \lor B [/tex]](https://latex.codecogs.com/png.latex? \neg A \lor B )
означает
![(\neg A) \lor B [tex] (\neg A) \lor B [/tex]](https://latex.codecogs.com/png.latex? (\neg A) \lor B )
, а не
![\neg (A \lor B) [tex] \neg (A \lor B) [/tex]](https://latex.codecogs.com/png.latex? \neg (A \lor B) )
.
Аналогично,
![\exists x A \rightarrow B [tex] \exists x A \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? \exists x A \rightarrow B )
означает
![(\exists x A) \rightarrow B [tex] (\exists x A) \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? (\exists x A) \rightarrow B )
, а не
![\exists x (A \rightarrow B) [tex] \exists x (A \rightarrow B) [/tex]](https://latex.codecogs.com/png.latex? \exists x (A \rightarrow B) )
.
Дальше идут конъюнкция и дизъюнкция. Потом уже идёт импликация. То есть
![A \lor B \rightarrow C [tex] A \lor B \rightarrow C [/tex]](https://latex.codecogs.com/png.latex? A \lor B \rightarrow C )
означает
![(A \lor B) \rightarrow C [tex] (A \lor B) \rightarrow C [/tex]](https://latex.codecogs.com/png.latex? (A \lor B) \rightarrow C )
, а не
![A \lor (B \rightarrow C) [tex] A \lor (B \rightarrow C) [/tex]](https://latex.codecogs.com/png.latex? A \lor (B \rightarrow C) )
.
У конъюнкции и дизъюнкции обычно также разные приоритеты, но как раз здесь общепринятых соглашений нет. Поэтому в группах, где встречаются и конъюнкции и дизъюнкции скобки как правило ставят. Например, не пишут
![A \lor B \land C [tex] A \lor B \land C [/tex]](https://latex.codecogs.com/png.latex? A \lor B \land C )
, а пишут или
![(A \lor B) \land C [tex] (A \lor B) \land C [/tex]](https://latex.codecogs.com/png.latex? (A \lor B) \land C )
или
![A \lor (B \land C) [tex] A \lor (B \land C) [/tex]](https://latex.codecogs.com/png.latex? A \lor (B \land C) )
.
В группах из нескольких конъюнкций или дизъюнкций скобки обычно не пишут, так как эти операции ассоциативны. То есть, например, вместо
![(A \lor B) \lor C [tex] (A \lor B) \lor C [/tex]](https://latex.codecogs.com/png.latex? (A \lor B) \lor C )
или
![A \lor (B \lor C) [tex] A \lor (B \lor C) [/tex]](https://latex.codecogs.com/png.latex? A \lor (B \lor C) )
обычно пишут просто
![A \lor B \lor C [tex] A \lor B \lor C [/tex]](https://latex.codecogs.com/png.latex? A \lor B \lor C )
.
В группах из нескольких импликаций скобки как правило ставят. То есть явно пишут
![A \rightarrow (B \rightarrow C) [tex] A \rightarrow (B \rightarrow C) [/tex]](https://latex.codecogs.com/png.latex? A \rightarrow (B \rightarrow C) )
или
![(A \rightarrow B) \rightarrow C [tex] (A \rightarrow B) \rightarrow C [/tex]](https://latex.codecogs.com/png.latex? (A \rightarrow B) \rightarrow C )
, а не
![A \rightarrow B \rightarrow C [tex] A \rightarrow B \rightarrow C [/tex]](https://latex.codecogs.com/png.latex? A \rightarrow B \rightarrow C )
. Последняя запись, кстати, обычно понимается как
![(A \rightarrow B) \rightarrow C [tex] (A \rightarrow B) \rightarrow C [/tex]](https://latex.codecogs.com/png.latex? (A \rightarrow B) \rightarrow C )
, но я не уверен, что все без исключения придерживаются именно такого соглашения. Так как импликация неассоциативна, то скобки в таких случаях лучше ставить во избежание возможных недоразумений.
Спасибо. :)
Плохо это, диалекты в логике. Надо чтобы 100% однозначно было, иначе будет лингвистика. :(
Цитата: RawonaM от марта 14, 2011, 12:03
Плохо это, диалекты в логике. Надо чтобы 100% однозначно было, иначе будет лингвистика.
Это диалекты не логики, а записи. В самой логике везде подразумеваются скобки, и всё однозначно.
Что касается приоритета конъюнкции и дизъюнкции, то обычно у конъюнкции он больше.
Конъюнкцию кроме "∧ " ещё обозначают как "∙" (умножение), а дизъюнкцию кроме "∨" — как "+" (сложение). И приоритеты у них соответствуют: A∨B∧C = A+B∙C = A+(B∙C) = A∨(B∧C).
Застрял на одном вопросе.
Допустим B — выражение логики пропозиций, записаное в польской нотации.
Заменим каждую атомную пропозицию на -1, бинарный оператор на +1, а оператор отрицания на 0.
Нужно доказать, что B правильная формула iff после замены сумма получается -1 и сумма любых начальных компонентов неотрицательная.
Понятно вообще? Кому-нибудь по зубам? :)
В одну сторону я могу доказать, это если дана формула и нужно доказать, что эти условия соблюдаются. Делается структурной индукцией.
Вторую сторону нам подсказали, что нужно делать индукцией на длину строки. Так как я с такой индукцией не знаком, даже не представляю, что можно тут поделать.
Индукция по длине строки - это ж обычная математическая (или натуральная) индукция.
Под строкой здесь можно понимать последовательность чисел, получающуюся после замены каждой компоненты формулы на число.
Здесь индукцию можно применить в следующей форме.
1) Доказываем, что свойство верно для строки длины 1.
Так как единственная строка длины 1, которая удовлетворяет заданному условию, состоит из -1, то она соответствует выражению, состоящему из единственного атома, то есть правильной формуле.
2) Допустим, что свойство верно для всех строк длины
![\leq m [tex] \leq m [/tex]](https://latex.codecogs.com/png.latex? \leq m )
, где
![m \geq 1 [tex] m \geq 1 [/tex]](https://latex.codecogs.com/png.latex? m \geq 1 )
. Покажем, что оно верно и для строк длины
![m + 1 [tex] m + 1 [/tex]](https://latex.codecogs.com/png.latex? m + 1 )
. Рассмотрим какую-нибудь строку длины
![m + 1 [tex] m + 1 [/tex]](https://latex.codecogs.com/png.latex? m + 1 )
, которая удовлетворяет условию. Здесь возможны три случая в зависимости от числа, которое стоит на первом месте.
а) На первом месте стоит -1. Строка не удовлетворяет условию, что сумма любых начальных элементов неотрицательна. Таким образом этот случай невозможен.
б) На первом месте стоит 0. Тогда, как можно заметить, остаток строки удовлетворяет заданному условию. А значит по индуктивному предположению он соответствует некоторой правильной формуле
![F [tex] F [/tex]](https://latex.codecogs.com/png.latex? F )
. Тогда вся строка соответствует выражению
![\neg F [tex] \neg F [/tex]](https://latex.codecogs.com/png.latex? \neg F )
, то есть также правильной формуле.
в) На первом месте стоит +1. Будем считать суммы начальных отрезков. Как можно заметить из того, что сумма всех элементов равна -1, и из того, что начальный элемент равен +1, одна из "промежуточных сумм" должна быть равна 0. То есть всю строку можно представить в виде
![+1 k_1 \ldots k_s k_{s+1} \ldots k_m [tex] +1 k_1 \ldots k_s k_{s+1} \ldots k_m [/tex]](https://latex.codecogs.com/png.latex? +1 k_1 \ldots k_s k_{s+1} \ldots k_m )
, где
![1 + k_1 + \ldots + k_s = 0 [tex] 1 + k_1 + \ldots + k_s = 0 [/tex]](https://latex.codecogs.com/png.latex? 1 + k_1 + \ldots + k_s = 0 )
. Далее можно заметить, что обе подстроки
![k_1 \ldots k_s [tex] k_1 \ldots k_s [/tex]](https://latex.codecogs.com/png.latex? k_1 \ldots k_s )
и
![k_{s+1} \ldots k_m [tex] k_{s+1} \ldots k_m [/tex]](https://latex.codecogs.com/png.latex? k_{s+1} \ldots k_m )
удовлетворяют заданному условию, а значит, по индуктивному предположению соответствуют некоторым правильным формулам
![F_1 [tex] F_1 [/tex]](https://latex.codecogs.com/png.latex? F_1 )
и
![F_2 [tex] F_2 [/tex]](https://latex.codecogs.com/png.latex? F_2 )
.
![+1 [tex] +1 [/tex]](https://latex.codecogs.com/png.latex? +1 )
соответствует некоторой бинарной связке
![P [tex] P [/tex]](https://latex.codecogs.com/png.latex? P )
. Таким образом вся строка соответствует выражению вида
![P F_1 F_2 [tex] P F_1 F_2 [/tex]](https://latex.codecogs.com/png.latex? P F_1 F_2 )
, то есть также правильной формуле.
Это завершает доказательство.
P.S.
По-русски всё-таки обычно говорят о
логике или исчислении высказываний . Вместо
атомных пропозиций лучше говорить
атомарное высказывание или просто
атом.
Спасибо, Gerbarius! Я тут уже начал кое что строить, ваша помощь очень существенна. Сейчас попробую вникнуть.
Цитата: Gerbarius от марта 20, 2011, 16:00
По-русски всё-таки обычно говорят о логике или исчислении высказываний . Вместо атомных пропозиций лучше говорить атомарное высказывание или просто атом.
Спасибо, буду знать :)
Да... Жениаль. Я бы до завтра до этого вряд ли дошел скорее всего. Благодарю!
Все-таки рекурсия интересная штука.
Пытаюсь разобраться в дебрях логических символов...
В чем разница между
![\inline \{a,b\}\models c [tex]\inline \{a,b\}\models c[/tex]](https://latex.codecogs.com/png.latex?\inline \{a,b\}\models c)
и
![\inline \{a,b\}\vdash c [tex]\inline \{a,b\}\vdash c[/tex]](https://latex.codecogs.com/png.latex?\inline \{a,b\}\vdash c)
?
Вроде как первое обозначает, что если есть модель удовлетворящая a и b, то с тоже удовлетворяется.
Второе говорит, что из a и b можно вывести с.
Эти утверждения не эквивалентны?
Нашел объяснение тут:
(wiki/en) Entailment#Syntactic_consequence (http://en.wikipedia.org/wiki/Entailment#Syntactic_consequence)
ЦитироватьSyntactic consequence
A formula A is a syntactic consequence[3][4][5][6] within some formal system FS of a set Г of formulas if there is a formal proof in FS of A from the set Г.
![\Gamma \vdash_{\mathrm FS} A [tex]\Gamma \vdash_{\mathrm FS} A[/tex]](https://latex.codecogs.com/png.latex?\Gamma \vdash_{\mathrm FS} A)
Syntactic consequence does not depend on any interpretation of the formal system.[7]
Semantic consequence
A formula A is a semantic consequence of a set of statements Г
![\Gamma \models A [tex]\Gamma \models A[/tex]](https://latex.codecogs.com/png.latex?\Gamma \models A)
if and only if no interpretation
makes all members of Г true and A false.[8] Or, in other words, the set of the interpretations that make all members of Г true is a subset of the set of the interpretations that make A true.
Но разница не очень ясна. При наличии всех возможных интерпретаций эти следования эквивалентны?
(wiki/en) Propositional_logic#Soundness_and_completeness_of_the_rules (http://en.wikipedia.org/wiki/Propositional_logic#Soundness_and_completeness_of_the_rules)
ЦитироватьSoundness
If the set of wffs S syntactically entails wff
, then S semantically entails ![\phi [tex]\phi[/tex]](https://latex.codecogs.com/png.latex?\phi)
Completeness
If the set of wffs S semantically entails wff
, then S syntactically entails ![\phi [tex]\phi [/tex]](https://latex.codecogs.com/png.latex?\phi )
Получается, что система sound and complete (как это по-русски) iff
![S \vdash \phi \Leftrightarrow S \vDash \phi [tex]S \vdash \phi \Leftrightarrow S \vDash \phi[/tex]](https://latex.codecogs.com/png.latex?S \vdash \phi \Leftrightarrow S \vDash \phi)
Таким образом нет разницы между
![\vdash [tex]\vdash[/tex]](https://latex.codecogs.com/png.latex?\vdash)
и
![\vDash [tex]\vDash[/tex]](https://latex.codecogs.com/png.latex?\vDash)
в обычной логике высказываний. Правильно?
Хм...
Например:
 \vdash p[/tex]](https://latex.codecogs.com/png.latex?(\neg p \land p) \vdash p)
Верно или нет?
Ведь синтаксически следует же!
Но никак не:
 \vDash p[/tex]](https://latex.codecogs.com/png.latex?(\neg p \land p) \vDash p)
Ибо нет и одной такой модели.
Равонам, ну так отношения
![\models [tex] \models [/tex]](https://latex.codecogs.com/png.latex? \models )
и
![\vdash [tex] \vdash [/tex]](https://latex.codecogs.com/png.latex? \vdash )
задаются совершенно по-разному и независимо друг от друга. С чего бы им вдруг быть автоматически эквивалетными? Эквивалентность, конечно, может иметь место для какой-то конкретной формальной системы, для которой задана какая-то конкретная интерпретация. Но эту эквивалетность в любом случае нужно доказывать.
Цитата: RawonaM от апреля 2, 2011, 12:41
Таким образом нет разницы между
и
в обычной логике высказываний. Правильно?
Да, для классического исчисления высказываний, где формулы интерпретируются при помощи двузначных таблиц истинности, разницы действительно нет. Но это доказывается, а не принимается как нечто самоочевидное.
P.S.
На практике, конечно, формальная система и её интерпретация обычно связаны. То есть либо формальная система выбирается из тех соображений, чтобы по крайней мере все выводимые в ней утверждения были истинны в некоторой заранее данной интерпретации (в этом случае из
![\vdash [tex] \vdash [/tex]](https://latex.codecogs.com/png.latex? \vdash )
следует
![\models [tex] \models [/tex]](https://latex.codecogs.com/png.latex? \models )
), а если возможно, то кроме того, чтобы в ней были выводимы все истинные в интерпретации утверждения (в этом случае и из
![\models [tex] \models [/tex]](https://latex.codecogs.com/png.latex? \models )
следует
![\vdash [tex] \vdash [/tex]](https://latex.codecogs.com/png.latex? \vdash )
); либо уже заданная формальная система интерпретируется так, чтобы между выводимостью и интерпретацией была некоторая связь. Но в любом случае никакой эквивалетности между
![\models [tex] \models [/tex]](https://latex.codecogs.com/png.latex? \models )
и
![\vdash [tex] \vdash [/tex]](https://latex.codecogs.com/png.latex? \vdash )
даже в практически интересных случаях может и не быть.
Цитата: RawonaM от апреля 2, 2011, 13:17
Хм...
Например:
 \vdash p[/tex]](https://latex.codecogs.com/png.latex?(\neg p \land p) \vdash p)
Верно или нет?
Ведь синтаксически следует же!
Это так.
Цитата: RawonaM от апреля 2, 2011, 13:17
Но никак не:
 \vDash p[/tex]](https://latex.codecogs.com/png.latex?(\neg p \land p) \vDash p)
Ибо нет и одной такой модели.
А вот здесь вы не правы, поскольку формула
![p [tex] p [/tex]](https://latex.codecogs.com/png.latex? p )
принимает значение
истина при всех значениях p, когда
![\neg p \land p [tex] \neg p \land p [/tex]](https://latex.codecogs.com/png.latex? \neg p \land p )
принимает значение
истина, тривиальным образом, так как формула
![\neg p \land p [tex] \neg p \land p [/tex]](https://latex.codecogs.com/png.latex? \neg p \land p )
тождественно ложна.
Спасибо, Gerbarius! Начинает потихоньку укладываться :)
Цитата: RawonaM от марта 10, 2011, 21:43
Начался семестр, приступил к изучению учебников логики.
Ниче не понятно на самом деле. Какая-то страшная философия, какой глубины даже у нас гуманитариев не наблюдалось ваще.
:D Вы это серьйозно?
Цитата: Sirko от апреля 2, 2011, 18:29
:D Вы это серьйозно?
Честное пионерское.
Если для любого b верно
![\Sigma_1 \vDash b [tex]\Sigma_1 \vDash b[/tex]](https://latex.codecogs.com/png.latex?\Sigma_1 \vDash b)
и для любого a верно
![\Sigma_2 \vDash a [tex]\Sigma_2 \vDash a[/tex]](https://latex.codecogs.com/png.latex?\Sigma_2 \vDash a)
, и
![a \land b [tex]a \land b[/tex]](https://latex.codecogs.com/png.latex?a \land b)
выполнима, то
![\Sigma_1 \cup \Sigma_2 [tex]\Sigma_1 \cup \Sigma_2[/tex]](https://latex.codecogs.com/png.latex?\Sigma_1 \cup \Sigma_2)
выполнима?
Что значит
![\alpha \nvDash \beta [tex]\alpha \nvDash \beta[/tex]](https://latex.codecogs.com/png.latex?\alpha \nvDash \beta)
?
Что-то типа
![\neg (\alpha \vDash \beta) [tex]\neg (\alpha \vDash \beta)[/tex]](https://latex.codecogs.com/png.latex?\neg (\alpha \vDash \beta))
или что-то более конкретное?
Цитата: RawonaM от апреля 3, 2011, 00:27
Что значит
?
Что-то типа
или что-то более конкретное?
Ну да, так и есть.
Цитата: RawonaM от апреля 3, 2011, 00:18
Если для любого b верно
и для любого a верно
, и
выполнима, то
выполнима?
Этого условия я, честно говоря, не понял. Если действительно имеется ввиду, что как из
![\Sigma_1 [tex] \Sigma_1 [/tex]](https://latex.codecogs.com/png.latex? \Sigma_1 )
, так и из
![\Sigma_2 [tex] \Sigma_2 [/tex]](https://latex.codecogs.com/png.latex? \Sigma_2 )
следует, что угодно, то совершенно непонятно, откуда берутся
![a [tex] a [/tex]](https://latex.codecogs.com/png.latex? a )
и
![b [tex] b [/tex]](https://latex.codecogs.com/png.latex? b )
, из которых составлена формула
![a \land b [tex] a \land b [/tex]](https://latex.codecogs.com/png.latex? a \land b )
, и какое они вообще имеют отношение к делу.
Если же имеется ввиду, что
если для любых
![a [tex] a [/tex]](https://latex.codecogs.com/png.latex? a )
и
![b [tex] b [/tex]](https://latex.codecogs.com/png.latex? b )
при условии
![\Sigma_1 \vDash a [tex] \Sigma_1 \vDash a[/tex]](https://latex.codecogs.com/png.latex? \Sigma_1 \vDash a)
и
![\Sigma_2 \vDash b [tex]\Sigma_2 \vDash b [/tex]](https://latex.codecogs.com/png.latex?\Sigma_2 \vDash b )
следует выполнимость формулы
![a \land b [tex] a \land b [/tex]](https://latex.codecogs.com/png.latex? a \land b )
, то формулы множества
![\Sigma_1 \cup \Sigma_2 [tex]\Sigma_1 \cup \Sigma_2[/tex]](https://latex.codecogs.com/png.latex?\Sigma_1 \cup \Sigma_2)
совместно выполнимы,
то это будет верно, как нетрудно показать. Допустим в
![\Sigma_1 [tex] \Sigma_1 [/tex]](https://latex.codecogs.com/png.latex? \Sigma_1 )
входят формулы
![\sigma_1^1 \ldots \sigma_1^n [tex] \sigma_1^1 \ldots \sigma_1^n [/tex]](https://latex.codecogs.com/png.latex? \sigma_1^1 \ldots \sigma_1^n )
, а в
![\Sigma_2 [tex] \Sigma_2 [/tex]](https://latex.codecogs.com/png.latex? \Sigma_2 )
входят
![\sigma_2^1 \ldots \sigma_2^m [tex] \sigma_2^1 \ldots \sigma_2^m [/tex]](https://latex.codecogs.com/png.latex? \sigma_2^1 \ldots \sigma_2^m )
. Тогда
![\Sigma_1 \vDash \sigma_1^1 \land \ldots \land \sigma_1^n [tex] \Sigma_1 \vDash \sigma_1^1 \land \ldots \land \sigma_1^n [/tex]](https://latex.codecogs.com/png.latex? \Sigma_1 \vDash \sigma_1^1 \land \ldots \land \sigma_1^n )
и
![\Sigma_2 \vDash \sigma_2^1 \land \ldots \land \sigma_2^m [tex] \Sigma_2 \vDash \sigma_2^1 \land \ldots \land \sigma_2^m [/tex]](https://latex.codecogs.com/png.latex? \Sigma_2 \vDash \sigma_2^1 \land \ldots \land \sigma_2^m )
. Тогда по условию будет выполнима формула
![\sigma_1^1 \land \ldots \land \sigma_1^n \land \sigma_2^1 \land \ldots \land \sigma_2^m [tex] \sigma_1^1 \land \ldots \land \sigma_1^n \land \sigma_2^1 \land \ldots \land \sigma_2^m[/tex]](https://latex.codecogs.com/png.latex? \sigma_1^1 \land \ldots \land \sigma_1^n \land \sigma_2^1 \land \ldots \land \sigma_2^m)
. А из выполнимости конъюнкции формул следует совместная выполнимость всех её членов.
Как по-русски/английски называются множества, в которых для любых
![a, b \in \Sigma [tex]a, b \in \Sigma[/tex]](https://latex.codecogs.com/png.latex?a, b \in \Sigma)
верно либо
![a \vDash b [tex]a \vDash b[/tex]](https://latex.codecogs.com/png.latex?a \vDash b)
либо
![b \vDash a [tex]b \vDash a[/tex]](https://latex.codecogs.com/png.latex?b \vDash a)
?
У нас это названо что-то типа «линейное множество».
Пытаюсь найти свойства и примеры, сам затрудняюсь придумать хоть одно.
Цитата: RawonaM от апреля 3, 2011, 10:30
Как по-русски/английски называются множества, в которых для любых
верно либо
либо
?
У нас это названо что-то типа «линейное множество».
Пытаюсь найти свойства и примеры, сам затрудняюсь придумать хоть одно.
По-английски такие множества можно называть
linerly preorder set или
linearly quasiordered set, по-русски аналогично
линейно предупорядоченное множество или
линейно квазиупорядоченное множество.
Но я, правда, не очень понимаю, где они могут понадобиться в логике.
Цитата: Gerbarius от апреля 3, 2011, 14:25
Но я, правда, не очень понимаю, где они могут понадобиться в логике.
Вот у меня такое задание: найти такое линейно квазиупорядоченное бесконечное множество
![\Sigma [tex]\Sigma[/tex]](https://latex.codecogs.com/png.latex?\Sigma)
, в котором для любого
![a [tex]a[/tex]](https://latex.codecogs.com/png.latex?a)
есть
![b \in \Sigma [tex]b \in \Sigma[/tex]](https://latex.codecogs.com/png.latex?b \in \Sigma)
, так что
![\alpha \nvDash \beta [tex]\alpha \nvDash \beta[/tex]](https://latex.codecogs.com/png.latex?\alpha \nvDash \beta)
.
Вы можете порекомендовать какие-нибудь книги на эту тему (исчисления высказываний то есть и математическая логика вообще)? У меня недостаточно материалов, все выходные промучился в поисках в интеренете непонятно чего. Нашел кое что, но нельзя сказать, что этим можно ограничиться.
Цитата: RawonaM от апреля 3, 2011, 14:38
Вы можете порекомендовать какие-нибудь книги на эту тему (исчисления высказываний то есть и математическая логика вообще)? У меня недостаточно материалов, все выходные промучился в поисках в интеренете непонятно чего. Нашел кое что, но нельзя сказать, что этим можно ограничиться.
:what: А вам преподаватели никаких книг не посоветовали разве?
Цитата: RawonaM от апреля 3, 2011, 14:38
Цитата: Gerbarius от апреля 3, 2011, 14:25
Но я, правда, не очень понимаю, где они могут понадобиться в логике.
Вот у меня такое задание: найти такое линейно квазиупорядоченное бесконечное множество
, в котором для любого
есть
, так что
.
Тут можно взять множество формул
![F_1 = p_1, F_2 = p_1 \land p_2, F_3 = p_1 \land p_2 \land p_3, \ldots , F_n = p_1 \land \ldots \land p_n, \ldots [tex]F_1 = p_1, F_2 = p_1 \land p_2, F_3 = p_1 \land p_2 \land p_3, \ldots , F_n = p_1 \land \ldots \land p_n, \ldots [/tex]](https://latex.codecogs.com/png.latex?F_1 = p_1, F_2 = p_1 \land p_2, F_3 = p_1 \land p_2 \land p_3, \ldots , F_n = p_1 \land \ldots \land p_n, \ldots )
. С одной стороны для любых двух формул
![F_\imath [tex] F_\imath[/tex]](https://latex.codecogs.com/png.latex? F_\imath)
и
![F_\jmath [tex] F_\jmath [/tex]](https://latex.codecogs.com/png.latex? F_\jmath )
выполняется либо
![F_\imath \vDash F_\jmath [tex] F_\imath \vDash F_\jmath [/tex]](https://latex.codecogs.com/png.latex? F_\imath \vDash F_\jmath )
, если
![\imath \ge \jmath [tex] \imath \ge \jmath [/tex]](https://latex.codecogs.com/png.latex? \imath \ge \jmath )
, либо
![F_\jmath \vDash F_\imath [tex] F_\jmath \vDash F_\imath [/tex]](https://latex.codecogs.com/png.latex? F_\jmath \vDash F_\imath )
в противном случае. А с другой стороны для любой
![F_\imath [tex] F_\imath [/tex]](https://latex.codecogs.com/png.latex? F_\imath )
верно
![F_\imath \nvDash F\jmath [tex] F_\imath \nvDash F\jmath [/tex]](https://latex.codecogs.com/png.latex? F_\imath \nvDash F\jmath )
, если
![\jmath > \imath [tex] \jmath > \imath [/tex]](https://latex.codecogs.com/png.latex? \jmath > \imath )
.
Цитата: Gerbarius от апреля 3, 2011, 16:18
Тут можно взять множество формул
. С одной стороны для любых двух формул
и
выполняется либо
, если
, либо
в противном случае. А с другой стороны для любой
верно
, если
.
Ага, точно. Спасибо :)
Цитата: Gerbarius от апреля 3, 2011, 16:18
:what: А вам преподаватели никаких книг не посоветовали разве?
Да есть парочку, но какое-то все оно не очень.
Скажите, множество выполнимо если и только если оно непротиворечиво, правильно?
Цитата: RawonaM от апреля 3, 2011, 20:23
Скажите, множество выполнимо если и только если оно непротиворечиво, правильно?
Угу, но это нетривиальный результат (в одну из сторон).
Цитата: RawonaM от апреля 3, 2011, 20:23
Да есть парочку, но какое-то все оно не очень.
Кстати, на вашем сайте со списком англо-ивритских терминов я обнаружил и список литературы. Я так понимаю, основной учебник по курсу - это Enderton, "A mathematical introduction to logic"? Чем эта книга вам не понравилась? Я её щас мельком глянул, и у меня сложилось впечатление, что все ваши задания заточены именно под неё. А изложение там не слишком традиционное, то есть другие книги именно под ваш курс не очень подойдут скорее всего.
Цитата: Gerbarius от апреля 3, 2011, 21:22
Я так понимаю, основной учебник по курсу - это Enderton, "A mathematical introduction to logic"?
Нет, я такого и даже не знаю. А где вы его скачали? Или в гуглбуксе полистали?
Мне кажется этот учебник используется для более продвинутого курса логики, который для математиков.
Цитата: Gerbarius от апреля 3, 2011, 21:22
Я её щас мельком глянул, и у меня сложилось впечатление, что все ваши задания заточены именно под неё.
Было бы неплохо, надо мне найти эту книгу.
У нас учебник доморощенный в этом университете, как большинство учебников наших курсов. Это курс логики для информатиков, он преподается только третий семестр, в нем куча недочетов и вообще координатор курса какая-то очень не внушающая доверия персона, хотя и весьма приятна как человек.
Удивляет, что практически весь материал приходится добывать из внешних источников и задания вообще ни разу не соответствуют тому, чему они должны. Написано что это задание по третьей главе книги, вдруг оказывается, что в ней используются определения данные в четвертой и пятой главе и т.п.
Вот эту книгу нам рекомендовали как внеклассное чтение: http://estudy.openu.ac.il/opus/static/binaries/editor/bank60\ספר במדעי המחשב_0.pdf (http://estudy.openu.ac.il/opus/static/binaries/editor/bank60%5c%d7%a1%d7%a4%d7%a8%20%d7%91%d7%9e%d7%93%d7%a2%d7%99%20%d7%94%d7%9e%d7%97%d7%a9%d7%91_0.pdf)
Ну и еще вот эта:
Mathematical Logic for Computer Science (http://books.google.co.uk/books?id=hzWlEy1qqR8C&dq=logic+for+computer+science+textbooks&printsec=frontcover&source=in&hl=en&ei=JjhgS7HeKtuN_AbwzeCKDA&sa=X&oi=book_result&ct=result&resnum=11&ved=0CDgQ6AEwCg#v=onepage&q=logic%20for%20computer%20science%20textbooks&f=false)
Но эту похоже только за то, что это диссертация одного израильского ученого. Хотя может и стоящее, не знаю.
Цитата: Gerbarius от апреля 3, 2011, 21:22
Кстати, на вашем сайте со списком англо-ивритских терминов я обнаружил и список литературы.
Что-то я не нахожу.
Список литературы я нашёл здесь http://www.cs.huji.ac.il/~udiboker/logic/
Ну я и подумал, что это и есть рекомендуемая литература. :what:
Учебник Эндертона (и не только) можно взять здесь
http://lib.homelinux.org/_djvu/_catalog/index_192.html
Логин и пароль зашифрованы в кракозябрах.
Сейчас кракозябры гласят:
Великая русская река (из 5 букв)? (и имя, и пароль, латиницей, маленькими буквами). Просьба имя и пароль нигде не публиковать, иначе придется чаше менять.
Не дает зайти :(
А я вчера зашёл... :what:
И сейчас заходится?
А-а, латиницей надо. А я кириллицей пытался зайти.
;D Недоспал?
А списочек, конечно, мощщный!
Да это же целый клад!
За оста[b]́[/b]льну жизнь перечитаешь?
Цитата: Bhudh от апреля 4, 2011, 12:05
За оста́льну жизнь перечитаешь?
Ну все перечитывать смысла нет, потому что там 90% оверлапа. Вот знать бы, что из этого эффективнее всего для моих нужд...
Цитата: Gerbarius от апреля 3, 2011, 01:54
если для любых
и
при условии
и
следует выполнимость формулы
, то формулы множества
совместно выполнимы
А в обратную сторону это же тоже верно, правильно? Вроде как тривиально.
Вот такой еще вопрос:
эквивалентны ли два утверждения
1)
![\alpha [tex]\alpha[/tex]](https://latex.codecogs.com/png.latex?\alpha)
тавтология
2) для любых
![\gamma, \beta [tex]\gamma, \beta[/tex]](https://latex.codecogs.com/png.latex?\gamma, \beta)
верно следующее:
![\{\gamma\} \vDash \beta \Leftrightarrow \{\gamma, \alpha\} \vDash \beta [tex]\{\gamma\} \vDash \beta \Leftrightarrow \{\gamma, \alpha\} \vDash \beta[/tex]](https://latex.codecogs.com/png.latex?\{\gamma\} \vDash \beta \Leftrightarrow \{\gamma, \alpha\} \vDash \beta)
Мне кажется что да, но я не уверен почему-то. Вроде как доказал :)
Должно быть
![\vDash \alpha \Leftrightarrow \forall \Sigma : \Sigma \vDash \alpha [tex]\vDash \alpha \Leftrightarrow \forall \Sigma : \Sigma \vDash \alpha[/tex]](https://latex.codecogs.com/png.latex?\vDash \alpha \Leftrightarrow \forall \Sigma : \Sigma \vDash \alpha)
, вроде бы. Из этого ваше докажется двумя подстановками вместо сигмы.
Цитата: arseniiv от апреля 4, 2011, 19:55
Из этого ваше докажется двумя подстановками вместо сигмы.
Не понял.
Вот еще интересная штука:
По индукции определено множество I высказываний, в которых есть только импликация и атом p.
Нужно доказать, что I линейно предупорядоченное.
Я думаю, что тут для начала нужно по структурной индукции показать, что
![\alpha \in I [tex]\alpha \in I[/tex]](https://latex.codecogs.com/png.latex?\alpha \in I)
может быть F только в той модели, где p=F.
Ибо каждое высказывание в форме
![a \rightarrow b [tex]a \rightarrow b[/tex]](https://latex.codecogs.com/png.latex?a \rightarrow b)
в итоге сводится к p и b может быть F только если p=F. В общем, рекурсия. Как это правильно сформулировать, не знаю.
А уж из того, что есть модель для всего множества и того, что у него всего один атом, прямо истекает его линейность, т.к. есть у этого множества есть всего две модели по значению атома.
Цитата: RawonaM от апреля 4, 2011, 19:19
Цитата: Gerbarius от апреля 3, 2011, 01:54
если для любых
и
при условии
и
следует выполнимость формулы
, то формулы множества
совместно выполнимы
А в обратную сторону это же тоже верно, правильно? Вроде как тривиально.
Да, верно. Если
![\Sigma_1 \vDash a [tex] \Sigma_1 \vDash a [/tex]](https://latex.codecogs.com/png.latex? \Sigma_1 \vDash a )
и
![\Sigma_2 \vDash b [tex] \Sigma_2 \vDash b [/tex]](https://latex.codecogs.com/png.latex? \Sigma_2 \vDash b )
, то чтобы выполнить формулу
![a \land b [tex] a \land b [/tex]](https://latex.codecogs.com/png.latex? a \land b )
, достаточно тем атомам из неё, которые встречаются в формулах из
![\Sigma_1 \cup \Sigma_2 [tex] \Sigma_1 \cup \Sigma_2 [/tex]](https://latex.codecogs.com/png.latex? \Sigma_1 \cup \Sigma_2 )
приписать те значения, которые выполняют
![\Sigma_1 \cup \Sigma_2 [tex] \Sigma_1 \cup \Sigma_2 [/tex]](https://latex.codecogs.com/png.latex? \Sigma_1 \cup \Sigma_2 )
, а остальным атомам можно приписать произвольные значения.
Цитата: RawonaM от апреля 4, 2011, 19:19
Вот такой еще вопрос:
эквивалентны ли два утверждения
1)
тавтология
2) для любых
верно следующее: ![\{\gamma\} \vDash \beta \Leftrightarrow \{\gamma, \alpha\} \vDash \beta [tex]\{\gamma\} \vDash \beta \Leftrightarrow \{\gamma, \alpha\} \vDash \beta[/tex]](https://latex.codecogs.com/png.latex?\{\gamma\} \vDash \beta \Leftrightarrow \{\gamma, \alpha\} \vDash \beta)
Мне кажется что да, но я не уверен почему-то. Вроде как доказал :)
Да. А если доказали, то откуда неуверенность? :)
На самом деле здесь условие
![\{\gamma\} \vDash \beta \Leftrightarrow \{\gamma, \alpha\} \vDash \beta [tex]\{\gamma\} \vDash \beta \Leftrightarrow \{\gamma, \alpha\} \vDash \beta[/tex]](https://latex.codecogs.com/png.latex?\{\gamma\} \vDash \beta \Leftrightarrow \{\gamma, \alpha\} \vDash \beta)
можно заменить на
![\{\gamma, \alpha\} \vDash \beta \rightarrow \{\gamma\} \vDash \beta [tex]\{\gamma, \alpha\} \vDash \beta \rightarrow \{\gamma\} \vDash \beta[/tex]](https://latex.codecogs.com/png.latex?\{\gamma, \alpha\} \vDash \beta \rightarrow \{\gamma\} \vDash \beta)
, так как
![\{\gamma\} \vDash \beta \rightarrow \{\gamma, \alpha\} \vDash \beta [tex]\{\gamma\} \vDash \beta \rightarrow \{\gamma, \alpha\} \vDash \beta[/tex]](https://latex.codecogs.com/png.latex?\{\gamma\} \vDash \beta \rightarrow \{\gamma, \alpha\} \vDash \beta)
выполняется всегда.
Цитата: Gerbarius от апреля 4, 2011, 20:29
Да. А если доказали, то откуда неуверенность? :)
Из-за другой логики, точнее из теории вероятности :) Есть задание «доказать или опровернгуть», в нем два пункта. Если оба пункта нужно доказывать или оба пункта нужно опровергать, то всегда есть подозрение, что закралась ошибка. Ну что же, выходит, что в этот раз оба пункта были верны :)
Цитата: RawonaM от апреля 4, 2011, 20:14
Вот еще интересная штука:
По индукции определено множество I высказываний, в которых есть только импликация и атом p.
Нужно доказать, что I линейно предупорядоченное.
Я думаю, что тут для начала нужно по структурной индукции показать, что
может быть F только в той модели, где p=F.
Ибо каждое высказывание в форме
в итоге сводится к p и b может быть F только если p=F. В общем, рекурсия. Как это правильно сформулировать, не знаю.
А уж из того, что есть модель для всего множества и того, что у него всего один атом, прямо истекает его линейность, т.к. есть у этого множества есть всего две модели по значению атома.
Здесь потенциально возможны четыре распределения истинностных значений для каждой формулы. И если бы нашлись две формулы, одна из которых принимает значение T при p=T и F при p=F, а другая в точности противоположные значения, то ни одна из них не следовала бы из другой. То есть фактически нужно показать, что таких двух формул нет (остальные случаи "линейности" не мешают).
На самом деле любая формула в I является либо тавтологией, либо эквивалентна p, то есть принимает T при p=T и F при p=F. Это как раз легко доказывается структурной индукцией (или натуральной по "глубине" построения формулы). Можно, кстати, доказывать и то свойство, которое вы предложили, оно тоже подойдёт.
Чтобы структурной индукцией доказать, что все формулы из I обладают нужным свойством, нужно лишь показать, что p обладает этим свойством, и что
![\alpha \rightarrow \beta [tex] \alpha \rightarrow \beta [/tex]](https://latex.codecogs.com/png.latex? \alpha \rightarrow \beta )
обладает нужным свойством, коль скоро им обладают как
![\alpha [tex] \alpha [/tex]](https://latex.codecogs.com/png.latex? \alpha )
, так и
![\beta [tex] \beta [/tex]](https://latex.codecogs.com/png.latex? \beta )
. А больше ничего и не требуется.
Благодарю за помощь!
Запечатал задание, почти неделю над ним сидел.
Таки курс не из простых.
Теперь надо за до конца недели сделать теорвер и дискретку, потом браться за следующее задание по логике...
Бесит нелогичная логика. :(
Вот смотрите: на форуме курса сказали, что
![\nvDash \beta [tex]\nvDash \beta[/tex]](https://latex.codecogs.com/png.latex?\nvDash \beta)
означает "нет такой модели, которая выполняет бету", а
![\alpha \nvDash \beta [tex]\alpha \nvDash \beta[/tex]](https://latex.codecogs.com/png.latex?\alpha \nvDash \beta)
означает «есть такая модель, которая выполняет альфу и не выполняет бету». Нелогично, по-моему.
Впрочем, может и логично...
Цитата: RawonaM от апреля 15, 2011, 20:13
на форуме курса сказали, что
означает "нет такой модели, которая выполняет бету"
Не ну это ваще беспредел...
В другом месте на форуме сказали, что это означает, что «не все модели выполняют бету»...
Что более логично, но ведь путаница страшная, иди знай, что имелось в виду.
Цитата: RawonaM от апреля 15, 2011, 21:33
В другом месте на форуме сказали, что это означает, что «не все модели выполняют бету»...
Скорее всего, именно это (у нас была алгебра высказываний, но алгебры предикатов не было, хотя было исчисление предикатов, как и высказываний). А для первого употребления надо писать тогда
![\vDash \neg \beta [tex]\vDash \neg \beta[/tex]](https://latex.codecogs.com/png.latex?\vDash \neg \beta)
.
Цитата: arseniiv от апреля 15, 2011, 21:43
Скорее всего, именно это
Мне тоже так кажется. Тем более, что задание тут получается неправильное, если с тем вариантом.
Вроде контрадикцию как-то по другому обозначают.
Мне нужно доказать, что система выводов, включаяющая две аксиомы из системы Гильберта и единственное правило вывода Modus Ponens обладает свойством дедукции.
Мне кажется я доказал это с помощью только одной аксиомы, поэтому терзают сомнения.
Также спрашивается, если добавить к MP еще какое-то правило, то изменится ли свойство. Вот это я не врубаюсь. Система должна быть sound. Вроде кажется, что ничего не изменится, но вопрос подозрителен.
Цитата: RawonaM от апреля 19, 2011, 14:51
включаяющая две аксиомы из системы Гильберта
Какие именно?
Эти что ли?
![A \rightarrow (B \rightarrow A) [tex] A \rightarrow (B \rightarrow A) [/tex]](https://latex.codecogs.com/png.latex? A \rightarrow (B \rightarrow A) )
![(A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C)) [tex] (A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C)) [/tex]](https://latex.codecogs.com/png.latex? (A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C)) )
Или другие какие-то?
Цитата: RawonaM от апреля 19, 2011, 14:51
обладает свойством дедукции
Под этим имеется в виду справедливость дедукционной теоремы?
То есть, что из
![\Gamma, A \vdash B [tex]\Gamma, A \vdash B [/tex]](https://latex.codecogs.com/png.latex?\Gamma, A \vdash B )
следует
![\Gamma \vdash A \rightarrow B [tex] \Gamma \vdash A \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A \rightarrow B )
?
Цитата: Gerbarius от апреля 19, 2011, 16:23
Цитироватьвключаяющая две аксиомы из системы Гильберта
Какие именно?
Эти что ли?
![A \rightarrow (B \rightarrow A) [tex] A \rightarrow (B \rightarrow A) [/tex]](https://latex.codecogs.com/png.latex? A \rightarrow (B \rightarrow A) )
![(A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C)) [tex] (A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C)) [/tex]](https://latex.codecogs.com/png.latex? (A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C)) )
Или другие какие-то?
Да, эти.
Цитата: Gerbarius от апреля 19, 2011, 16:23
Цитироватьобладает свойством дедукции
Под этим имеется в виду справедливость дедукционной теоремы?
То есть, что из
следует
?
Точнее, что это следует в обе стороны.
Я уже пересмотрел и нашел у себя ошибку. Смотрю в доказательство дедукционной теоремы, что-то оно слишком длинное, вряд ли имеется в виду, что мне нужно его просто переписать. В общем-то, в одну сторону я доказал в пару строчек (
![\Gamma \vdash A \rightarrow B [tex] \Gamma \vdash A \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A \rightarrow B )
следует
![\Gamma, A \vdash B [tex]\Gamma, A \vdash B [/tex]](https://latex.codecogs.com/png.latex?\Gamma, A \vdash B )
).
Вторую сторону затрудняюсь. Написано примечание, что для начала рекомендуется доказать
![\vdash A \rightarrow A [tex]\vdash A \rightarrow A [/tex]](https://latex.codecogs.com/png.latex?\vdash A \rightarrow A )
. Доказал, но не пойму куда его притулять.
То есть, я догадываюсь, что из этих трех аксиом и В мне нужно написать доказательство
![\Gamma \vdash A \rightarrow B [tex] \Gamma \vdash A \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A \rightarrow B )
. Однако не затрудняюсь и не вижу просвета.
Вообще не понимаю, как подходить в общем случае к этим доказательтвам, получается их просто нужно подбирать методом тыка пока не совпадется что-нибудь нужное.
Тут нужно рассмотреть все случаи, как может быть получен вывод
![\Gamma, A \vdash B [tex] \Gamma, A \vdash B [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash B )
.
Их всего три.
1)
![B [tex] B [/tex]](https://latex.codecogs.com/png.latex? B )
входит в
![\Gamma [tex] \Gamma [/tex]](https://latex.codecogs.com/png.latex? \Gamma )
или
![B [tex] B [/tex]](https://latex.codecogs.com/png.latex? B )
- аксиома. Тогда по определению
![\Gamma \vdash B [tex] \Gamma \vdash B [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash B )
. Отсюда и из
![\Gamma \vdash B \rightarrow (A \rightarrow B) [tex] \Gamma \vdash B \rightarrow (A \rightarrow B) [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash B \rightarrow (A \rightarrow B) )
получаем
![\Gamma \vdash A \rightarrow B [tex] \Gamma \vdash A \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A \rightarrow B )
.
2)
![B [tex] B [/tex]](https://latex.codecogs.com/png.latex? B )
- это
![A [tex] A [/tex]](https://latex.codecogs.com/png.latex? A )
. В этом случае как раз и нужно
![\vdash A \rightarrow A [tex] \vdash A \rightarrow A [/tex]](https://latex.codecogs.com/png.latex? \vdash A \rightarrow A )
, а точнее,
что
![\Gamma \vdash A \rightarrow A [tex] \Gamma \vdash A \rightarrow A [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A \rightarrow A )
, что впрочем следует из первого.
Этот случай к предыдущему, если что, не сводится, так как
![A [tex] A [/tex]](https://latex.codecogs.com/png.latex? A )
может не быть аксиомой и может
не входить в
![\Gamma [tex] \Gamma [/tex]](https://latex.codecogs.com/png.latex? \Gamma )
, а потому
![\Gamma \vdash B [tex] \Gamma \vdash B [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash B )
может быть неверно (а именно на этом основаны рассуждения в предыдущем случае).
3)
![\Gamma, A \vdash B [tex] \Gamma, A \vdash B [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash B )
получено по правилу modus ponens из
![\Gamma, A \vdash P \rightarrow B [tex] \Gamma, A \vdash P \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash P \rightarrow B )
и
![\Gamma, A \vdash P [tex] \Gamma, A \vdash P [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash P )
. Допускаем, что мы можем построить выводы
![\Gamma \vdash A \rightarrow (P \rightarrow B) [tex] \Gamma \vdash A \rightarrow (P \rightarrow B) [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A \rightarrow (P \rightarrow B) )
и
![\Gamma \vdash A \rightarrow P [tex] \Gamma \vdash A \rightarrow P [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A \rightarrow P )
. Тогда вывод
![\Gamma \vdash A \rightarrow B [tex] \Gamma \vdash A \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A \rightarrow B )
строится при помощи этих выводов и аксиомы
![(A \rightarrow (P \rightarrow B)) \rightarrow ((A \rightarrow P) \rightarrow (A \rightarrow B)) [tex] (A \rightarrow (P \rightarrow B)) \rightarrow ((A \rightarrow P) \rightarrow (A \rightarrow B)) [/tex]](https://latex.codecogs.com/png.latex? (A \rightarrow (P \rightarrow B)) \rightarrow ((A \rightarrow P) \rightarrow (A \rightarrow B)) )
.
Отсюда дедукционная теорема следует в силу обычной математической индукции по длине вывода (или в силу дедуктивной индукции, если она вам знакома).
Можно привести и вполне конкретный алгоритм построения нужного вывода.
![\Gamma, A \vdash B [tex] \Gamma, A \vdash B [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash B )
означает, что у нас есть вполне конкретный вывод, который можно, например, представить в виде дерева (в данном случае бинарного). В узлах дерева мы записываем утверждения вида
![\Gamma, A \vdash C [tex] \Gamma, A \vdash C [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash C )
. Утверждения во внутренних узлах получаются из утверждений в дочерних узлах по правилу modes ponens, а утверждения в конечных узлах получаются как в случаях 1 и 2. Затем мы просто последовательно преобразуем это дерево в другое, где поддеревья с корневым узлом
![\Gamma, A \vdash C [tex] \Gamma, A \vdash C [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash C )
преобразуются в поддеревья с корневым узлом
![\Gamma \vdash A \rightarrow C [tex] \Gamma \vdash A \rightarrow C [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A \rightarrow C )
. Сначала преобразуются поддеревья, состоящие из конечных узлов, по алгоритму, рассмотренному в случаях 1 и 2, а затем и все остальные, для которых уже преобразованы оба дочерних поддерева, по алгоритму, описанному в случае 3, пока не будет преобразовано всё дерево.
Цитата: RawonaM от апреля 19, 2011, 14:51
Также спрашивается, если добавить к MP еще какое-то правило, то изменится ли свойство. Вот это я не врубаюсь. Система должна быть sound. Вроде кажется, что ничего не изменится, но вопрос подозрителен.
Аксиомы можно добавлять какие угодно. То рассуждение, которое я привёл выше, не изменится никак. Но если добавить новое правило вывода, то появляется ещё один случай, который нужно рассматривать отдельно. В этом случае справедливость дедукционной теоремы может быть нарушена. Например, если добавить правило подстановки, что из
![\Gamma \vdash P [tex] \Gamma \vdash P [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash P )
можно вывести
![\Gamma \vdash P^* [tex] \Gamma \vdash P^* [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash P^* )
, где
![P^* [tex] P^* [/tex]](https://latex.codecogs.com/png.latex? P^* )
получено из
![P [tex] P [/tex]](https://latex.codecogs.com/png.latex? P )
подстановкой некоторой формулы вместо некоторого атома (во всех вхождениях этого атома в
![P [tex] P [/tex]](https://latex.codecogs.com/png.latex? P )
), то дедукционая теорема уже не будет верна. Например, из
![p \vdash p [tex] p \vdash p [/tex]](https://latex.codecogs.com/png.latex? p \vdash p )
подстановкой можно получить
![p \vdash q [tex] p \vdash q [/tex]](https://latex.codecogs.com/png.latex? p \vdash q )
, но
![\vdash p \rightarrow q [tex] \vdash p \rightarrow q [/tex]](https://latex.codecogs.com/png.latex? \vdash p \rightarrow q )
получить нельзя. Хотя дедукционная теорема может и в таких случаях всё же оказаться справедливой, если наложить соответствующие ограничения на выводы, с которыми мы имеем дело.
Цитата: Gerbarius от апреля 19, 2011, 19:34
Отсюда дедукционная теорема следует в силу обычной математической индукции по длине вывода
У вас получилось так компактно это написать...
Наши почему-то всегда пишут доказательство по индукции в полной форме, т.е. базис индукции (доказательтво в одну строку) и шаг индукции (доказательтво в n строк), хотя по сути они в основном повторяют друг друга.
Спасибо, вроде теперь стало понятно, а то я совсем не в ту сторону копал.
Цитата: Gerbarius от апреля 19, 2011, 19:34
Допускаем, что мы можем построить выводы
и
.
Как же вы это можете допустить? Вы же это доказываете...
Или я чего-то недопонял.
Цитата: RawonaM от апреля 21, 2011, 21:33
Цитата: Gerbarius от апреля 19, 2011, 19:34
Допускаем, что мы можем построить выводы
и
.
Как же вы это можете допустить? Вы же это доказываете...
Или я чего-то недопонял.
Доказывается-то всё индукцией, а это фактически индуктивное предположение, которое используется при обосновании шага индукции. Правда, в случае обычной математической индукции всё выглядит несколько сложнее по форме. То есть в этом случае нужно сначала явно рассмотреть базис индукции, который включает в себя случаи 1 и 2 (только они возможны для выводов длины 1), а затем, допустив, что дедукционная теорема справедлива для всех выводов длины
![\le n [tex] \le n [/tex]](https://latex.codecogs.com/png.latex? \le n )
, показать что она справедлива и для выводов длины
![n + 1 [tex] n + 1 [/tex]](https://latex.codecogs.com/png.latex? n + 1 )
(шаг индукции). Обоснование шага индукции включает в себя повторное рассмотрение случаев 1 и 2 и случай 3. При рассмотрении случая 3 длина каждого из выводов
![\Gamma, A \vdash P \rightarrow B [tex] \Gamma, A \vdash P \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash P \rightarrow B )
и
![\Gamma, A \vdash P [tex] \Gamma, A \vdash P [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash P )
будет меньше длины рассматриваемого вывода
![\Gamma, A \vdash B [tex] \Gamma, A \vdash B [/tex]](https://latex.codecogs.com/png.latex? \Gamma, A \vdash B )
, а значит, к ним применимо индуктивное предположение. То есть фразу
Цитата: Gerbarius от апреля 19, 2011, 19:34
Допускаем, что мы можем построить выводы
и
.
нужно понимать в том смысле, что эти выводы можно построить в силу индуктивного предположения.
Но в случае дедуктивной индукции всё несколько проще, хотя и не принципиально. Попробую рассказать про неё. Допустим, у нас есть класс высказываний, (в нашем случае это выражения вида
![\Gamma \vdash A [tex] \Gamma \vdash A [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A )
), и из них выделен класс "теорем" следующим образом:
1) Выделен класс "аксиом", то есть высказываний, которые "автоматически" считаются теоремами. В нашем случае это выражения вида
![\Gamma \vdash A [tex] \Gamma \vdash A [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A )
, где
![A [tex] A [/tex]](https://latex.codecogs.com/png.latex? A )
либо входит в
![\Gamma [tex] \Gamma [/tex]](https://latex.codecogs.com/png.latex? \Gamma )
, либо является аксиомой в рассматриваемой нами системе гильбертовского типа.
2) Выделен ряд правил вывода, каждое из которых из заданного числа посылок-"теорем" строит заключение-"теорему". В нашем случае есть единственное правило
![\frac{\Gamma \vdash A, \Gamma \vdash A \rightarrow B}{\Gamma \vdash B} [tex] \frac{\Gamma \vdash A, \Gamma \vdash A \rightarrow B}{\Gamma \vdash B} [/tex]](https://latex.codecogs.com/png.latex? \frac{\Gamma \vdash A, \Gamma \vdash A \rightarrow B}{\Gamma \vdash B} )
.
3) "Теоремы" - это те и только те высказывания, которые могут быть "выведены" из "аксиом" при помощи конечного числа применений правил вывода.
Тогда, чтобы доказать, что некоторое свойство справделиво для всех "теорем", достаточно доказать, что
оно справедливо для всех "аксиом", и что для всякого правила вывода его заключение обладает этим свойством, коль скоро им обладают его посылки. В этом и состоит принцип дедуктивной индукции.
В нашем случае применение дедуктивной индукции просто сводится к рассмотрению случаев 1, 2, 3 буквально в том виде, как я написал. В этом случае
Цитата: Gerbarius от апреля 19, 2011, 19:34
Допускаем, что мы можем построить выводы
и
.
это просто (индуктивное) предположение, что доказываемое свойство справедливо для посылок применения правила modus ponens.
Цитата: RawonaM от апреля 22, 2011, 09:27
Цитата: Gerbarius от апреля 19, 2011, 19:34
Например, если добавить правило подстановки, что из
можно вывести
, где
получено из
подстановкой некоторой формулы вместо некоторого атома (во всех вхождениях этого атома в
), то дедукционая теорема уже не будет верна. Например, из
подстановкой можно получить
, но
получить нельзя.
P* ведь должен следовать логически из P, да? Иначе же система не будет sound.
Например
вроде сойдет.
А точно из этого нельзя получить
?
Это же тавтология...
Я забыл добавить, что мой контрпример относится к обычному классическому исчислению высказываний, но надеюсь, это не вызвало недоразумений.
![P^* [tex] P^* [/tex]](https://latex.codecogs.com/png.latex? P^* )
не обязано ни из чего следовать. Оно просто получается из
![P [tex] P [/tex]](https://latex.codecogs.com/png.latex? P )
некоторым формальным преобразованием. Нас ведь спрашивают, что будет, если добавить ещё одно правило, но в выборе этого правила нас никто не ограничивает, а потому для построения контрпримера можно взять любое удобное правило. Опять-таки для контрпримера достаточно указать ровно один случай, когда дедукционная теорема не выполняется. Конечно,
![\vdash p \rightarrow (p \lor p) [tex] \vdash p \rightarrow (p \lor p) [/tex]](https://latex.codecogs.com/png.latex? \vdash p \rightarrow (p \lor p) )
можно получить, но
![\vdash p \rightarrow q [tex] \vdash p \rightarrow q [/tex]](https://latex.codecogs.com/png.latex? \vdash p \rightarrow q )
уже нет, и одного этого только достаточно, чтобы заключить, что дедукционая теорема при добавлении к классическому исчислению высказываний правила подстановки справедлива не будет. Замечу, кстати, что под невыводимостью
![\vdash p \rightarrow q [tex] \vdash p \rightarrow q [/tex]](https://latex.codecogs.com/png.latex? \vdash p \rightarrow q )
, конечно, имеется в виду невыводимость в системе, к которой добавлено правило подстановки. Строго говоря, это не совсем очевидно, но можно показать, что в классическом исчислении высказываний с единственным правилом modus ponens, из
![\vdash P [tex] \vdash P [/tex]](https://latex.codecogs.com/png.latex? \vdash P )
следует
![\vdash P^* [tex] \vdash P^* [/tex]](https://latex.codecogs.com/png.latex? \vdash P^* )
, а потому добавление правила подстановки не увеличивает множество доказуемых формул. Тогда
![\vdash p \rightarrow q [tex] \vdash p \rightarrow q [/tex]](https://latex.codecogs.com/png.latex? \vdash p \rightarrow q )
невыводимо (даже с правилом подстановки) просто потому, что это не тавтология.
В задании требуется чтобы система была sound, т.е. чтобы все, что можно вывести, следовало логически.
Цитата: RawonaM от апреля 22, 2011, 17:14
В задании требуется чтобы система была sound, т.е. чтобы все, что можно вывести, следовало логически.
Сначала нужно понять, что именно под этим подразумевается. Вы, видимо, это условие понимаете в том смысле, что и после добавления нового правила
![\Gamma \vdash A [tex] \Gamma \vdash A [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A )
должно выводиться только в том случае, если
![A [tex] A [/tex]](https://latex.codecogs.com/png.latex? A )
логически следует из
![\Gamma [tex] \Gamma [/tex]](https://latex.codecogs.com/png.latex? \Gamma )
. Но мне почему-то кажется, что здесь требуется всего лишь, чтобы в рассматриваемой системе гильбертовского типа после добавления нового правила
![\vdash A [tex] \vdash A [/tex]](https://latex.codecogs.com/png.latex? \vdash A )
выводилось только тогда, когда
![A [tex] A [/tex]](https://latex.codecogs.com/png.latex? A )
тавтология, но никаких особых ограничений на выводы типа
![\Gamma \vdash A [tex] \Gamma \vdash A [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A )
нет. Но вам это лучше уточнить.
Я так понимаю, что у нас по умолчанию имеется в виду strong soundness (все, что выводится из чего-то, должно логически следовать), в противопоставление weak soundness (это когда из ничего только тавтологии выводятся, других ограничений нет).
Тогда можно рассмотреть систему, в которой есть только две схемы аксиом (и никаких других аксиом кроме как определяемых этими схемами нет)
![A \rightarrow (B \rightarrow A) [tex] A \rightarrow (B \rightarrow A) [/tex]](https://latex.codecogs.com/png.latex? A \rightarrow (B \rightarrow A) )
![(A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C)) [tex] (A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C)) [/tex]](https://latex.codecogs.com/png.latex? (A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C)) )
и правило modus ponens.
Если к ней добавить правило
![\frac{p}{p \lor p} [tex] \frac{p}{p \lor p} [/tex]](https://latex.codecogs.com/png.latex? \frac{p}{p \lor p} )
, где
![p [tex] p [/tex]](https://latex.codecogs.com/png.latex? p )
- какой-то конкретный атом, то, как нетрудно заметить,
![\Gamma \vdash A [tex] \Gamma \vdash A [/tex]](https://latex.codecogs.com/png.latex? \Gamma \vdash A )
может иметь место только в том случае, когда
![A [tex] A [/tex]](https://latex.codecogs.com/png.latex? A )
следует из
![\Gamma [tex] \Gamma [/tex]](https://latex.codecogs.com/png.latex? \Gamma )
. Тогда при помощи этого правила можно построить вывод
![p \vdash p \lor p [tex] p \vdash p \lor p [/tex]](https://latex.codecogs.com/png.latex? p \vdash p \lor p )
, но вывод
![\vdash p \rightarrow p \lor p [tex] \vdash p \rightarrow p \lor p [/tex]](https://latex.codecogs.com/png.latex? \vdash p \rightarrow p \lor p )
построить уже нельзя.
Почему-то пропустил ваше последнее сообщение.
Цитата: Gerbarius от апреля 22, 2011, 22:08
Тогда при помощи этого правила можно построить вывод
, но вывод
построить уже нельзя.
А точно нельзя? Я выше как раз этим вопросом задавался. Как доказывается, что вывести нельзя?
Цитата: RawonaM от апреля 30, 2011, 10:21
Почему-то пропустил ваше последнее сообщение.
Цитата: Gerbarius от апреля 22, 2011, 22:08
Тогда при помощи этого правила можно построить вывод
, но вывод
построить уже нельзя.
А точно нельзя? Я выше как раз этим вопросом задавался. Как доказывается, что вывести нельзя?
Здесь это можно сделать достаточно просто при помощи "кривых" таблиц истинности. То есть для всех логических связок кроме дизъюнкции берём обычные таблицы истинности, а для дизъюнкции берём "кривую" таблицу, которая содержит одни
![F [tex] F [/tex]](https://latex.codecogs.com/png.latex? F )
. То есть у нас будет
![T \lor T = F, T \lor F = F, F \lor T = F, F \lor F = F [tex] T \lor T = F, T \lor F = F, F \lor T = F, F \lor F = F [/tex]](https://latex.codecogs.com/png.latex? T \lor T = F, T \lor F = F, F \lor T = F, F \lor F = F )
. Относительно этих таблиц определяем понятие тавтологии точно так же как и раньше (только таблицы сейчас немного другие). Назовём их условно "кривыми" тавтологиями. После чего доказываем, что в нашей системе выводимы только "кривые" тавтологии, например, дедуктивной индукцией. В этом случае нужно показать, что все аксиомы, задаваемые нашими двумя схемами, являются "кривыми" тавтологиями. И что заключения наших двух правил вывода являются "кривыми" тавтологиями, если таковыми являются их посылки. Для аксиом и правила modus ponens это показывается точно также как и для обычных тавтологий, так как в этом случае используются только свойства импликации, таблицу для которой мы не меняли. А в случае правила
![\frac{p}{p \lor p} [tex] \frac{p}{p \lor p} [/tex]](https://latex.codecogs.com/png.latex? \frac{p}{p \lor p} )
утверждение верно тривиально, так как
![p [tex] p [/tex]](https://latex.codecogs.com/png.latex? p )
не является "кривой" тавтологией. Кстати, можно заметить, что это правило в нашей системе вообще неприменимо, так как
![\vdash p [tex] \vdash p [/tex]](https://latex.codecogs.com/png.latex? \vdash p )
вывести нельзя. А дальше остаётся только показать, что
![p \rightarrow p \lor p [tex] p \rightarrow p \lor p [/tex]](https://latex.codecogs.com/png.latex? p \rightarrow p \lor p )
не является "кривой" тавтологией, так как в случае
![p = T [tex] p = T [/tex]](https://latex.codecogs.com/png.latex? p = T )
значение формулы будет
![F [tex] F [/tex]](https://latex.codecogs.com/png.latex? F )
в соответствии с "кривыми" таблицами. В частности, здесь используется, что
![T \lor T = F [tex] T \lor T = F [/tex]](https://latex.codecogs.com/png.latex? T \lor T = F )
. Отсюда и следует невыводимость
![\vdash p \rightarrow p \lor p [tex] \vdash p \rightarrow p \lor p [/tex]](https://latex.codecogs.com/png.latex? \vdash p \rightarrow p \lor p )
в нашей системе.
Я что-то торможу. Вы ходите доказать полноту системы в этой же самой системе? Если она позволяет диагональный метод, то см. Гёделя. Или в общих словах? В общих словах можно "доказать" что угодно. Очевидно, свойства системы доказывать надо в надсистеме.
Цитата: Alone Coder от апреля 30, 2011, 12:04
Я что-то торможу. Вы ходите доказать полноту системы в этой же самой системе? Если она позволяет диагональный метод, то см. Гёделя. Или в общих словах? В общих словах можно "доказать" что угодно. Очевидно, свойства системы доказывать надо в надсистеме.
Во-первых, с чего вы взяли, что я доказываю свойства системы (в данном случае некоторой разновидности исчисления высказываний) в самой системе? Напротив, все мои рассуждения определённо лежат вне этой самой системы. А в самой системе я могу только установить выводимость некоторых конкретных формул, построив конкретные доказательства.
Во-вторых, с чего вы взяли, что я доказываю какую-то полноту? Я же не доказываю, что в системе доказываются все формулы определённого вида. Я доказываю, что в системе доказываются только формулы определённого вида, то есть не полноту, а непротиворечивость относительно некоторой интерпретации.
В-третьих, причём тут Гёдель? ;)
Цитата: Alone Coder от апреля 30, 2011, 12:04
Очевидно, свойства системы доказывать надо в надсистеме.
Это, кстати, не так. Доказательства многих свойств достаточно богатых систем можно формализовать в самих этих системах. В качестве примера можно привести ту же теорему Гёделя, которого вы упоминули всуе, о неполноте формальной арифметики. Доказательство этой теоремы прекрасно формализуется в той самой формальной арифметике, о которой идёт речь в теореме. Другое дело, что такой фокус проходит не всегда и не со всеми свойствами, но тем не менее.
Теорема Гёделя доказывается только в самоописывающей арифметике.
Цитата: Alone Coder от апреля 30, 2011, 14:25
Теорема Гёделя доказывается только в самоописывающей арифметике.
А вы не путаете формальную систему, о которой идёт речь в теореме, и те формальные системы, в которых её доказательство может быть формализовано? От последних, строго говоря, совсем не требуется, чтобы они были арифметическими или "самоописывающими". Последнее, конечно, скорее всего будет в какой-то степени иметь место, но это совершенно несущественно. И что, собственно, вы хотели сказать своим замечанием?
Цитата: Gerbarius от апреля 30, 2011, 15:11
Цитата: Alone Coder от Сегодня в 15:25ЦитироватьТеорема Гёделя доказывается только в самоописывающей арифметике.
А вы не путаете формальную систему, о которой идёт речь в теореме, и те формальные системы, в которых её доказательство может быть формализовано?
Нет, не путаю. Доказательство теоремы Гёделя построено именно на этом свойстве системы.
Цитата: Gerbarius от апреля 30, 2011, 15:11
И что, собственно, вы хотели сказать своим замечанием?
То, что строя доказательство внутри самой системы, вы рискуете прийти к парадоксальным выводам типа теоремы Гёделя или теоремы Лёба. Не надо так делать.
Цитата: Alone Coder от апреля 30, 2011, 15:23
Нет, не путаю. Доказательство теоремы Гёделя построено именно на этом свойстве системы.
Да, но это свойство системы,
о которой идёт речь в теореме. Само же доказательство, если вообще есть желание его формализовать, может быть формализовано в любой подходящей для этого системе независимо от того, насколько эта система позволяет описывать саму себя.
Цитата: Alone Coder от апреля 30, 2011, 15:23
То, что строя доказательство внутри самой системы, вы рискуете прийти к парадоксальным выводам типа теоремы Гёделя или теоремы Лёба. Не надо так делать.
А что в этом такого страшного? И разве кажущаяся вам парадоксальность, к примеру, теоремы Гёделя делает этот результат менее объективным? Или неполноту формальной арифметики (при условии её непротиворечивости - а в этом, я думаю, ни у кого нет никаких сомнений) вы не считаете объективным фактом?
Вы сильно всерьезн Алона Цодера не воспринимайте, он всем известен своими чудными идеями. ;D
Цитата: Gerbarius от апреля 30, 2011, 15:55
Цитата: Alone Coder от Сегодня в 16:23ЦитироватьНет, не путаю. Доказательство теоремы Гёделя построено именно на этом свойстве системы.
Да, но это свойство системы, о которой идёт речь в теореме. Само же доказательство, если вообще есть желание его формализовать, может быть формализовано в любой подходящей для этого системе независимо от того, насколько эта система позволяет описывать саму себя.
Не может. Вы не представляете, насколько разными бывают алгебры логики.
Цитата: Gerbarius от апреля 30, 2011, 15:55
Или неполноту формальной арифметики (при условии её непротиворечивости - а в этом, я думаю, ни у кого нет никаких сомнений) вы не считаете объективным фактом?
Теорема Гёделя работает только для той формальной арифметики, для которой может быть доказана. Если вы этого не понимаете, то говорить дальше не о чем.
Цитата: RawonaM от апреля 30, 2011, 16:30
Вы сильно всерьезн Алона Цодера не воспринимайте, он всем известен своими чудными идеями.
Удалите пост.
Цитата: Alone Coder от апреля 30, 2011, 22:14
Не может. Вы не представляете, насколько разными бывают алгебры логики.
Во-первых, отлично представляю.
Во-вторых, вам слова
любая подходящая о чём-нибудь говорят? Или мне нужно разъяснить значение слова, выделенного жирным? ;)
Цитата: Alone Coder от апреля 30, 2011, 22:18
Теорема Гёделя работает только для той формальной арифметики, для которой может быть доказана. Если вы этого не понимаете, то говорить дальше не о чем.
И? Разумеется, теорема Гёделя доказывается для вполне конкретных формальных систем (или классов систем). Считайте, что в нашей дискуссии "формальной арифметикой" я называю одну из таких формальных арифметических систем. Если захотите, я вам даже полный набор аксиом выпишу. Надеюсь, теперь вы можете продолжить свою мысль. ;)
И поясните же, зачем вы привели эту цитату из википедии? О том, что непротиворечивость определённых систем нельзя доказать средствами, формализуемыми в этих системах, мне прекрасно известно. Но если вы заметили, я этого нигде не опровергал и, более того, даже не касался этого вопроса.
Кстати, раз уж речь зашла о второй теореме Гёделя, то вам, противнику доказывания свойств системы в ней же самой, стоит вспомнить, как именно она доказывается. ;)
![\forall x \forall y (\forall z(\exists t(tz=x) \leftrightarrow \exists t (tz=y)) \rightarrow (x=y)) [tex]\forall x \forall y (\forall z(\exists t(tz=x) \leftrightarrow \exists t (tz=y)) \rightarrow (x=y))[/tex]](https://latex.codecogs.com/png.latex?\forall x \forall y (\forall z(\exists t(tz=x) \leftrightarrow \exists t (tz=y)) \rightarrow (x=y)))
Что это за свойство натуральных чисел зашифровано? Гадал-гадал, не врубился. А может и нет описания проще чем просто словами эту формулу пересказать...
Цитата: RawonaM от мая 7, 2011, 21:53
![\forall x \forall y (\forall z(\exists t(tz=x) \leftrightarrow \exists t (tz=y)) \rightarrow (x=y)) [tex]\forall x \forall y (\forall z(\exists t(tz=x) \leftrightarrow \exists t (tz=y)) \rightarrow (x=y))[/tex]](https://latex.codecogs.com/png.latex?\forall x \forall y (\forall z(\exists t(tz=x) \leftrightarrow \exists t (tz=y)) \rightarrow (x=y)))
Что это за свойство натуральных чисел зашифровано? Гадал-гадал, не врубился. А может и нет описания проще чем просто словами эту формулу пересказать...
Если два числа имеют одни и те же делители, то они равны.
Кажется так.
Цитата: Gerbarius от мая 7, 2011, 22:10
Если два числа имеют одни и те же делители, то они равны.
Кажется так.
Так там же два разных квантификатора на делитель.
Для каждого числа можно получить это число путем деления х на что-то и у на что-то (можно другое), либо чтобы из обоих нельзя было получить делением, тогда это х=у.
Цитата: RawonaM от мая 7, 2011, 22:16
Так там же два разных квантификатора на делитель.
Для каждого числа можно получить это число путем деления х на что-то и у на что-то (можно другое), либо чтобы из обоих нельзя было получить делением, тогда это х=у.
Так
![\exists t (tz = x) [tex] \exists t (tz = x) [/tex]](https://latex.codecogs.com/png.latex? \exists t (tz = x) )
означает же просто, что
![x [tex] x [/tex]](https://latex.codecogs.com/png.latex? x )
делится на
![z [tex] z [/tex]](https://latex.codecogs.com/png.latex? z )
, а
![\exists t (tz = y) [tex] \exists t (tz = y) [/tex]](https://latex.codecogs.com/png.latex? \exists t (tz = y) )
, что
![y [tex] y [/tex]](https://latex.codecogs.com/png.latex? y )
делится на
![z [tex] z [/tex]](https://latex.codecogs.com/png.latex? z )
. Замените всю формулу на
![\forall x \forall y (\forall z(z|x \leftrightarrow z|y) \rightarrow (x=y)) [tex]\forall x \forall y (\forall z(z|x \leftrightarrow z|y) \rightarrow (x=y))[/tex]](https://latex.codecogs.com/png.latex?\forall x \forall y (\forall z(z|x \leftrightarrow z|y) \rightarrow (x=y)))
и посмотрите, что она значит.
Действительно! Спасибо :)
Я тут затрудняюсь с одним совершенно банальным заданием, может сможете мне помочь.
Есть формула p в логике предикатов, в которой одна свободная переменная х.
Обозначим p(y)=sup(p,x,y), это значит все свободные х заменить на у.
Доказать, что если р не содержит у, то
![\forall y p(y) \equiv \forall x p [tex]\forall y p(y) \equiv \forall x p[/tex]](https://latex.codecogs.com/png.latex?\forall y p(y) \equiv \forall x p)
.
Не понимаю, что тут и как доказывать, это ведь совершенно очевидно.
Цитата: RawonaM от мая 10, 2011, 12:36
Не понимаю, что тут и как доказывать, это ведь совершенно очевидно.
Также как и прочие очевидности - явно использовать соответствующие определения.
Не понимаю, когда можно использовать универсальное обобщение?
Например дано
![\exists x P(x) [tex]\exists x P(x)[/tex]](https://latex.codecogs.com/png.latex?\exists x P(x))
.
По какой причине нельзя построить доказательство:
![<br />\exists x P(x)\\<br />P(c)\\<br />\forall y P(y) [tex]<br />\exists x P(x)\\<br />P(c)\\<br />\forall y P(y)[/tex]](https://latex.codecogs.com/png.latex?<br />\exists x P(x)\\<br />P(c)\\<br />\forall y P(y))
?
Цитата: RawonaM от мая 23, 2011, 16:36
Не понимаю, когда можно использовать универсальное обобщение?
Например дано
.
По какой причине нельзя построить доказательство:
![<br />\exists x P(x)\\<br />P(c)\\<br />\forall y P(y) [tex]<br />\exists x P(x)\\<br />P(c)\\<br />\forall y P(y)[/tex]](https://latex.codecogs.com/png.latex?<br />\exists x P(x)\\<br />P(c)\\<br />\forall y P(y))
?
То есть вы хотите из
![\exists x P(x) [tex] \exists x P(x) [/tex]](https://latex.codecogs.com/png.latex? \exists x P(x) )
сначала вывести
![P(c) [tex] P(c) [/tex]](https://latex.codecogs.com/png.latex? P(c) )
, а затем из
![P(c) [tex] P(c) [/tex]](https://latex.codecogs.com/png.latex? P(c) )
вывести
![\forall y P(y) [tex] \forall y P(y) [/tex]](https://latex.codecogs.com/png.latex? \forall y P(y) )
? :??? Но, вообще говоря, из
![\exists x P(x) [tex] \exists x P(x) [/tex]](https://latex.codecogs.com/png.latex? \exists x P(x) )
никакое
![P(c) [tex] P(c) [/tex]](https://latex.codecogs.com/png.latex? P(c) )
не выводится.
Вот, Q7 тут меня смущает:
(wiki/en) Hilbert-style_deductive_system#Logical_axioms (http://en.wikipedia.org/wiki/Hilbert-style_deductive_system#Logical_axioms)
http://www.cs.odu.edu/~toida/nerzic/content/logic/pred_logic/inference/exist_inst.html
http://www.cs.odu.edu/~toida/nerzic/content/logic/pred_logic/inference/univ_gen.html
Цитата: RawonaM от мая 24, 2011, 12:57
http://www.cs.odu.edu/~toida/nerzic/content/logic/pred_logic/inference/exist_inst.html
http://www.cs.odu.edu/~toida/nerzic/content/logic/pred_logic/inference/univ_gen.html
Прокомментирую ваши ссылки. Тут дело вот в чём. В первом случае
![c [tex] c [/tex]](https://latex.codecogs.com/png.latex? c )
в
![P(c) [tex] P(c) [/tex]](https://latex.codecogs.com/png.latex? P(c) )
обозначает некоторый конкретный, хотя, возможно, и неизвестный элемент (но ни в коем случае не произвольный). Во втором случае
![c [tex] c [/tex]](https://latex.codecogs.com/png.latex? c )
в
![P(c) [tex] P(c) [/tex]](https://latex.codecogs.com/png.latex? P(c) )
обозначает произвольный элемент из заданной области. То есть у символа
![c [tex] c [/tex]](https://latex.codecogs.com/png.latex? c )
в этих двух случаях просто разные значения, которые смешивать нельзя, иначе получится какой-то софизм. То есть здесь фактически используются два рода переменных, но используемый символизм не очень хорошо позволяет их различать.
Но это не совсем традиционный подход. В более традиционных логических системах используются только переменные, обозначающие произвольные элементы. В них нет аналога вашего правила
![\frac{\exists x P(x)}{P(c)} [tex] \frac{\exists x P(x)}{P(c)} [/tex]](https://latex.codecogs.com/png.latex? \frac{\exists x P(x)}{P(c)} )
.
Цитата: RawonaM от мая 24, 2011, 12:53
Вот, Q7 тут меня смущает:
(wiki/en) Hilbert-style_deductive_system#Logical_axioms (http://en.wikipedia.org/wiki/Hilbert-style_deductive_system#Logical_axioms)
И правильно, что смущает. При помощи этой чудесной схемы аксиом можно вывести общее утверждение из любого частного случая. Было бы любопытно узнать, где авторы википедийной статьи её откопали. ;D
Цитата: Gerbarius от мая 24, 2011, 15:42
ЦитироватьВот, Q7 тут меня смущает:
(wiki/en) Hilbert-style_deductive_system#Logical_axioms
И правильно, что смущает. При помощи этой чудесной схемы аксиом можно вывести общее утверждение из любого частного случая. Было бы любопытно узнать, где авторы википедийной статьи её откопали. ;D
Они ее откопали из учебников. Я тут надыбал в библиотеке четыре разных учебника и пытаюсь построить общую картину, ибо каждый из них нарочно что-то скрывает.
Такое правило вывода не википедисты придумали, нас тоже этому учат. К каждому правилу поставляется определенное ограничение.
Цитата: Gerbarius от мая 24, 2011, 15:42
Но это не совсем традиционный подход. В более традиционных логических системах используются только переменные, обозначающие произвольные элементы.
У нас обозначают буквами a,b,c конкретные элементы, а x,y,z — переменные.
Цитата: Gerbarius от мая 24, 2011, 15:42
Прокомментирую ваши ссылки. Тут дело вот в чём. В первом случае
в
обозначает некоторый конкретный, хотя, возможно, и неизвестный элемент (но ни в коем случае не произвольный). Во втором случае
в
обозначает произвольный элемент из заданной области. То есть у символа
в этих двух случаях просто разные значения, которые смешивать нельзя, иначе получится какой-то софизм. То есть здесь фактически используются два рода переменных, но используемый символизм не очень хорошо позволяет их различать.
Нет, я-то интуитивно это понимаю, тут как раз непонятна формальная сторона. Что формально мне мешает такой бредовый вывод сделать?
Надо видимо понять, что означают ограничения эти, при которых нельзя делать такие выводы.
Цитата: RawonaM от мая 24, 2011, 15:54
Такое правило вывода не википедисты придумали, нас тоже этому учат. К каждому правилу поставляется определенное ограничение.
Понимаете в чём дело. В исчислении предикатов действительно справеделиво
![\varphi \vdash \forall x \varphi [tex] \varphi \vdash \forall x \varphi [/tex]](https://latex.codecogs.com/png.latex? \varphi \vdash \forall x \varphi )
, но
![\vdash \varphi \rightarrow \forall x \varphi [tex] \vdash \varphi \rightarrow \forall x \varphi [/tex]](https://latex.codecogs.com/png.latex? \vdash \varphi \rightarrow \forall x \varphi )
уже в общем случае неверно. А википедисты, кажется, утверждают второе, а не первое.
Цитата: RawonaM от мая 24, 2011, 15:54
Что формально мне мешает такой бредовый вывод сделать?
Скажем так, у нас есть два рода формальных переменных, одни из которых обозначают конкретные объекты (a, b, c), а другие произвольные (x, y, z). Однако
![c [tex] c [/tex]](https://latex.codecogs.com/png.latex? c )
в формулировках правил к ним не относится. Это на самом деле содержательня переменная, которая обозначает некоторый формальный объект. И лучше её было бы обозначить как-нибудь по-другому, чтобы не путать её с формальными переменными, например, греческой буквой
![\alpha [tex] \alpha [/tex]](https://latex.codecogs.com/png.latex? \alpha )
. Тогда правила станут выглядеть как
![\frac{\exists x P(x)}{P(\alpha)} [tex] \frac{\exists x P(x)}{P(\alpha)} [/tex]](https://latex.codecogs.com/png.latex? \frac{\exists x P(x)}{P(\alpha)} )
и
![\frac{P(\alpha)}{\forall x P(x)} [tex] \frac{P(\alpha)}{\forall x P(x)} [/tex]](https://latex.codecogs.com/png.latex? \frac{P(\alpha)}{\forall x P(x)} )
с теми ограничениями, что в первом случае
![\alpha [tex] \alpha [/tex]](https://latex.codecogs.com/png.latex? \alpha )
обозначает формальную переменную, обозначающую конкретный объект, а во втором случае - формальную переменную, обозначающую произвольный объект. При применении каждого правила вместо содержательной переменной
![\alpha [tex] \alpha [/tex]](https://latex.codecogs.com/png.latex? \alpha )
подставляется соответствующий формальный объект. Из
![\exists x P(x) [tex] \exists x P(x) [/tex]](https://latex.codecogs.com/png.latex? \exists x P(x) )
при помощи первого правила можно вывести (при заданном ограничении)
![P(a), P(b), P(c) [tex] P(a), P(b), P(c) [/tex]](https://latex.codecogs.com/png.latex? P(a), P(b), P(c) )
, но не
![P(x), P(y), P(z) [tex] P(x), P(y), P(z) [/tex]](https://latex.codecogs.com/png.latex? P(x), P(y), P(z) )
. А при помощи второго правила можно получить
![\forall x P(x) [tex] \forall x P(x) [/tex]](https://latex.codecogs.com/png.latex? \forall x P(x) )
из
![P(x), P(y), P(z) [tex] P(x), P(y), P(z) [/tex]](https://latex.codecogs.com/png.latex? P(x), P(y), P(z) )
, но не из
![P(a), P(b), P(c) [tex] P(a), P(b), P(c) [/tex]](https://latex.codecogs.com/png.latex? P(a), P(b), P(c) )
. И бредовый вывод не получается. Единственная, на мой взгляд, здесь трудность, что формализм описан недостаточно ясно, что и приводит к недоразумениям.
Цитата: Gerbarius от мая 24, 2011, 17:03
В исчислении предикатов действительно справеделиво
, но
уже в общем случае неверно.
А это не следует по дедукции?
Цитата: RawonaM от мая 25, 2011, 10:10
Цитата: Gerbarius от мая 24, 2011, 17:03
В исчислении предикатов действительно справеделиво
, но
уже в общем случае неверно.
А это не следует по дедукции?
Не следует. В исчислении предикатов к правилу modus ponens добавляются дополнительные правила вывода, и дедукционная становится справедливой лишь с некоторыми ограничениями. То есть в исчислении предикатов уже не всякий вывод
![A \vdash B [tex] A \vdash B [/tex]](https://latex.codecogs.com/png.latex? A \vdash B )
можно преобразовать в вывод
![\vdash A \rightarrow B [tex] \vdash A \rightarrow B [/tex]](https://latex.codecogs.com/png.latex? \vdash A \rightarrow B )
. Замечу, кстати, что и в чистом исчислении высказываний наличие или отсутствие ограничений на дедукционную теорему существенно зависит от формулировки исчисления.
А что касается формул вида
![\varphi \rightarrow \forall x \varphi [tex] \varphi \rightarrow \forall x \varphi [/tex]](https://latex.codecogs.com/png.latex? \varphi \rightarrow \forall x \varphi )
, то они в общем случае выражают свойства довольно абсурдные с интуитивной точки зрения. Возьмём, например, предикат
![P(x) [tex] P(x) [/tex]](https://latex.codecogs.com/png.latex? P(x) )
, который означает, что
![x [tex] x [/tex]](https://latex.codecogs.com/png.latex? x )
- простое число. Если допустить
![P(x) \rightarrow \forall x P(x) [tex] P(x) \rightarrow \forall x P(x) [/tex]](https://latex.codecogs.com/png.latex? P(x) \rightarrow \forall x P(x) )
, то отсюда можно получить
![P(2) \rightarrow \forall x P(x) [tex] P(2) \rightarrow \forall x P(x) [/tex]](https://latex.codecogs.com/png.latex? P(2) \rightarrow \forall x P(x) )
. Но поскольку
![P(2) [tex] P(2) [/tex]](https://latex.codecogs.com/png.latex? P(2) )
верно, то можно немедленно получить
![\forall x P(x) [tex] \forall x P(x) [/tex]](https://latex.codecogs.com/png.latex? \forall x P(x) )
, то есть что все числа простые. И было бы странно, если бы исчисление предикатов позволяло строить такие выводы. На самом деле, конечно, формулы вида
![\varphi \rightarrow \forall x \varphi [tex] \varphi \rightarrow \forall x \varphi [/tex]](https://latex.codecogs.com/png.latex? \varphi \rightarrow \forall x \varphi )
в исчислении предикатов в общем случае недоказуемы, и это можно строго доказать.
Цитата: Gerbarius от мая 25, 2011, 12:08
Если допустить
, то отсюда можно получить ![P(2) \rightarrow \forall x P(x) [tex] P(2) \rightarrow \forall x P(x) [/tex]](https://latex.codecogs.com/png.latex? P(2) \rightarrow \forall x P(x) )
Я просто не понимаю, как вот это
![\varphi \vdash \forall x \varphi [tex] \varphi \vdash \forall x \varphi [/tex]](https://latex.codecogs.com/png.latex? \varphi \vdash \forall x \varphi )
допустимо? Чем это отличается от
![P(2) \vdash \forall x P(x) [tex] P(2) \vdash \forall x P(x) [/tex]](https://latex.codecogs.com/png.latex? P(2) \vdash \forall x P(x) )
? Т.е. по-моему нужно очень конкретно оговаривать, чтобы сделать такой вывод.
В том то и дело, что из
![P(x) \vdash \forall x P(x) [tex] P(x) \vdash \forall x P(x) [/tex]](https://latex.codecogs.com/png.latex? P(x) \vdash \forall x P(x) )
нельзя получить
![P(2) \vdash \forall x P(x) [tex] P(2) \vdash \forall x P(x) [/tex]](https://latex.codecogs.com/png.latex? P(2) \vdash \forall x P(x) )
.
Как можно в логике предикатов понять, следует одно высказывание из другого или нет? В логике высказываний можно было построить таблицу истинности и все было видно, тут же ничего не поймешь. Сижу целый день подбираю методом тыка. :(
Из группы утверждений K не обязательно же следует A или ~A, правильно?
В общем, запутался вообще. У меня есть:
![1) \forall x \lnot F(x, s(x)) [tex]1) \forall x \lnot F(x, s(x))[/tex]](https://latex.codecogs.com/png.latex?1) \forall x \lnot F(x, s(x)))
![2) \forall x \forall y (F(y,x) \rightarrow \lnot F(s(y), x)) [tex]2) \forall x \forall y (F(y,x) \rightarrow \lnot F(s(y), x))[/tex]](https://latex.codecogs.com/png.latex?2) \forall x \forall y (F(y,x) \rightarrow \lnot F(s(y), x)))
![3) \forall x (P(x) \lor \exists y (P(y) \land F(x, y))) [tex]3) \forall x (P(x) \lor \exists y (P(y) \land F(x, y)))[/tex]](https://latex.codecogs.com/png.latex?3) \forall x (P(x) \lor \exists y (P(y) \land F(x, y))))
![4) \forall x \exists y \forall z (L(z,x) \rightarrow F(y, z)) [tex]4) \forall x \exists y \forall z (L(z,x) \rightarrow F(y, z))[/tex]](https://latex.codecogs.com/png.latex?4) \forall x \exists y \forall z (L(z,x) \rightarrow F(y, z)))
Для каждого из следующих утверждений нужно сказать, следует ли из утверждений 1-4:
![5) \forall x \exists y (P(y) \land \lnot L(y, x)) [tex]5) \forall x \exists y (P(y) \land \lnot L(y, x))[/tex]](https://latex.codecogs.com/png.latex?5) \forall x \exists y (P(y) \land \lnot L(y, x)))
![6) \forall x \exists y (P(y) \land L(x, y)) [tex]6) \forall x \exists y (P(y) \land L(x, y))[/tex]](https://latex.codecogs.com/png.latex?6) \forall x \exists y (P(y) \land L(x, y)))
![7) \forall x (P(x) \lor \exists y (P(y) \land L(x, y))) [tex]7) \forall x (P(x) \lor \exists y (P(y) \land L(x, y)))[/tex]](https://latex.codecogs.com/png.latex?7) \forall x (P(x) \lor \exists y (P(y) \land L(x, y))))
Как к этому подходить?
Методом тыка нашел для 6 модель, которая показывает, что 6 не следует из 1-4.
Есть язык L={c, R} (c — константа, R — тринарное отношение). Формула p верна в некоей модели M. Почему у М обязательно есть минимальная модель?
Я так понимаю, что минимальная модель имеет область {c}, но все-таки неясно.
Что-то я не могу врубиться: если модель Гербанда доказывает, что определенное высказывание верно, то она ведь опирается на определенную модель. Как можно сделать вывод, что она логически верна? Замучился уже...
Робот замучился выводить выводы... Жєсть...
Но то, что табличку символов поправил — это хорошо.
У человека всё руки не доходили.
Только почему подчёркивание вернул? :what: