Отрицание

редактировать
Операция, которая переводит предложение p в другое предложение «не p», записанное ¬p, которое интуитивно интерпретируется как истинное, когда p равно ложь и ложь, если p истинно; унарная (с одним аргументом) логическая связка

Отрицание
НЕ
Определениеx ¯ {\ displaystyle {\ overline {x}}}{\ overline {x} }
Таблица истинности (10) {\ displaystyle (10)}(10)
Логический вентиль НЕ ANSI.svg
Нормальные формы
Дизъюнктивная x ¯ {\ displaystyle {\ overline {x}}}{\ overline {x} }
Конъюнктивная x ¯ {\ displaystyle {\ overline { x}}}{\ overline {x} }
Многочлен Жегалкина 1 ⊕ x {\ displaystyle 1 \ oplus x}{\ displaystyle 1 \ oplus x}
Решетки Поста
с сохранением 0no
с сохранением 1no
Монотонныйno
Аффинныйда
  • v
  • t

В логике отрицание, также называемое логическим дополнением, представляет собой операцию, которая принимает предложение P {\ displaystyle P}P к другому утверждению «не P {\ displaystyle P}P », записанное ¬ P { \ displaystyle \ neg P}\ neg P , ∼ P {\ displaystyle {\ mathord {\ sim}} P}{\ displaystyle {\ mathord {\ sim}} P} или P ¯ {\ displaystyle {\ overline {P}}}\ overline {P} . Интуитивно интерпретируется как истинное, если P {\ displaystyle P}P ложно, и как ложное, когда P {\ displaystyle P}P истинно. Таким образом, отрицание представляет собой унарную (с одним аргументом) логическую связку . Его можно применять как операцию к понятиям, предложениям, значениям истинности или семантическим значениям в более общем смысле. В классической логике отрицание обычно отождествляется с функцией истинности, которая переводит истину в ложь (и наоборот). В интуиционистской логике, согласно интерпретации Брауэра – Гейтинга – Колмогорова, отрицание предложения P {\ displaystyle P}P - это утверждение, Доказательствами являются опровержения P {\ displaystyle P}P .

Содержание
  • 1 Определение
  • 2 Обозначение
  • 3 Свойства
    • 3.1 Двойное отрицание
    • 3.2 Распределимость
    • 3.3 Линейность
    • 3.4 Самодвойственный
    • 3.5 Отрицание кванторов
  • 4 Правила вывода
  • 5 Язык программирования и обычный язык
  • 6 Семантика Крипке
  • 7 См. Также
  • 8 Ссылки
  • 9 Далее чтение
  • 10 Внешние ссылки
Определение

Не существует соглашения относительно возможности определения отрицания относительно его логического статуса, функции и значения, относительно области его применимости и относительно интерпретации отрицательного суждения (FH Heinemann 1944).

Классическое отрицание - это операция над одним логическим значением, обычно значением пропозиции, который производит val ue имеет значение true, если его операнд равен false, и значение false, когда его операнд равен true. Таким образом, если выражение P {\ displaystyle P}P истинно, тогда ¬ P {\ displaystyle \ neg P}\ neg P (произносится как «не P») будет ложный; и наоборот, если ¬ P {\ displaystyle \ neg P}\ neg P ложно, то P {\ displaystyle P}P будет истинным.

таблица истинности для ¬ P {\ displaystyle \ neg P}\ neg P выглядит следующим образом:

P {\ displaystyle P}P ¬ P {\ displaystyle \ neg P}{\ displaystyle \ neg P}
TrueFalse
FalseTrue

Отрицание можно определить в терминах других логических операций. Например, ¬ P {\ displaystyle \ neg P}\ neg P можно определить как P → ⊥ {\ displaystyle P \ rightarrow \ bot}{\ displaystyle P \ rightarrow \ bot} (где → {\ displaystyle \ rightarrow}\ rightarrow является логическим следствием и ⊥ {\ displaystyle \ bot}\ bot является абсолютной ложью ). И наоборот, можно определить ⊥ {\ displaystyle \ bot}\ bot как Q ∧ ¬ Q {\ displaystyle Q \ land \ neg Q}{\ displaystyle Q \ land \ neg Q} для любого предложения Q {\ displaystyle Q}Q(где ∧ {\ displaystyle \ land}\ land - логическое соединение ). Идея здесь в том, что любое противоречие ложно, и хотя эти идеи работают как в классической, так и в интуиционистской логике, они не работают в паранепротиворечивой логике, где противоречия не обязательно ложны. В классической логике мы также получаем дополнительную идентичность: P → Q {\ displaystyle P \ rightarrow Q}P \ rightarrow Q может быть определено как ¬ P ∨ Q {\ displaystyle \ neg P \ lor Q}{\ displaystyle \ neg P \ lor Q} , где ∨ {\ displaystyle \ lor}\ lor - логическая дизъюнкция.

Алгебраически классическое отрицание соответствует дополнению в Булева алгебра и интуиционистское отрицание псевдодополнения в алгебре Гейтинга. Эти алгебры обеспечивают семантику для классической и интуиционистской логики соответственно.

Обозначение

Отрицание предложения p {\ displaystyle p}p обозначается по-разному, в различных контекстах обсуждения и областях применения. В следующей таблице описаны некоторые из этих вариантов:

НотацияОбычный текстВокализация
¬ p {\ displaystyle \ neg p}\ neg p ¬pНе p
∼ p {\ displaystyle {\ mathord {\ sim}} p}{\ displaystyle {\ mathord {\ sim}} p } ~ pНе p
- p {\ displaystyle -p}-p -pНе p
NpEn p
p '{\ displaystyle p'}p'p '
  • p простое,
  • p дополнение
p ¯ {\ displaystyle {\ overline {p}}}\ overline {p} ̅p
  • p bar,
  • bar p
! p {\ displaystyle! p}{\ displaystyle! p} ! p
  • Bang p
  • Not p

Обозначение Np - это обозначение Лукасевича.

В теории множеств, ∖ {\ displaystyle \ setminus}\ setminus также используется для обозначения «не входит в набор»: U ∖ A {\ displaystyle U \ setminus A}{\ displaystyle U \ setminus A} is набор всех членов U {\ displaystyle U}U , которые не являются членами A {\ displaystyle A}A .

, независимо от того, как он обозначен или обозначен символами, отрицание ¬ P {\ displaystyle \ neg P}\ neg P можно прочитать как «это не тот случай, когда P {\ displaystyle P}P », «не то, что P {\ displaystyle P}P », или обычно проще, как «не P {\ displaystyle P}P ».

Свойства

Двойное отрицание

В системе классической логики двойное отрицание, то есть отрицание отрицания предложения P {\ displaystyle P}P , логически эквивалентен и P {\ displaystyle P}P . Выражается в символических терминах: ¬ ¬ P ≡ P {\ displaystyle \ neg \ neg P \ Equiv P}{\ displaystyle \ neg \ neg P \ Equiv P} . В интуиционистской логике предложение подразумевает двойное отрицание, но не наоборот. Это отмечает одно важное различие между классическим и интуиционистским отрицанием. Алгебраически классическое отрицание называется инволюцией периода два.

Однако в интуиционистской логике эквивалентность ¬ ¬ ¬ P ≡ ¬ P {\ displaystyle \ neg \ neg \ neg P \ Equiv \ neg P}{\ displaystyle \ neg \ neg \ neg P \ Equiv \ neg P} не держит. Более того, в пропозициональном случае предложение является классически доказуемым, если его двойное отрицание доказуемо интуитивно. Этот результат известен как теорема Гливенко.

Распределительность

Законы Де Моргана обеспечивают способ распределения отрицания по дизъюнкции и конъюнкции <353.>¬ (п ∨ Q) ≡ (¬ P ∧ ¬ Q) {\ displaystyle \ neg (P \ lor Q) \ Equiv (\ neg P \ land \ neg Q)}{\ displaystyle \ neg (P \ lor Q) \ Equiv (\ neg P \ land \ neg Q)} и

¬ (п ∧ Q) ≡ (¬ P ∨ ¬ Q) {\ displaystyle \ neg (P \ land Q) \ Equiv (\ neg P \ lor \ neg Q)}{ \ Displaystyle \ neg (P \ Land Q) \ Equiv (\ neg P \ lor \ neg Q)} .

Линейность

Пусть ⊕ {\ displaystyle \ oplus}\ oplus обозначают логическую операцию xor. В булевой алгебре линейная функция - это такая функция, что:

Если существует a 0, a 1,…, an ∈ {0, 1} {\ displaystyle a_ { 0}, a_ {1}, \ dots, a_ {n} \ in \ {0,1 \}}{\ displaystyle a_ {0}, a_ {1}, \ dots, a_ {n} \ in \ {0,1 \}} , f (b 1, b 2,…, bn) = a 0 ⊕ (a 1 ∧ b 1) ⊕ ⋯ ⊕ (ан ∧ bn) {\ displaystyle f (b_ {1}, b_ {2}, \ dots, b_ {n}) = a_ {0} \ oplus (a_ {1} \ land b_ {1}) \ oplus \ dots \ oplus (a_ {n} \ land b_ {n})}{\ displaystyle f (b_ {1}, b_ {2}, \ dots, b_ {n}) = a_ {0} \ oplus (a_ {1} \ land b_ {1}) \ oplus \ dots \ oplus (a_ {n} \ land b_ {n})} , для всех b 1, b 2,…, bn ∈ {0, 1} {\ displaystyle b_ {1}, b_ {2}, \ dots, b_ {n} \ in \ {0,1 \}}{\ displaystyle b_ {1}, b_ {2}, \ dots, b_ {n} \ in \ {0,1 \}} .

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

Самодвойственная

В Булевой алгебре самодвойственная функция - это функция, такая что:

f (a 1,…, an) = ¬ f ( ¬ a 1,…, ¬ an) {\ displaystyle f (a_ {1}, \ dots, a_ {n}) = \ neg f (\ neg a_ {1}, \ dots, \ neg a_ {n})}{\ displaystyle f (a_ {1}, \ dots, a_ {n}) = \ neg f (\ neg a_ {1}, \ dots, \ neg a_ {n})} для всех a 1,…, an ∈ {0, 1} {\ displaystyle a_ {1}, \ dots, a_ {n} \ in \ {0,1 \}}{\ displaystyle a_ {1}, \ dots, a_ {n} \ in \ {0, 1 \}} . Отрицание - это самодвойственный логический оператор.

Отрицание кванторов

В логике первого порядка есть два квантификатора, один - универсальный квантор ∀ {\ displaystyle \ forall}\ forall (означает «для всех»), а другой - квантор существования ∃ {\ displaystyle \ exists}\ exists (означает «существует»). Отрицание одного квантора - это другой квантор (¬ ∀ x P (x) ≡ ∃ x ¬ P (x) {\ displaystyle \ neg \ forall xP (x) \ Equiv \ exists x \ neg P (x) }{\ displaystyle \ neg \ forall xP (x) \ Equiv \ существует x \ neg P (x)} и ¬ ∃ x P (x) ≡ ∀ x ¬ P (x) {\ displaystyle \ neg \ exists xP (x) \ Equiv \ forall x \ neg P (x)}{\ displaystyle \ neg \ exists xP (x) \ Equiv \ forall x \ neg P (x)} ). Например, с предикатом P как «x смертен» и областью x как совокупностью всех людей, ∀ x P (x) {\ displaystyle \ forall xP (x)}{\ displaystyle \ forall xP (x)} означает «человек x во всех людях смертен» или «все люди смертны». Его отрицание: ¬ ∀ x P (x) ≡ ∃ x ¬ P (x) {\ displaystyle \ neg \ forall xP (x) \ Equiv \ exists x \ neg P (x)}{\ displaystyle \ neg \ forall xP (x) \ Equiv \ существует x \ neg P (x)} , что означает «во всех людях существует личность x, которая не смертна», или «существует тот, кто живет вечно».

Правила вывода

Есть несколько эквивалентных способов сформулировать правила отрицания. Один из обычных способов сформулировать классическое отрицание в настройке естественного вывода состоит в том, чтобы принять за примитивные правила введение отрицания вывода (от вывода P {\ displaystyle P}P к обоим Q {\ displaystyle Q}Qи ¬ Q {\ displaystyle \ neg Q}\ neg Q , вывести ¬ P {\ displaystyle \ neg P}\ neg P ; это правило также называется reductio ad absurdum ), исключение отрицания (из P {\ displaystyle P}P и ¬ P {\ displaystyle \ neg P}\ neg P вывести Q {\ displaystyle Q}Q; это правило также называется ex falso quodlibet) и исключение двойного отрицания (из ¬ ¬ P {\ displaystyle \ neg \ neg P}{\ displaystyle \ neg \ neg P} вывести P {\ displaystyle P}P ). Правила интуиционистского отрицания получаются таким же образом, но исключая исключение двойного отрицания.

Введение отрицания утверждает, что если абсурд может быть сделан как вывод из P {\ displaystyle P}P , то P {\ displaystyle P}P не должно быть так (например, P {\ displaystyle P}P является ложным (классически) или опровергнутым (интуиционистски) и т. д.). Устранение отрицания утверждает, что все следует из абсурда. Иногда исключение отрицания формулируется с помощью знака примитивного абсурда ⊥ {\ displaystyle \ bot}\ bot . В этом случае правило гласит, что из P {\ displaystyle P}P и ¬ P {\ displaystyle \ neg P}\ neg P следует абсурд. Вместе с устранением двойного отрицания можно вывести наше изначально сформулированное правило, а именно, что все следует из абсурда.

Обычно интуиционистское отрицание ¬ P {\ displaystyle \ neg P}\ neg P из P {\ displaystyle P}P определяется как П → ⊥ {\ Displaystyle P \ rightarrow \ bot}{\ displaystyle P \ rightarrow \ bot} . Тогда введение и исключение отрицания - это просто частные случаи введения импликации (условное доказательство ) и исключения (modus ponens ). В этом случае нужно также добавить в качестве примитивного правила ex falso quodlibet.

Язык программирования и обычный язык

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

if (! (R == t)) {/*... инструкции, выполняемые, когда r НЕ равно t... * /}

Восклицательный знак "!"означает логическое НЕ в B, C и языки с синтаксисом на основе C, такие как C ++, Java, JavaScript, Perl и PHP. "NOT" - это оператор, используемый в ALGOL 60, BASIC и языках с синтаксисом, вдохновленным ALGOL или BASIC, например Pascal, Ada, Eiffel и Seed7. Некоторые языки (C ++, Perl и т. Д.) Предоставляют более одного оператора для отрицания. A некоторые языки, такие как PL / I и Ratfor, используют ¬для отрицания. Некоторые современные компьютеры и операционные системы будут отображать ¬как !для файлов, закодированных в ASCII. Большинство современных языков позволяют сокращать приведенный выше оператор с if (! (R == t))до if (r! = T), что позволяет иногда, когда компилятор / интерпретатор не может оптимизировать его, более быстрые программы.

В информатике тоже есть побитовое отрицание. Это принимает заданное значение и переключает все двоичные 1 на 0 и 0 на 1. См. поразрядную операцию. Это часто используется для создания дополнения до единиц или «~» в C или C ++ и дополнения до двух (просто упрощено до «-"или отрицательный знак, поскольку это эквивалентно получению отрицательного арифметического значения числа), поскольку он в основном создает противоположное (эквивалент отрицательного значения) или математическое дополнение значения (когда оба значения складываются вместе, они создают единое целое).

Чтобы получить абсолютное (положительное эквивалентное) значение данного целого числа, следующее будет работать, поскольку «-» изменяет его с отрицательного на положительное (оно отрицательное, потому что «x < 0"возвращает истину)

unsigned int abs (int x) {if (x < 0) return -x; else return x; }

Чтобы продемонстрировать логическое отрицание:

unsigned int abs (int x) {if (! (X < 0)) return x; else return -x; }

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

Это соглашение иногда встречается в обычной письменной речи, как связанный с компьютером сленг вместо «нет». Например, фраза ! Голосованиеозначает «не голосование». Другой пример - фраза ! clue, который используется в качестве синонима для слов «не догадывается» или «невежественен».

семантика Крипке

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

См. Также
Ссылки
Дополнительная литература
  • Габбей, Дов и Вансинг, Генрих, ред., 1999. Что такое отрицание?, Клувер.
  • Хорн, Л., 2001. Естественная история отрицания, Университет of Chicago Press.
  • Г. Х. фон Райт, 1953–59, «О логике отрицания», Commentationes Physico-Mathematicae 22.
  • Вансинг, Генрих, 2001, «Отрицание», в Гобле, Лу, изд., Руководство Блэквелла по философской логике, Блэквелл.
  • Теттаманти, Марко; Маненти, Роза; Della Rosa, Pasquale A.; Фалини, Андреа; Перани, Даниэла; Каппа, Стефано Ф.; Моро, Андреа (2008). «Отрицание в мозгу: представление модулирующего действия». NeuroImage. 43 (2): 358–367. doi : 10.1016 / j.neuroimage.2008.08.004. PMID 18771737. S2CID 17658822.
Внешние ссылки
На Викискладе есть материалы, связанные с Negation.
Таблицы истины составных предложений
Последняя правка сделана 2021-05-31 13:45:15
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте