Калькулятор математической логики: Математическая логика · oнлайн с подробным объяснением

Калькулятор логических выражений

Программа предназначена для получения таблиц истинности логических функций с числом переменных от одной до пяти. Логической (булевой) функцией n переменных y = f(x1, x2, …, xn) называется такая функция, у которой все переменные и сама функция могут принимать только два значения: 0 и 1.

A B C D

0 1

· + ¬

⊕ ⇒ ⇔

↓ |

( )

Решить!

Шпаргалка по работе с калькулятором.

Переменные, которые могут принимать только два значения 0 и 1 называются логическими переменными (или просто переменными). Заметим, что логическая переменная х может подразумевать под числом 0 некоторое высказывание, которое ложно, и под числом 1 высказывание, которое истинно.

Из определения логической функции следует, что функция переменных – это отображение Bn в B, которое можно задать непосредственно таблицей, называемой таблицей истинности данной функции.

Основные функции логики – это функции двух переменных z = f(x,y).

Число этих функций равно 24 = 16. Перенумеруем и расположим их в естественном порядке.

Рассмотрим более подробно эти функции. Две из них f0 = 0 и f15 = 1 являются константами. Функции f3f5f10 и f12 являются по существу функциями одной переменной.

Наиболее важные функции двух переменных имеют специальные названия и обозначения.

1) f1 – конъюнкция (функция И)
Заметим, что конъюнкция – это фактически обычное умножение (нулей и единиц). Эту функцию обозначают x&y;

2) f7 – дизъюнкция (функция или). Обозначается V.

3) f13 – импликация (следование). Обозначается ->
Это очень важная функция, особенно в логике. Ее можно рассматривать следующим образом: если х = 0 (т. е. х “ложно”), то из этого факта можно вывести и “ложь”, и “истину” (и это будет правильно), если у = 1 (т. е. у “истинно”), то истина выводится и из “лжи” и из “истины”, и это тоже правильно. Только вывод “из истины ложь” является неверным. Заметим, что любая теорема всегда фактически содержит эту логическую функцию;

4) f6 – сложение по модулю 2. Обозначается знаком “+” или знаком “+” в кружке.

5) f9 – эквивалентность или подобие. Эта f9 = 1 тогда и только тогда, когда х = у. Обозначается х ~ у.

6) f14 – штрих Шеффера. Иногда эту функцию называют “не и” (так как она равна отрицанию конъюнкции). Обозначается x|y.

7) f8 – стрелка Пирса (иногда эту функцию называют штрих Лукасевича).

Три оставшиеся функции, (f2 , f4 и f11) особого обозначения не имеют.

Заметим, что часто в логике рассматриваются функции от функций, т.е. суперпозиции перечисленных выше функций. При этом последовательность действий указывается (как обычно) скобками.

Также можно скачать программу “Логический калькулятор” для Windows.

На данный момент логический калькулятор умеет выполнять следующее:

  1. Ввод и проверка переменных на корректность. Под корректностью подразумевается правильное написание букв и операций над ними
  2. Вывод таблицы истинности для выражения
  3. СКНФ и СДНФ

Калькулятор логических выражений онлайн

Можно также попробовать работу калькулятора логики онлайн (это другая версия, а не та, которую можно скачать выше по ссылке). Правда, лучше считать в нем с PC, с телефона может работать не корректно. Пример ввода:

¬¬A & ¬A V A

Задача на предикаты (привести к предваренной нормальн форме) : Мат. логика, основания математики, теория алгоритмов

eugrita в сообщении #310951 писал(а):

А вообще в логике предикатов для меня наиболее темным местом остается распознавание субъектов и предикатов в предложении.Т.е. соотношение математической логики (оперирующей исходно с высказываниями и предикатами) и формальной логики (скажем для гуманитариев, философов, богословов), где все привязывается к фразе языка. Есть разные типы суждений обще- и частно- утвердительные, силлогизмы, даже логический квадрат… тип суждения определяет вид предикатов, т.е. в какой-то степени кванторы существования или единственности, входящую в формулу предложения. Интересно, каков должен быть алгоритм разбора предложения на предикаты и построения логической предикатной формулы. Это вроде задача лингвистики.

Возможно алгоритм решения зависит от правил построения фраз языка на котором написано предложение (суждение).

Я преподавала логику для гуманитариев, и мы договаривались различать субъекты и предикаты следующим образом: субъект — это грамматическое подлежащее и все относящиеся к нему термины, а предикат — грамматическое сказуемое и все зависящие от него термины. Например, предложение «Нек-рые сдобные булочки не являются безумно вкусными» формализуется на языке КЛП следующим образом: субъект -«сдобные булочки»; предикат -«безумно вкусные» и при первом приближении у нас получается следующая логическая форма Потом мы учились, в случае сложного субъекта или/и предиката, разбивать их на составные части (например в данном примере выраж. «сдобные булочки» можно разбить на два конъюнкта — «сдобный»и «вкусный»), но это у моих студентов был уже продвинутый уровень :))

— Вс янв 16, 2011 14:39:23 —

Не могу не встрять в дискуссию о пруверах: одно время у нас на кафедре было модно писать пруверы для различных исчислений.

Мой собственный диссер был посвящен алгоритму для такого прувера и, соответственно, самому пруверу — для натуральных исчислений типа Куайна, к-рый работал в КЛВ и различных силлогистических системах (КЛВ расширялась до силлогистических исчислений). Хоть прувер получился рабочим и вполне эффективным, со студентами я все равно его очень мало использую (надо же их заставить самостоятельно овладевать исчислениями, а то прувер так и будет за них считать — причем студенты согласны со мной::) и считаю на нем сама — по мере необходимости
Кроме того, нижняя граница сложности алгоритма, лежащего в его основе, оказалась , и на математической конференции, куда мы с прувером поехали, он был интеллегентно забракован и оставлен для решения задча для «малых и средних данных» — т.е. как раз для студентов, к-рые должны учиться решать сами::)
Т.о, написание автоматических генераторов доказательств — вещь неблагодарная.
Лучше писать интерактивные, обучающие пруверы, где требуется активное участие студиоза. Жаль, что такие пруверы — и очень хорошие- уже есть:))


Калькулятор логики высказываний

Калькулятор логики высказываний

Калькулятор пропозициональной логики

Калькулятор логики высказываний находит все модели данной пропозициональной формулы.
Единственным ограничением для этого калькулятора является то, что у вас есть только три атомарные предложения на выбор: p , q и r .


КЛАВИАТУРА МОДЕЛИ ПРОТИВОМОДЕЛИ
р q р   р q р р q р   р q р

UNSAT

ТУТ

КОНТГ

ИЛЛ-ФД
Вы можете написать пропозициональную формулу, используя приведенную выше клавиатуру. Вы можете использовать пропозициональные атомы p , q и r , «НЕ» оператор (для отрицания), оператор «И» (для конъюнкции), оператор «ИЛИ» (для дизъюнкции), «ПРЕДПОЛАГАЕТ» оператор (для импликации) и оператор «IFF» (для биимпликация), а круглые скобки указывают приоритет операторы. Например, формула:

будет записано следующим образом:

«НЕТ» «(» «к» «МКФ» «(» «п» «ПРЕДПОЛАГАЕТ» «(» «р» «ИЛИ ЖЕ» «п» «)» «)» «)»

Чтобы отменить последний ввод, просто используйте кнопку «DEL». Как только у вас есть набрав формулу, вы можете начать процесс рассуждения, нажав «ВОЙТИ». Для того, чтобы начать заново, нажмите «ОЧИСТИТЬ».

Результат калькулятора представлен в виде списка « МОДЕЛЕЙ », все из которых являются истинными значениями. присваивания, делающие формулу истинной, и список « ПРОТИВОМОДЕЛИ «, которые все являются истинной ценностью присваивания, делающие формулу ложной. Задания истинностных значений для пропозициональные атомы p , q и r обозначены символом последовательность 0 и 1 . Например, задание, где p и r верны, а q ложны, будут обозначаться как:

Если формула верна для каждого возможного присвоения значения истинности (т. е. она тавтология), то зеленая лампа TAUT будет мигать; если формула ложно для каждого возможного присвоения значения истинности (т. е. неудовлетворительное), то красная лампа UNSAT будет мигать; желтая лампа в противном случае будет мигать. Если формула не грамматическая, то синий лампа будет мигать.


Энрико Франкони, Манчестерский университет, компьютерный факультет Наука, [email protected]
Последнее изменение: сб, 30 сентября, 20:04:45 BST 2000

Логика

Логика
  • Домашний
  • Переговоры
  • Письмо
  • Проекты
  • Обучение
  • Резюме
  • Стелиос Вотсис
  • Логический калькулятор
  • Контактный телефон
  • Логический калькулятор Что это?

    Логический калькулятор — бесплатное приложение для iOS (iPhone и iPad), Android (телефоны, планшеты и т.

    д.) и Windows (настольные компьютеры, ноутбуки, планшеты, xbox) платформы. Я закодировал его, чтобы позволить пользователям пропозициональная логика для выполнения операций с той же легкостью, что и предлагает математический калькулятор. Его конструкция такова, что мы надеемся, облегчит изучающих логику, предоставляя обратную связь о том, что делает ввод хорошо сформированный. Для получения более подробной информации об этом и, в целом, о том, как использовать калькулятор, пожалуйста, обратитесь к информационному разделу ниже. Начиная с этой версии, калькулятор ограничен семантическими операциями.

    Чтобы сообщить об ошибках или запросить добавление новых функций в будущие версии этого приложения, пожалуйста, отправьте электронное письмо по адресу: logic(/a-t\)votsis.org

    Copyright: (c) 2019 Ioannis Votsis

    Политика конфиденциальности: В двух словах, приложение бесплатно и не собирает никакой информации. Для более подробной информации читайте Политика конфиденциальности PDF.

    Информация:

    (A) РАЗРЕШЕН ВВОД:

    Как и математический калькулятор, логический калькулятор позволяет своим пользователям вычислять результаты из различных входных данных. Входы в этом случае являются логическими формулами логики высказываний. За простоты мы можем назвать эти формулы «предложениями». Калькулятор предлагает широкий спектр входных данных. Можно использовать до шести разных букв переменные («P», «Q», «R», «S», «T», «U») для обозначения атомарных предложений. Кроме того, калькулятор позволяет пользователю вводить соединение (также известные как «сложные» или «молекулярные») предложения. это предложения которые используют одну или несколько из пяти логических связок («¬», ‘&’, ‘∨’, ‘→’, ‘↔’), например предложения ‘¬P’, ‘P&Q’ и ‘(P∨Q)↔R’. Кроме того, калькулятор позволяет вводить данные в виде наборы фраз. Наборы обозначаются фигурными скобками, например ‘{П, P→Q}’, ‘{P, ¬P}’, ‘{Q, R→¬Q, R∨¬Q}’. Наконец, калькулятор позволяет входные аргументы, где символ ‘Æ’ означает отношение следствия. Если два или более предложений составляют посылку аргумент, они должны быть перечислены как множество, за которым следует следствие символ отношения и, наконец, предложение, претендующее на роль вывод. Вот три примера: «{P}→P», «{P, P→Q}→Q», «{P, P→Q, Q→R, R→S}ÆS’.

    (B) ПРОИЗВОДСТВО РЕЗУЛЬТАТА:

    Произведено три типа вывода:

    (1) Калькулятор определяет, является ли ввод хорошо сформированный. Другими словами, он определяет, является ли вход синтаксически правильно и позволяет пользователю знать. Когда вход не правильно оформлены, ошибки указаны. Подробнее об этом ниже.

    (2) Если ввод действительно правильно сформирован, калькулятор переходит к определению его свойств. Для отдельных предложений (атомарных или составные), он определяет, являются ли они тавтологиями, противоречия или случайность. Для множеств он определяет, являются ли они последовательным или непоследовательным. Для аргументов он определяет, являются ли они являются действительными или недействительными.

    (3) При правильном вводе калькулятор также возможность составлять таблицы истинности которые пользователь может копировать и вставлять в другие приложения и документы.

    (C) ИНСТРУКЦИИ:

    Только две кнопки производят вывод: «ВВОД» и «ТАБЛИЦА». Вот как их использовать. Во-первых, нам нужно некоторый ввод. Предположим, что вводом является «P&Q». Чтобы вставить этот ввод так же просто, как кажется. Нажмите кнопку «P», затем нажмите кнопку ‘&’ и, наконец, нажмите кнопку ‘Q’. Чтобы определить, является ли введен правильно, вы можете нажать либо кнопку «ENTER», либо кнопку «ТАБЛИЦА». Если вы нажмете кнопку «ВВОД», калькулятор останется на той же странице и просто укажет вывод только под кнопкой ввода и над кнопками калькулятора. В качестве ввода «P&Q» действительно правильно сформирован, калькулятор выдаст выведите «условное предложение», поскольку входное предложение не является ни тавтология и противоречие. Если вы вместо этого нажмете кнопку «ТАБЛИЦА», вам также будет показана таблица истинности этого предложения на другой странице в в дополнение к тому, что это условное предложение. Таблица истинности также указывает с помощью направленной вниз стрелки «↓», где главная связка находится в каждом предложении. В случае на стороны, основной связкой является символ амперсанда ‘&’. В случаях атомарных предложений, где нет главной связки, нисходящая стрелка появляется над каждым атомарным предложением. Всякий раз, когда таблица истинности производится, пользователь может вернуться к калькулятору или копирование таблицы истинности. Возьмите другой ввод, который не является правильно сформированным предложение, напр. «П&&Вопрос». Приложение укажет это на на главной странице калькулятора чуть ниже ввода с фразой «не хорошо сформированный». Это не зависит от того, нажал ли пользователь «ENTER» или «ТАБЛИЦА», поскольку таблица истинности не создается, когда ввод не хорошо сформированный. Также указывается в случаях, когда входные данные неправильно сформированы. является / являются местоположение (я) ошибки (ов) с использованием красного подчеркивания. В данном случае второй «&» подчеркнут красным. Более информацию об ошибках можно найти ниже. Чтобы определить, является ли набор является согласованным или противоречивым, пользователь должен предоставить в качестве входных данных набор. Предположим, что это множество {P, ¬P}. Чтобы открыть набор, нажмите кнопку ‘{…}’. Затем вставьте два предложения и разделите их запятой, используя запятая ‘,’ кнопка. Чтобы закрыть набор, нажмите кнопку ‘{…}’ в секунду время. Еще раз, пользователь может нажать «ENTER» или «TABLE». кнопки. Первая кнопка дает вывод, что в данном случае набор непоследовательно. Второй выводит соответствующую таблицу истинности в в дополнение к суждению о том, что в этом случае множество несовместно. Чтобы определить, является ли аргумент действительным или недействительным, необходимо предоставить аргумент в качестве входных данных. Предположим, что этот аргумент равен {P∨Q, ¬Q}ÆP. В качестве раньше пользователь может либо нажать «ENTER» или «TABLE», чтобы произвести вывод. Первая кнопка дает вывод, что аргумент в этом случае действительный. Второй выводит таблицу истинности в дополнение к суждению что аргумент в данном случае действителен. Наконец, пользователь может использовать кнопку удаления «⌫», чтобы удалить последний ввод, кнопку очистки «C», чтобы очистить весь экран, кнопку хранилища памяти «МС», чтобы поставить копию ввод в память, кнопка вызова памяти «MR» для извлечения любого сохраненный ввод из памяти и кнопку очистки памяти «MC», чтобы очистить хранилище памяти.

    (D) ОШИБКИ ПОНИМАНИЯ:

    Если ввод некорректен, калькулятор указывает что это поэтому и, где это возможно, подчеркнуто красным, чтобы точно указать местонахождение ошибки(ей). В большинстве случаев конкретные описания дается также характер неграмотности. Чтобы быть точным, отображаются следующие конкретные ошибки: «отсутствуют скобки», «отсутствует заключение», «пропущены связки», «пропущены скобки», «пропущены переменные», «ненужные скобки», «без { } после ╞», «без ╞ внутри { }’, ‘без запятой после ╞’, ‘без содержания вне { }’, ‘неравные скобки’ и «неоднозначность масштаба». Если, например, ввод «(P)», то вывод будет: «неправильный формат: ненужные скобки». Всякий раз, когда знак плюс ‘+’ предшествует таким описаниям, это означает, что более одного обнаружен тип ошибки. Чтобы сохранить аккуратный и простой вывод, только один тип ошибки явно указывается в описании. За например, ввод ‘((P&&Q))’ содержит две ошибки, а именно «ненужные скобки» и «отсутствующие переменные», но показана только одна: «неправильный формат: + ненужные скобки».

    Вот объяснение типов конкретных ошибок в подробно:

    Ошибка «отсутствующие скобки» указывает на то, что один или оба из кудрявый скобки ‘{ }’, которые обозначают начало и конец множества отсутствующий. Обычно это происходит из-за того, что пользователь поставил запятую в ввод для идентификации различных предложений, например. ‘P, Q’, но забыл заключите этот вход в пару скобок, т. е. ‘{P, Q}’. Если там одиночное предложение слева от двойного турникета ‘Æ’, скобки можно опустить. То есть либо «P╞P», либо «{P}╞P» правильно сформирована, а ‘P, QÆP’ — нет.

    Ошибка «отсутствует вывод» появляется, когда пользователь вставляет двойной турникет ‘Æ’ во вход без предложения после него. Такое предложение и есть то, что мы называем «заключением» в аргумент. Например, во входных данных ‘{P, Q}╞’ отсутствует вывод. К исправьте эту ошибку, просто вставьте предложение после предыдущего упомянутый ввод. Например, ‘{P, Q}╞P’.

    Указана ошибка «отсутствующие соединения» когда вход содержит последовательные буквенные переменные, например. «ПП», но нет бинарная связка, т.е. ‘&’, ‘∨’, ‘→’, ‘↔’, чтобы связать их вместе. Чтобы исправить ошибку, поместите бинарную связку между буквенные переменные, например «П→П».

    Ошибка «отсутствующие скобки» указывает на то, что отсутствие из одной или нескольких пар скобок, например. «Вопросы и ответы». Любой экземпляр бинарной связки (т. ‘&’, ‘∨’, ‘→’, ‘↔’) вместе с буквенными переменными, которые он связывает должны быть заключены в круглые скобки. Единственное исключение из этого правила касается случаев, когда крайние круглые скобки могут быть опущены, если пользователь так желает. Таким образом, чтобы исправить предыдущий ввод, мы можем просто добавить одну или несколько пар скобок. Например, либо «(P&Q)&R» или «((P&Q)&R)». Обратите внимание также что скобки могли быть помещены вокруг разных переменных. Например, либо «P&(Q&R)», либо ‘(P&(Q&R))’.

    Ошибка «отсутствующие переменные» означает, что input не имеет достаточно буквенных переменных. Вот один пример: «P↔∨Q». Чтобы исправить это, пользователь может поместить любую буквенную переменную, которую он хочет, в между любыми двумя соседними бинарными связками, убедившись, что также добавьте соответствующие круглые скобки в процессе, например. ‘P↔(R∨Q)’. Другая способ исправить эту ошибку — удалить одну из логических связок, например «П↔Q».

    Ошибка «ненужные скобки» появляется, когда пользователь слишком много пары скобок на вход. Например: ‘((P&Q))’. Этот ввод можно исправить, удалив одну или обе пары скобок. То есть либо «(P&Q)», либо «P&Q» является правильным. Секунда из них иллюстрирует упомянутое выше исключение, а именно то, что крайняя пара скобок предложения может быть опущена. Обратите внимание также тот ввод, который состоит исключительно из одной буквенной переменной, должен никогда не заключайте в круглые скобки. То есть ‘(P)’ не является правильно сформированным, но «П» имеет правильную форму.

    Ошибка «нет { } после ╞» означает, что пользователь вставлен один или несколько фигурные скобки ‘{ }’ после двойного турникета ‘Æ’, напр. ‘P&Q╞{P,Q}’. Поскольку в этом приложении мы рассматриваем только то, является ли набор одной или нескольких посылок влечет за собой только один вывод за раз, такое ввод запрещен. Чтобы исправить это, удалите фигурные скобки и все запятые и вставьте только одно предложение после двойного турникета, например. ‘P&Q╞P’.

    Об ошибке «нет ╞ в пределах { }» сообщается всякий раз, когда пользователь ставит дубль турникет ‘Æ’ в фигурных скобках ‘{ }’. Например, «{Q╞Q∨P}». двойной турникет должен появляться только после таких кронштейнов. Чтобы исправить это ошибка сместить весь ввод, начинающийся с ‘Æ’, непосредственно справа от скобка ‘}’. В только что приведенном примере это приводит к: ‘{Q} ╞ Q ∨ P’.

    Ошибка «Нет запятой после ╞» появляется, когда запятая используется после двойного турникета ‘Æ’. Например, «{P, P→Q}╞P,Q». Как объяснялось выше, это приложение оценивает вывод только один. Чтобы исправить эту ошибку, удалите все запятые появляется после двойного турникета. Например, «{P, P→Q}╞Q».

    Ошибка «нет содержимого за пределами { }» возникает всякий раз, когда появляются буквенные переменные или связки либо слева от фигурных скобок, например. ‘P&{Q}’ или справа от фигурных скобок, но не после двойного турникета ‘Æ’, например, ‘{Q}&P’ или ‘{Q}&P╞Q’. Чтобы исправить эту ошибку, удалите такой контент или поместите его в фигурные скобки, например. ‘{Q}’ или «{Q&P}», «{Q}╞Q» или «{Q&P}╞Q».

    Ошибка «неравные скобки» возникает всякий раз, когда input содержит круглые скобки, которые не образуют пары. За например, «R∨S)» или «((P∨Q)&R». Чтобы исправить эту ошибку, убедитесь, что что скобки идут парами.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *