Яка саме логіка?


36

Можливо, вибачення за те, що я задав ще одне питання щодо передумов, але мене збентежили вихідні моменти. Я натрапив на різні терміни, такі як "Модальна логіка", "Темпоральна логіка", "Логіка першого порядку", "Логіка другого порядку" та "Логіка вищого порядку".

Що саме означає "Логіка" в цьому контексті? Як ми суворо визначаємо слово "Логіка"?

Переглянувши початкові сторінки декількох книг, я можу приблизно зробити висновок, що «Логіка - це спосіб вирішити, що випливає з того, що є важливим при розробці мов програмування, оскільки це диктує та полегшує проектування програм для автоматичного обґрунтування та розуміння програм. Я хочу щоб зрозуміти другий момент дещо детально.

Тепер переходимо до цих логік.

Чи всі ці логіки, "часова логіка", "модальна логіка", "логіка першого порядку", "логіка вищого порядку" незалежні одна від одної чи нам потрібно зрозуміти декілька цих логік, щоб зрозуміти кілька інших в цій групі? Якщо коротко, то які умови будуть для них? (Буде чудово, якщо я можу отримати пропозиції і щодо деяких матеріалів.)

PS: Дякую тонну за вашу доброту


17
Іронічно, що подібне запитання задасть хтось на ім'я Крипке . :-)
Девід Річербі

1
Треба сказати, що ваша реакція не дивна. Я був дуже здивований, коли зіткнувся з формальним визначенням "алгебри".
Дискретна ящірка

2
@Discretelizard "Алгебра", мабуть, ще більше дивує, оскільки це абсолютно не має нічого спільного з тією справою, яку вони називають алгеброю у середній школі.
Девід Річербі

@DavidRicherby Я теж робив, що "лінійна алгебра" - це лише алгебра.
Ніклас Розенкранц

1
@MartinRosenau Чому, на вашу думку, це може стати перешкодою для включення нечіткої логіки в загальне поняття логіки?
Дерек Елкінс

Відповіді:


39

Принципово логіка складається з двох речей.

  • Синтаксис - це сукупність правил, що визначають, що є, а не є формулою.
  • Семантика - це сукупність правил, що визначають, які формули є "справжніми", а які "помилковими". Для теоретика моделі це виражається шляхом прив’язки формул до математичних структур, у яких вони правдиві; для теоретика доказування , істинність відповідає доказливості з обраного набору аксіом з обраним набором правил (прийомів) доведення.

Різниця між різними логіками полягає в тому, що найпростіше, у виборі синтаксису та семантики. Більшість логік - це розширення логіки пропозицій або логіки першого порядку . У певному сенсі ви можете бачити ці розширення як "додавання більше функцій" до логіки. Наприклад, тимчасова логіка має справу з істинами, які можуть змінюватися з часом.

Взагалі ці особливості можна було б виразити більш простою логікою ціною необхідності писати довші формули. Наприклад, тимчасове поняття "  вірно з цього моменту на вічність" можна виразити способом першого порядку, додавши параметр часу до всіх ваших пропозицій і сказавши "За всі часи  t , якщо t  більше або дорівнює поточний час, тоді φ  вірно в момент часу  tφттφт ". У певному сенсі ви можете вважати ці логіки як додавання бібліотек до основної мови програмування, щоб ви могли говорити речі простіше.

Оскільки майже вся логіка заснована на логіці пропозицій та першого порядку, я рекомендую ознайомитися з ними першою.


2
Як комп'ютерний вчений я також вважав, що зв'язок з теорією типів дуже корисний для вивчення логіки. Типову систему можна розглядати як альтернативну презентацію еквівалентної логіки через листування Говарда-Керрі . Я рекомендую книгу Пірса для початку.
ph

1
Синтаксис в логіці більше, ніж просто формули, і більше семантики, ніж просто визначення істини.
Андрій Бауер

Формальна точка зору, яка приблизно відповідає думці, згаданій у цій відповіді, і намагається дати об'єднавче визначення (і була розроблена для вирішення питань інформатики) - це теорія інститутів .
Дерек Елкінс

Не так до речі, установи описані в роботі під назвою Що таке логіка?
Дерек Елкінс

@phs Wow ... Я не знаю, як я потрапив так далеко, але це перший раз, коли я коли-небудь замислювався над ідеєю, що Currying функція може бути посиланням на що-небудь, крім спецій.
Корт Аммон

21

Хоча такі галузі, як інформатика, математика та фізика, відносно добре організовані, логіка має хаотичну історію. Її організація справді заплутана, тому я думаю, що важливо прочитати деяку історію, щоб зрозуміти щільну структуру поля.

Шлях, який ви повинні вибрати, залежатиме від вашого фону та цілей .

Що таке логіка?

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

  2. Сучасна точка зору, каже, через знаменитий ізоморфізм Керрі-Говарда, що логіка є цілісною системою типів (докази - це програми, а типи - формули). Точніше: система умовиводів, що користується теоремою про відсічення, і теоремою Церкви-Россера / злиття, що означає, що основна система програмування буде вести себе добре.

  3. p,q

    • П,QП(х1,...,хн)Q(х1,...,хн)
    • У логіці другого порядку змінна для предикатів набуває виду функцій, що приймають їх. Вони поводяться як функції, що приймають за аргумент функції першого порядку. Наприклад, у нас може бути предикати і кількісна оцінка над предикатами.
    • Те ж міркування для третього порядку тощо. Логіки вищого порядку приймають будь-яке замовлення. Подумайте про Haskell та OCaml, які мають аргументи, що приймають функції функцій тощо.
  4. Взагалі немає єдиної думки щодо того, що таке логіка. Деякі філософи використовують системи, які не мають когерентної основної системи програмування. Власне, я б сказав, що кожне поле, що використовує логіку, має власну концепцію логіки. І більшість математиків, мабуть, не хвилює, що це за логіка.

Структура поля

Історія логіки занадто велика, тому я просто наведу структуру поля. Поле формальної логіки розділено на: філософське, математичне та обчислювальне використання. Формальна логіка починається в 19-20 столітті.

  • Спершу слід вивчити логіку пропозицій та логіку першого порядку . Вони є найбільш стандартними. Вони були створені для того, щоб дати формальний / математичний облік старій логіці часів Стародавньої Греції.

    • Теорія моделі (семантика), вивчення математичних структур з точки зору логіки
    • Теорія доказів (синтаксис) самостійно вивчає докази як математичний об’єкт.
  • Логіка другого порядку - це розширення логіки першого порядку, яка є розширенням логіки пропозицій. Це особливо цікаво тим, що арифметика «живе» у другому порядку (предикати на предикати з індукцією). Так само топологія живе у "третьому порядку" (предикати на множини, які можна розглядати як самі предикати).

  • Потім з'явився LEJ Brouwer, який розділив логіку на два:

    • АА¬А
    • Інтуїціоністична логіка - це певна логіка, що відкидає виключені середні та всі рівнозначні закони (з технічних та філософських причин я тут не поясню).
  • В іншому контексті філософи зацікавились формальною логікою і вважали, що вона може відповісти на філософські питання (аналітична філософія). Вони створили власні незалежні логічні системи (параконсистентна логіка, логіка відповідності та модальна логіка, така як деонтична логіка, часова логіка, епістемічна логіка, ...). Модальна логіка працює не з істиною, а з умовами, такими як можливість, необхідність, час, знання. Всі вони незалежні від вищезазначених логік.

  • λ

  • Комп'ютерні вчені хотіли перевірити і довести сутність систем в формальному форматі, і, здається, модальна логіка є актуальною. Сьогодні вони використовують тимчасову логіку та модальну логіку для міркування щодо систем (див. Формальні методи, перевірка моделі). Системи моделюються за допомогою теорії автоматів (наприклад) і перевіряються за допомогою логічних інструментів. Це призвело до лінійної часової логіки (LTL) та обчислювальної логіки дерев (CTL) .

  • У цій же мотивації комп'ютерні вчені хотіли перевірити обґрунтованість та довести властивості програм. Таким чином, ми винайшли Лорею Хоара для імперативних програм та загалом - Логіки розділення .

  • Вивчаючи ізоморфізм Керрі-Говарда, з'явилася нова логіка: лінійна логіка, яка обмежує структурні правила (ослаблення та стискання), що розглядаються як стирання та дублювання, що діють у доказів та програмах. Пояснюється потенційна нескінченність істини. Здається, що ця логіка є узагальненням класичної та інтуїтивістської логіки і дає абсолютно нове уявлення про Логіку, засноване на обчисленнях та процедурній парадигмі. Це здебільшого вивчається комп'ютерними вченими.

  • Лінійна логіка також походить від того, що ми називаємо Підструктурна логіка, що відкидає структурні правила Логіки. Відповідна логіка та Affine Logic - приклади таких систем.

