Я программист с автоматом, но не с логикой.
Я читал в газетах, что они очень тесно связаны. Детерминированные конечные автоматы (DFA), древовидные автоматы и автоматы видимого нажатия - все они связаны с монадической логикой второго порядка (MSO). Хотя, я понимаю, что автоматы и люди (в статьях) пытались объяснить мне отношение к MSO, они всегда берут сильный фон в логике и понимании MSO.
Когда я смотрю на книги и курсы по логике, они в основном работают только с логикой первого порядка, которая кажется довольно простой и состоит только из нескольких понятий: переменные, или, что не подразумевается, для всех, существует и т. Д.
Может кто-нибудь объяснить или указать мне на ресурс, который может объяснить:
- Что такое логика второго порядка в отличие от логики первого порядка?
- Что такое монадическая и не монадическая логика?
- Почему важно, чтобы логика второго порядка была монадической, чтобы ее можно было разрешить ИЛИ почему это неправильный вопрос?
- Почему монадическая логика второго порядка разрешима?
- Отношение хотя бы к ДФА?
Если это ресурс, было бы неплохо, если бы он предполагал, что я программист, а не логик. Это означает, что я хотел бы понять, как я реализовал бы это как код, потому что до тех пор математика кажется мне волшебством;)
Спасибо за любую помощь, которую вы можете оказать мне. Я был бы очень признателен.
источник
Ответы:
Монадическая логика второго порядка - это логика первого порядка плюс квантификация по множествам. Таким образом, помимо возможности сказать, что существует элемент домена с некоторым свойством ( ), вы также можете сказать, что существует набор элементов домена с некоторым свойством. Так, например, мы можем определить 3-окрашиваемость графов, сказав∃x…
На словах есть красный, зеленый и синий цвета, такие, что
Общая логика второго порядка допускает не только количественную оценку по множествам, но и по произвольным отношениям по области. Напомним, что отношение - это набор кортежей по области для некоторого k . Множества - это просто унарные отношения: k = 1, а 1- кортеж - это просто элемент области.К К к = 1 1
Честно говоря, я не помню проблем с разрешимостью. Ключевым моментом является то, что полная логика второго порядка позволяет количественно определить существующий линейный порядок области
(Я предполагаю, что если ваш домен бесконечен, вам, вероятно, нужно дополнительно указать, что линейный порядок дискретен и имеет минимальный элемент; тогда вы знаете, что у него есть начальный сегмент, который изоморфен натуральным числам, и это должно быть довольно.)
Прямо сейчас я не вспоминаю доказательство обратного (что все определяемое в MSO может быть распознано соответствующим автоматом). Если у меня будет время, я посмотрю это и опубликую эскиз.
источник