Система отчисления: Основы систем счисления / Хабр

Содержание

Перевод чисел в различные системы счисления с решением | Онлайн калькулятор

Калькулятор позволяет переводить целые и дробные числа из одной системы счисления в другую. Основание системы счисления не может быть меньше 2 и больше 36 (10 цифр и 26 латинских букв всё-таки). Длина чисел не должна превышать 30 символов. Для ввода дробных чисел используйте символ . или ,. Чтобы перевести число из одной системы в другую, введите исходное число в первое поле, основание исходной системы счисления во второе и основание системы счисления, в которую нужно перевести число, в третье поле, после чего нажмите кнопку «Получить запись».

Исходное число
записано в
23456789101112131415161718192021222324252627282930313233343536-ой системе счисления.

Хочу получить запись числа в
23456789101112131415161718192021222324252627282930313233343536-ой системе счисления.

Получить запись


=

Выполнено переводов:

Также может быть интересно:

  • Калькулятор таблицы истинности. СДНФ. СКНФ. Полином Жегалкина
  • Калькулятор комплексных чисел

Системы счисления

Системы счисления делятся на два типа: позиционные и не позиционные. Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.

Пример 1. Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:

Число: 5 9 2 1
Позиция: 3 2 1 0

Число 5921 можно записать в следующем виде: 5921 = 5000+900+20+1 = 5·103+9·102+2·101+1·100. Число 10 является характеристикой, определяющей систему счисления. В качестве степеней взяты значения позиции данного числа.

Пример 2. Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:

Число: 1 2 3 4 5 6 7
Позиция: 3 2 1 0 -1 -2 -3

Число 1234.567 можно записать в следующем виде: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·103+2·102+3·101+4·100+5·10-1+6·10-2+7·10-3.

Перевод чисел из одной системы счисления в другую

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

Перевод чисел из любой системы счисления в десятичную систему счисления

Для перевода числа из любой системы счисления в десятичную достаточно пронумеровать его разряды, начиная с нулевого (разряд слева от десятичной точки) аналогично примерам 1 или 2. Найдём сумму произведений цифр числа на основание системы счисления в степени позиции этой цифры:

1. Перевести число 1001101.11012 в десятичную систему счисления.
Решение: 1001101.11012 = 1·26+0·25+0·24+1·23+1·22+0·21+1·20+1·2-1+1·2-2+0·2-3+1·2-4 = 64+8++4+1+0.5+0.25+0.0625 = 77.812510
Ответ: 1001101.11012 = 77.812510

2. Перевести число E8F.2D16 в десятичную систему счисления.
Решение: E8F.2D16 = 14·162+8·161+15·160+2·16-1+13·16-2 = 3584+128+15+0.125+0.05078125 = 3727.1757812510
Ответ: E8F.2D16 = 3727. 1757812510

Перевод чисел из десятичной системы счисления в другую систему счисления

Для перевода чисел из десятичной системы счисления в другую систему счисления целую и дробную части числа нужно переводить отдельно.

Перевод целой части числа из десятичной системы счисления в другую систему счисления

Целая часть переводится из десятичной системы счисления в другую систему счисления с помощью последовательного деления целой части числа на основание системы счисления до получения целого остатка, меньшего основания системы счисления. Результатом перевода будет являться запись из остатков, начиная с последнего.

3. Перевести число 27310 в восьмиричную систему счисления.
Решение: 273 / 8 = 34 и остаток 1, 34 / 8 = 4 и остаток 2, 4 меньше 8, поэтому вычисления завершены. Запись из остатков будет иметь следующий вид: 421
Проверка: 4·82+2·81+1·80 = 256+16+1 = 273 = 273, результат совпал. Значит перевод выполнен правильно.
Ответ: 27310 = 4218

Рассмотрим перевод правильных десятичных дробей в различные системы счисления.

Перевод дробной части числа из десятичной системы счисления в другую систему счисления

Напомним, правильной десятичной дробью называется вещественное число с нулевой целой частью. Чтобы перевести такое число в систему счисления с основанием N нужно последовательно умножать число на N до тех пор, пока дробная часть не обнулится или же не будет получено требуемое количество разрядов. Если при умножении получается число с целой частью, отличное от нуля, то целая часть дальше не учитывается, так как последовательно заносится в результат.

4. Перевести число 0.12510 в двоичную систему счисления.
Решение: 0.125·2 = 0.25 (0 — целая часть, которая станет первой цифрой результата), 0.25·2 = 0.5 (0 — вторая цифра результата), 0. 5·2 = 1.0 (1 — третья цифра результата, а так как дробная часть равна нулю, то перевод завершён).
Ответ: 0.12510 = 0.0012

Системы счисления. Перевод из одной системы в другую.

1. Порядковый счет в различных системах счисления.

В современной жизни мы используем позиционные системы счисления, то есть системы, в которых число, обозначаемое цифрой, зависит от положения цифры в записи числа. Поэтому в дальнейшем мы будем говорить только о них, опуская термин «позиционные».

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

Поскольку у нас десятичная система счисления, мы имеем 10 символов (цифр) для построения чисел. Начинаем порядковый счет: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Цифры закончились. Мы увеличиваем разрядность числа и обнуляем младший разряд: 10. Затем опять увеличиваем младший разряд, пока не закончатся все цифры: 11, 12, 13, 14, 15, 16, 17, 18, 19. Увеличиваем старший разряд на 1 и обнуляем младший: 20. Когда мы используем все цифры для обоих разрядов (получим число 99), опять увеличиваем разрядность числа и обнуляем имеющиеся разряды: 100. И так далее.

Попробуем сделать то же самое в 2-ной, 3-ной и 5-ной системах (введем обозначение для 2-ной системы, для 3-ной и т.д.):

0 0 0 0
1 1 1 1
2 10 2 2
3 11 10 3
4 100 11 4
5 101 12 10
6 110 20 11
7 111 21 12
8 1000 22 13
9 1001 100 14
10 1010 101 20
11 1011 102 21
12 1100 110 22
13 1101 111 23
14 1110 112 24
15 1111 120 30

Если система счисления имеет основание больше 10, то нам придется вводить дополнительные символы, принято вводить буквы латинского алфавита. Например, для 12-ричной системы кроме десяти цифр нам понадобятся две буквы ( и ):

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10
11
12 10
13 11
14 12
15 13

 

 
2.Перевод из десятичной системы счисления в любую другую.

Чтобы перевести целое положительное десятичное число в систему счисления с другим основанием, нужно это число разделить на основание. Полученное частное снова разделить на основание, и дальше до тех пор, пока частное не окажется меньше основания. В результате записать в одну строку последнее частное и все остатки, начиная с последнего.

Пример 1. Переведем десятичное число 46 в двоичную систему счисления.

Пример 2. Переведем десятичное число 672 в восьмеричную систему счисления.

Пример 3. Переведем десятичное число 934 в шестнадцатеричную систему счисления.

3. Перевод из любой системы счисления в десятичную.

Для того, чтобы научиться переводить числа из любой другой системы в десятичную, проанализируем привычную нам запись десятичного числа.
Например, десятичное число 325 – это 5 единиц, 2 десятка и 3 сотни, т.е.

Точно так же обстоит дело и в других системах счисления, только умножать будем не на 10, 100 и пр., а на степени основания системы счисления. Для примера возьмем число 1201 в троичной системе счисления. Пронумеруем разряды справа налево начиная с нуля и представим наше число как сумму произведений цифры на тройку в степени разряда числа:

Это и есть десятичная запись нашего числа, т. е.

Пример 4. Переведем в десятичную систему счисления восьмеричное число 511.

Пример 5. Переведем в десятичную систему счисления шестнадцатеричное число 1151.

4. Перевод из двоичной системы в систему с основанием «степень двойки» (4, 8, 16 и т.д.).

Для преобразования двоичного числа в число с основанием «степень двойки» необходимо двоичную последовательность разбить на группы по количеству цифр равному степени справа налево и каждую группу заменить соответствующей цифрой новой системы счисления.

Например, Переведем двоичное 1100001111010110 число в восьмеричную систему. Для этого разобьем его на группы по 3 символа начиная справа (т.к. ), а затем воспользуемся таблицей соответствия и заменим каждую группу на новую цифру:

Таблицу соответствия мы научились строить в п.1.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7

Т. е.

Пример 6. Переведем двоичное 1100001111010110 число в шестнадцатеричную систему.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

5.Перевод из системы с основанием «степень двойки» (4, 8, 16 и т.д.) в двоичную.

Этот перевод аналогичен предыдущему, выполненному в обратную сторону: каждую цифру мы заменяем группой цифр в двоичной системе из таблицы соответствия.

Пример 7. Переведем шестнадцатеричное число С3A6 в двоичную систему счисления.

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

Пропозициональная логика и естественная дедукция

Пропозициональная логика и естественная дедукция

  • Натуральный вычет
  • Доказательства

Проверка того, является ли предложение тавтологией, путем проверки всех возможных
присвоение правды стоит дорого — их экспоненциально много.
Нам нужна дедуктивная система , которая позволит построить
доказательства тавтологии шаг за шагом.

Система, которую мы будем использовать, известна как натуральный вычет . Система
состоит из набора правил вывода для получения следствий из предпосылок. Один строит
дерево доказательств, корнем которого является доказываемое утверждение, а листьями —
исходные предположения или аксиомы (для деревьев доказательств мы обычно проводим корень в
внизу, а листья вверху).

Например, одно правило нашей системы известно как modus ponens .
Интуитивно это говорит о том, что если мы знаем, что P истинно, и мы знаем, что P подразумевает Q, то мы
можно сделать вывод В.

P P ⇒ Q
Q
(modus ponens)

Предложения над чертой называются помещениями ; в
предложение под чертой вывод . Оба
посылки и заключение могут содержать метапеременные (в данном случае P и Q)
представляющие произвольные предложения. Когда правило вывода используется как часть
доказательство, метапеременные последовательно заменяются соответствующими
вид объекта (в данном случае предложения).

Большинство правил представлены в двух вариантах: введение или
устранение правил. Правила введения вводят использование
логический оператор, и правила исключения исключают его. Modus ponens это
правило исключения для ⇒.
В правой части правила мы часто пишем название правила.
Это полезно при чтении доказательств. В этом случае мы написали
(модус поненс). Мы могли бы также написать (⇒-elim)
чтобы указать, что это правило исключения для ⇒.

Правила соединения

Конъюнкция (∧) имеет правило введения и два правила исключения:

П В
П ∧ В
(∧-вступление)
П ∧ К
Р
(∧-элим-левый)
П ∧ В
В
(∧-элим-право)
Правило для T

Самое простое правило введения — это правило для T. Оно называется «единица».
Поскольку у него нет предпосылок, это правило является аксиомой : что-то
что может начать доказательство.

(шт.)
Правила применения

В естественной дедукции, чтобы доказать импликацию формы P ⇒ Q, мы предполагаем P,
затем, исходя из этого предположения, попытаться вывести Q. Если мы добьемся успеха, то
мы можем заключить, что P ⇒ Q.

В доказательстве всегда можно ввести
новое предположение P, затем рассуждать в соответствии с этим предположением. Мы должны дать
предположение имя; мы использовали имя x в приведенном ниже примере.
Каждое отдельное предположение должно иметь другое имя.

 
[х : П]
(предположительно)

Поскольку у него нет предпосылок, это правило также может начать доказательство.
Его можно использовать так, как если бы утверждение P было доказано.
Здесь же указано название предположения.

Однако бесплатно делать предположения нельзя! Чтобы получить полное доказательство, все предположения должны быть в конечном счете выписан . Это делается в правиле введения импликации.
Это правило вводит импликацию P ⇒ Q, освобождая
предварительное предположение [x : P]. Интуитивно, если Q можно доказать в предположении P, то импликация
P ⇒ Q выполняется без каких-либо предположений. Мы пишем x в имени правила, чтобы показать, какое предположение
выписан. Это правило и modus ponens являются правилами введения и исключения импликаций.

[х : Р]

Вопрос
П ⇒ Q
(⇒-интро/х)
П П ⇒ Q
В
(⇒-элим, модус поненс)

Доказательство действительно только в том случае, если каждое предположение в конечном итоге опровергается. Это должно произойти в
дерево доказательств ниже предположения. Одно и то же предположение может быть использовано более одного раза.

Правила дизъюнкции
Р
П ∨ Q
(∨-вступление-слева)
В
П ∨ Q
(∨-вступление-справа)
П ∨ Д П ⇒ Р Д ⇒ Р
Р
(∨-элим)
Правила отрицания

Отрицание ¬P можно рассматривать как сокращение от P ⇒ ⊥:

П ⇒ ⊥
¬П
(¬-вступление)
¬П
П ⇒ ⊥
(¬-элим)
Правила за ложь
[х : ¬P]

Р
(доведение до абсурда, RAA/x) (ex falso quodlibet, EFQ)

Reductio ad absurdum (RAA) — интересное правило. Он воплощает
доказательства от противного. Он говорит, что если предположить, что P
ложно, получаем противоречие, то P
должно быть правдой. Предположение x отменяется при применении этого правила.
Это правило присутствует в классической логике, но не в
интуиционистская (конструктивная) логика. В интуиционистской логике
предложение не считается истинным просто потому, что его отрицание ложно.

Исключенный средний

Другая классическая тавтология, которая не является интуиционистски достоверной,
закон исключенного третьего , P ∨ ¬P.
Примем это как аксиому в нашей системе.
Латинское название этого правила — tertium non datur , но мы будем называть его magic 9.0148 .

 
П ∨ ¬П
(магия)

Доказательство предложения P в естественной дедукции начинается с аксиом и предположений.
и выводит P с учетом всех допущений. Каждый шаг в
доказательство — это пример правила вывода с заменой метапеременных
согласованно с выражениями соответствующего синтаксического класса.

Пример

Например, вот доказательство предложения
(А ⇒ В ⇒ С) ⇒ (А ∧ В ⇒ С).

Последним шагом в доказательстве является получение
(A ⇒ B ⇒ C) ⇒ (A ∧ B ⇒ C) из (A ∧ B ⇒ C), что делается с помощью
правило (⇒-введение), освобождающее от предположения [x : A ⇒ B ⇒ C].
Чтобы увидеть, как это правило генерирует шаг доказательства,
замените метапеременные P, Q, x в правиле следующим образом:
P = (A ⇒ B ⇒ C), Q = (A ∧ B ⇒ C) и x = x. Непосредственно предыдущий шаг
использует то же правило, но с другой заменой:
Р = А ∧ В, Q = С, х = у.

Дерево доказательств для этого примера имеет следующий вид с доказанным
предложение в корне и аксиомы и предположения в листьях.

Предложение, имеющее полное доказательство в дедуктивной системе, называется
теорема этой системы.

Надежность и полнота

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

Найти доказательство данной тавтологии может быть непросто. Но однажды доказательство
найдено, проверка того, что это действительно доказательство, является полностью механическим, не требующим
интеллект или проницательность вообще. Поэтому это очень сильный аргумент
что доказанная вещь на самом деле является правдой.

Мы также можем сделать написание доказательств менее утомительным, добавив больше правил.
которые обеспечивают ярлыки рассуждений. Эти правила звучат
если есть способ преобразовать доказательство, использующее их, в доказательство, использующее
оригинальные правила. Такие добавленные правила называются допустимыми .

3. Естественная дедукция для логики высказываний — логика и доказательство 3.18.4 документация

Размышляя над аргументами в предыдущей главе, мы видим, что, говоря интуитивно,0147 действительный а некоторые нет. Например, если бы в цепочке рассуждений мы установили «\(А\) и \(В\)», то было бы совершенно разумно заключить \(В\). Если бы мы установили \(A\), \(B\) и «Если \(A\) и \(B\), то \(C\)», было бы разумно заключить \(C\). С другой стороны, если бы мы установили «\(А\) или \(В\)», мы не имели бы права заключать \(В\) без дополнительной информации.

Задача символической логики состоит в том, чтобы разработать точную математическую теорию, объясняющую, какие выводы верны и почему. Существует два основных подхода к определению понятия валидности. В этой главе мы рассмотрим дедуктивный подход: вывод верен, если его можно обосновать фундаментальными правилами рассуждения, отражающими значение задействованных логических терминов. В главе 6 мы рассмотрим «семантический» подход: вывод верен, если он является экземпляром шаблона, который всегда дает верный вывод из истинных гипотез.

3.1. Выводы в естественной дедукции

Мы видели, что язык пропозициональной логики позволяет нам строить выражения из пропозициональных переменных \(A, B, C, \ldots\), используя пропозициональные связки, такие как \(\to\), \(\ клин\), \(\клин\) и \(\отрицательный\). Теперь мы рассмотрим формальную дедуктивную систему, которую мы можем использовать для доказать пропозициональных формул. Предлагается несколько таких систем; тот, который будет использоваться, называется естественным вычетом , разработанным Герхардом Генценом в 1930-х годах.

В естественной дедукции каждое доказательство является доказательством из гипотез . Другими словами, в любом доказательстве есть конечное множество гипотез \(\{ B, C, \ldots \}\) и вывод \(A\), и доказательство показывает, что \(A\) следует из \(B, C, \ldots\).

Как и формулы, доказательства строятся путем объединения меньших доказательств в соответствии с правилами. Например, как читать правило «и-введения»

заключается в следующем: если у вас есть доказательство \(P_1\) \(A\) из некоторых гипотез, и у вас есть доказательство \(P_2\) \(B\) из некоторых гипотез, то вы можете поставить их вместе, используя это правило, чтобы получить доказательство \(A \клин B\), которое использует все гипотезы в \(P_1\) вместе со всеми гипотезами в \(P_2\). Например, это доказательство \((A \клин B) \клин (A \клин C)\) из трех гипотез, \(A\), \(B\) и \(C\):

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

Одна вещь, которая делает естественную дедукцию запутанной, заключается в том, что, когда вы собираете доказательства таким образом, гипотезы могут быть устранены, или, как мы скажем, отменяется . Например, мы можем применить правило имплицитного введения к последнему доказательству и получить следующее доказательство \(B \to (A \wedge B) \wedge (A \wedge C)\) только из двух гипотез, \(A\) и \(C\):

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

Мы можем продолжить отменять гипотезу \(A\):

Результатом является доказательство, использующее только гипотезу \(C\). Мы можем и дальше отменять эту гипотезу:

Полученное доказательство вообще не использует никакой гипотезы. Другими словами, он прямо устанавливает вывод.

Обратите внимание, что на втором шаге мы отменили две «копии» гипотезы \(A\). В естественной дедукции мы можем выбирать, какие гипотезы отменять; мы могли бы отменить любую из них и оставить другую гипотезу открыть . На самом деле, мы также можем применить правило импликации-введения и отменить нулевых гипотез. Например, ниже приводится краткое доказательство \(A \to B\) из гипотезы \(B\):

В этом доказательстве нулевые копии \(A\) сокращаются.

Также обратите внимание, что, хотя мы используем такие буквы, как \(A\), \(B\) и \(C\) в качестве пропозициональных переменных, в приведенных выше доказательствах мы можем заменить их любой пропозициональной формулой. Например, мы можем везде заменить \(A\) формулой \((D \vee E)\) и при этом иметь правильные доказательства. В некоторых представлениях логики разные буквы используются для пропозициональных переменных и произвольных пропозициональных формул, но мы продолжим стирать различие. Вы можете думать о \(A\), \(B\) и \(C\) как о пропозициональных переменных или формулах, как вам больше нравится. Если вы думаете о них как о пропозициональных переменных, просто имейте в виду, что в любом правиле или доказательстве вы можете заменить каждую переменную другой формулой и все равно иметь правильное правило или доказательство.

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

Это означает, что в любой момент мы можем просто принять формулу \(A\). Единственная формула \(А\) представляет собой однострочное доказательство, и это доказательство можно читать следующим образом: предполагая \(А\), мы доказали \(А\).

Остальные правила вывода были даны в предыдущей главе, и мы суммируем их здесь.

Последствия:

Соединение:

Отрицание:

Дисъф. ):

3.2. Примеры

Рассмотрим еще несколько примеров доказательств естественной дедукции. В каждом случае следует подумать о том, что говорят формулы и какое правило вывода вызывается на каждом шаге. Также обратите пристальное внимание на то, какие гипотезы отменяются на каждом этапе. Если вы посмотрите на любой узел дерева, то в этот момент будет установлено, что утверждение следует из всех гипотез над ним, которые еще не были отменены.

Ниже приводится доказательство \(A \to C\) из \(A \to B\) и \(B \to C\):

Интуитивно формула

\[(A \to B ) \wedge (B \to C) \to (A \to C)\]

«усваивает» заключение предыдущего доказательства. Символ \(\клин\) используется для объединения гипотез, а символ \(\к\) используется для выражения того, что правая часть является следствием левой. Вот доказательство этой формулы:

Следующее доказательство показывает, что если вывод \(C\) следует из \(A\) и \(B\), то он следует из их соединения.

Вывод следующего доказательства можно интерпретировать как утверждение, что если не верно одно из \(A\) или \(B\), то они оба ложны. Он иллюстрирует использование правил отрицания.

Наконец, следующие два примера иллюстрируют использование правила ex falso . Первое есть вывод произвольной формулы \(B\) из \(\neg A\) и \(A\):

Второе показывает, что \(B\) следует из \(A\) и \( \neg A \vee B\):

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

3.3. Прямое и обратное рассуждение

Предполагается, что естественная дедукция представляет собой идеализированную модель моделей рассуждений и аргументации, которые мы используем, например, при работе с логическими головоломками, как в предыдущей главе. Есть очевидные различия: мы описываем естественные доказательства вывода с помощью символов и двумерных диаграмм, тогда как наши неформальные аргументы записываются словами и абзацами. Стоит задуматься о том, что — это , захваченный моделью. Предполагается, что естественная дедукция проясняет форму и структуру наших логических аргументов, описывает соответствующие средства обоснования вывода и объясняет смысл, в котором правила, которые мы используем, верны.

Построение доказательств естественной дедукции может сбивать с толку, но полезно подумать о , почему это сбивает с толку. Мы могли бы, например, решить, что естественная дедукция не является хорошей моделью для логических рассуждений. Или мы можем прийти к заключению, что особенности естественной дедукции, которые делают ее запутанной, говорят нам кое-что интересное об обычных аргументах.

В «официальном» описании доказательства естественной дедукции строятся путем объединения меньших доказательств для получения больших. Чтобы доказать \(A \клин B \к B \клин A\), мы начнем с гипотезы \(A \клин B\). Затем мы строим по отдельности следующие два доказательства:

Затем мы используем эти два доказательства, чтобы построить следующее:

Наконец, мы применяем правило имплицитного введения к этому доказательству, чтобы отменить гипотезу и получить желаемый вывод:

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


Предположим, что Сьюзан высокая, а Джон счастлив.

Тогда особенно счастлив Джон.

Кроме того, Сьюзан высокая.

Итак, Джон счастлив, а Сьюзан высокая.

Таким образом, мы показали, что если Сьюзен высокая, а Джон счастлив, то Джон счастлив, а Сьюзен высокая.


Однако, когда мы читаем доказательств естественной дедукции, мы часто читаем их задом наперед. Во-первых, мы смотрим на дно, чтобы увидеть, что доказывается. Затем мы рассмотрим правило, которое используется для его доказательства, и посмотрим, какие предпосылки оно требует. Затем мы смотрим, как эти утверждения подтверждаются, и так далее. Точно так же, когда мы строим доказательство естественной дедукции, мы обычно действуем и в обратном направлении: мы начинаем с утверждения, которое пытаемся доказать, помещаем его в конец и ищем применимые правила.

Иногда этот процесс дает сбой. Предположим, у нас осталась цель, представляющая собой единственную пропозициональную переменную \(A\). Нет правил введения, которые можно было бы применить, поэтому, если \(A\) не является гипотезой, она должна исходить из правила исключения. Но это занижает проблему: возможно, \(A\) происходит от применения правила исключения «и» к \(A \клину B\) или от применения правила исключения «или» к \(C\) и \(C\ к А\). В этот момент мы смотрим на гипотезы и начинаем работать дальше. Если, например, наши гипотезы таковы: \(C\) и \(C\to A\клин B\), мы будем работать дальше, чтобы получить \(A \клин B\) и \(A\).

Таким образом, существует общая эвристика для доказательства теорем естественной дедукции:

  1. Начните с обратного от заключения, используя правила введения. Например, если вы пытаетесь доказать утверждение вида \(A \to B\), добавьте \(A\) в свой список гипотез и попытайтесь вывести \(B\). Если вы пытаетесь доказать утверждение вида \(A \клин B\), используйте правило введения и, чтобы свести вашу задачу к доказательству \(A\), а затем к доказательству \(B\).

  2. Когда у вас закончились дела на первом этапе, используйте правила исключения, чтобы продолжить работу. Если у вас есть гипотезы \(A \to B\) и \(A\), примените modus ponens для получения \(B\). Если у вас есть гипотеза \(A \vee B\), используйте или-исключение, чтобы разделить случаи, рассматривая \(A\) в одном случае и \(B\) в другом.

В главе 5 мы добавим к этому списку еще один элемент: если ничего не помогает, попробуйте доказательство от противного.

Противоречие между прямыми и обратными рассуждениями обнаруживается и в неформальных спорах, в математике и других областях. Когда мы доказываем теорему, мы обычно рассуждаем вперед, используя предположения, гипотезы, определения и базовые знания. Но мы также помним о цели, и это помогает нам понять шаги вперед.

Когда мы обратимся к интерактивному доказательству теорем, мы увидим, что Бережливое производство имеет механизмы для поддержки как прямых, так и обратных рассуждений. Они образуют мост между неформальными стилями аргументации и моделью естественной дедукции и, таким образом, дают более четкую картину того, что происходит.
на.

Еще одна сбивающая с толку особенность доказательств естественной дедукции состоит в том, что каждая гипотеза имеет область применения , то есть в доказательстве есть только определенные точки, где допущение доступно для использования. Конечно, это также особенность неформальных математических рассуждений. Предположим, абзац начинается так: «Пусть \(х\) будет любым числом меньше 100», утверждается, что \(х\) имеет не более пяти простых делителей, и заканчивается «таким образом, мы показали, что каждое число меньше 100 имеет не более пяти простых делителей». факторы». Ссылка «\(x\)» и предположение о том, что оно меньше 100, активны только в рамках абзаца. Если следующий абзац начинается фразой «Теперь предположим, что \(х\) — любое число больше 100», то, конечно, предположение, что \(х\) меньше 100, больше не применяется.

В естественной дедукции гипотеза доступна с момента, когда она принимается, до момента, когда она отменяется. Мы увидим, что интерактивные языки доказательства теорем также имеют механизмы для определения объема ссылок и гипотез, и что они также проливают свет на проблемы определения объема в неформальной математике.

3.4. Рассуждение по случаям

Правило устранения дизъюнкции сбивает с толку, но мы можем понять его на примере. Рассмотрим следующий неформальный аргумент:


Джордж либо дома, либо в кампусе.

Если он дома, он учится.

Если он в кампусе, он со своими друзьями.

Поэтому Джордж либо учится, либо с друзьями.


Пусть \(A\) будет утверждением, что Джордж находится дома, пусть \(B\) будет утверждением, что Джордж находится в кампусе, пусть \(C\) будет утверждением, что Джордж учится, и пусть \ (D\) быть утверждением, что Джордж находится со своими друзьями. Тогда приведенный выше аргумент имеет следующую схему: из \(A \vee B\), \(A \to C\) и \(B \to D\), заключаем \(C \vee D\). В естественной дедукции мы не можем сделать этот вывод за один шаг, но не требуется слишком много усилий, чтобы превратить его в правильное доказательство. Неформально мы должны рассуждать следующим образом.


Жорж либо дома, либо в кампусе.

Случай 1: Предположим, он дома. Мы знаем, что если он дома, то учится. Так вот, в данном случае он учится. Поэтому в данном случае он либо учится, либо с друзьями.

Случай 2: Предположим, он находится в студенческом городке. Мы знаем, что если он в кампусе, то он со своими друзьями. Итак, в данном случае он со своими друзьями. Поэтому в данном случае он либо учится, либо с друзьями.

В любом случае, Джордж либо учится, либо с друзьями.


Доказательство естественной дедукции выглядит следующим образом:

Вам следует подумать о том, как структура этого доказательства отражает приведенный выше неформальный аргумент, основанный на прецедентах.

В качестве другого примера, вот доказательство \(A \клин (B \vee C) \to (A \клин B) \vee (A \клин C)\):

3.5. Некоторые логические тождества

Две пропозициональные формулы, \(A\) и \(B\), называются логически эквивалентными , если \(A \leftrightarrow B\) доказуема. Логические эквивалентности подобны тождествам типа \(x + y = y + x\), которые встречаются в алгебре. В частности, можно показать, что если две формулы эквивалентны, то в любой формуле можно заменить одну на другую, и результаты также будут эквивалентны. (Некоторые системы доказательства принимают это за основное правило, и интерактивные средства доказательства теорем могут его учитывать, но мы0147, а не считать это фундаментальным правилом естественной дедукции.)

Для справки следующий список содержит некоторые часто используемые пропозициональные эквивалентности, а также некоторые заслуживающие внимания формулы. Подумайте, почему интуитивно эти формулы должны быть верными.

  1. Коммутативность \(\клин\): \(A \клин B \leftrightarrow B \клин A\)

  2. Коммутативность \(\vee\): \(A \vee B \leftrightarrow B \vee A\)

  3. Ассоциативность \(\клин\): \((A \клин B) \клин C \leftrightarrow A \клин (B \клин C)\)

  4. Ассоциативность \(\vee\) \((A \vee B) \vee C \leftrightarrow A \vee (B \vee C)\)

  5. Распределение \(\клин\) над \(\клин\): \(A \клин (B \клин C) \leftrightarrow (A \клин B) \клин (A \клин C)\)

  6. Распределение \(\vee\) над \(\клином\): \(A \vee (B \vee C) \leftrightarrow (A \vee B) \клин (A \vee C)\)

  7. \((A \к (B \к C)) \leftrightarrow (A \клин B \к C)\).

  8. \((А\в В)\в ((В\в С) \в (А\в С))\)

  9. \(((A \vee B) \to C) \leftrightarrow (A \to C) \клин (B \to C)\)

  10. \(\neg (A \vee B) \leftrightarrow \neg A \клин \neg B\)

  11. \(\neg (A \клин B) \leftrightarrow \neg A \vee \neg B\)

  12. \(\neg (A \клин \neg A)\)

  13. \(\neg (A \to B) \leftrightarrow A \клин \neg B\)

  14. \(\отриц А\к (А\к Б)\)

  15. \((\neg A \vee B) \leftrightarrow (A \to B)\)

  16. \(A \vee \bot \leftrightarrow A\)

  17. \(A \клин\бот \leftrightarrow \bot\)

  18. \(A \vee \neg A\)

  19. \(\neg (A \leftrightarrow \neg A)\)

  20. \((A \to B) \leftrightarrow (\neg B \to \neg A)\)

  21. \((A \to C \vee D) \to ((A \to C) \vee (A \to D))\)

  22. \((((А\в Б)\в А)\в А)\)

Все они могут быть получены методом естественной дедукции с использованием фундаментальных правил, перечисленных в разделе 3. 1. Но некоторые из них требуют использования правила доведения до абсурда или доказательства от противного, которое мы еще подробно не обсуждали. Мы обсудим использование этого правила и других моделей классической логики в главе 5.

3.6. Упражнения

При построении доказательств в естественной дедукции используйте только список
правила, указанные в разделе 3.1.

  1. Приведите доказательство естественного вывода \(A \клин B\) из гипотезы \(B \клин A\).

  2. Приведите доказательство естественного вывода \((Q \to R) \to R\) из гипотезы \(Q\).

  3. Приведите доказательство естественного вывода \(\neg (A \neg B) \to (A \to \neg B)\).

  4. Приведите доказательство естественного вывода \(Q \клин S\) из гипотез \((P \клин Q) \клин R\) и \(S \клин T\).

  5. Приведите доказательство естественного вывода \((A \to C) \wedge (B \to \neg C) \to \neg (A \wedge B)\).

  6. Приведите естественное доказательство вывода \((A \клин B) \to ((A \to C) \to \neg (B \to \neg C))\).

  7. Еще раз взгляните на упражнение 3 в предыдущей главе. Используя пропозициональные переменные \(A\), \(B\) и \(C\) для «Алан любит кенгуру», «Бетти любит лягушек» и «Карл любит хомяков» соответственно, выразите три гипотезы в виде символических формул, а затем вывести из них противоречие в естественной дедукции.

  8. Приведите доказательство естественного вывода \(A \vee B \to B \vee A\).

  9. Приведите доказательство естественного вывода \(\neg A \neg B \to \neg (A \vee B)\)

  10. Приведите доказательство естественного вывода \(\neg (A \wedge B)\) из \(\neg A \vee \neg B\). (Вам не нужно использовать доказательство от противного.)

  11. Приведите доказательство естественного вывода \(\neg (A \leftrightarrow \neg A)\).

  12. Приведите доказательство естественного вывода \((\neg A \leftrightarrow \neg B)\) из гипотезы \(A \leftrightarrow B\).

  13. Приведите доказательство естественного вывода \(P \to R\) из гипотезы \((P \vee Q) \to R\).