Підсумок та вибір шляху

  • Будь-яка логіка може бути: логіка пропозицій, першого порядку, другого порядку, третього порядку, ..., вищого порядку (кожна подовжує попередній).

  • Ми можемо додати або видалити правила для створення варіантів існуючих систем:

    • Видалити виключені середини: логіка інтуїтивізму
    • Додати модальності: модальна логіка
    • Обмежте протиріччя та ослаблення: лінійна логіка
    • Усуньте скорочення: споріднена логіка
    • Видалити ослаблення: відповідна логіка
    • Поводьтеся з запереченням інакше: парасогласна логіка
  • Вивчіть пропозицію та логіку першого порядку спочатку та:

    • теорія моделі, другий порядок, вищий порядок, якщо ви зацікавлені в математиці
    • теорія доказів, інтуїтивістська логіка, другий порядок, лінійна логіка, якщо вас цікавить фундамент інформатики
    • модальна логіка, логіка підключення, логіка розділення, якщо ви зацікавлені в версії систем і програм
    • модальна логіка, некласична логіка взагалі, якщо вас цікавить філософія

Список літератури (книги)

Я особисто рекомендую по можливості змішувати посилання.

  • Математична логіка (Chiswell & Hodges) : дуже коротка і проста книга, для початку.
  • Перший курс з логіки (Гедман) : трохи схожий на вищезгаданий, але дайте більше деталей та врахуйте обчислюваність.
  • Довідник з практичної логіки та автоматизованого міркування (Гаррісон) : Якщо ви хочете зрозуміти, як деякі поняття, пов'язані з логікою, реалізуються на практиці. Більш орієнтовані на автоматизовані міркування.
  • Логіка в комп'ютерних науках (Huth & Ryan) : дуже чітка і орієнтована на інформатиків (перевірка програм і систем, логіка Хоара, практичне використання модальної логіки, часова логіка, перевірка моделі).
  • Вступ до теорії доказів (Buss) : вступ до теорії доказів. Це слід краще прочитати за деякою загальною логікою.

Список літератури (Вікіпедія)


Ну, це дуже ... всебічно, я б сказав. Дякуємо, що знайшли час, щоб написати це!
Дискретна ящірка

5
Це виглядає дуже вичерпно, але я справді не став би вносити Curry-Howard як друге, що ви говорите про логіку тому, хто тільки дізнається, що це таке. Якщо ви насправді не вивчаєте теорію типів, Керрі-Говард не є «сучасним визначенням логіки»; це просто щось, що деякі люди роблять з логікою.
Девід Річербі

2
@DavidRicherby Добре. Я розумію, але думаю, що Каррі-Говард є досить важливим для вчених-комп'ютерів (також тому, що ми перебуваємо в cs.stackexchange). Це насправді не сучасне визначення логіки, але я думаю, що це є для деяких вчених-комп'ютерів. Що насправді є логікою, все одно може бути суб'єктивним. Я знаю, що не завжди гарна ідея виставити оригінальний плакат так багато речей, але я не очікую повного розуміння, скоріше всебічної панорами гілок Логіки (трохи упереджених CS), які можуть виступати як посилання, щоб бути обізнаним про те, яка логіка існує і де вона використовується.
Борис Е.

У мене було враження, що логіка вищого порядку в Haskell буде операторами типу , а не функціями, які можуть приймати функції як вхідні дані.
Мартін

@martin Гм ... Це була просто проста аналогія, щоб зрозуміти ідею механізму, але це не слід сприймати занадто серйозно. Я хотів описати ідею "вищого порядку", а не саме "логіку вищого порядку" (з огляду на вихідний фон плаката).
Борис Е.

0

Усі ці логіки підпадають під Математичну логіку .

Математична логіка часто поділяється на галузі теорії множин, теорії моделей, теорії рекурсії та теорії доказів. Ці області поділяють основні результати щодо логіки, зокрема логіки першого порядку та визначеності. В інформатиці (особливо в Класифікації ACM) математична логіка включає додаткові теми, не детально описані в цій статті; див. Логіку в галузі інформатики для них.

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

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


4
Хм, я не впевнений, чи це тут дуже корисно. Ви б сказали, що посада Девіда робить вашу "заміненою"? Якщо ні, то чому? Спробуйте розширити це.
Дискретна ящірка

@OmG: Ви можете порекомендувати список матеріалів, з яких слід вивчитись?
Шелдон Крипке
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.