논리 연산은 논리적 명제를 조작하고 결합하는 데 사용되는 연산이다. 멱등, 교환, 결합, 분배, 흡수, 드 모르간의 법칙 등의 연산 법칙을 따르며, 부정, 논리곱, 논리합, 조건문, 쌍조건문 등의 종류가 있다. 논리 연산은 0입력, 1입력, 2입력 연산으로 나뉘며, 완전성을 통해 특정 연산자 집합만으로 모든 논리 연산을 표현할 수 있다. 컴퓨터 과학에서는 논리 게이트를 통해 디지털 회로를 구성하고 비트 연산을 수행하며, 집합론에서는 집합 연산을 정의하는 데 사용된다. 자연어 연결사와 관련된 연구도 진행되며, 형식 의미론에서 자연어 연결사의 의미를 논리 연산과 연결하여 연구한다.
더 읽어볼만한 페이지
논리 기호 - 화살표 화살표는 방향이나 관계를 나타내는 기호로, 과거에는 물의 흐름이나 군대 이동을 나타냈지만 현재는 표지판, 수학, 논리학, 컴퓨터 과학 등 다양한 분야에서 활용되며 유니코드에는 다양한 형태의 화살표 기호들이 정의되어 있다.
논리 기호 - 이중 턴스틸 이중 턴스틸은 논리학에서 모델 구조와 문장 집합의 관계를 나타내는 기호로, 문장 집합의 충족 가능성을 표현하며 의미론적 귀결 및 항진명제와 관련되어 있고, 유니코드와 LaTeX, TeX 환경에서 특정 방식으로 표현된다.
논리 연결자 - 거짓 거짓은 논리학에서 명제의 진리값 중 하나로 참의 반대되는 개념이며, 고전 논리와 부울 논리에서 명제가 가질 수 있는 값이고, 부정, 조건문과 연관되어 있으며, 형식 이론에서는 정리로 도출되지 않을 때 일관성이 있다고 정의된다.
컴퓨터 과학 - 수학적 최적화 수학적 최적화는 주어진 집합에서 실수 또는 정수 변수를 갖는 함수의 최댓값이나 최솟값을 찾는 문제로, 변수 종류, 제약 조건, 목적 함수 개수에 따라 다양한 분야로 나뉘며 여러 학문 분야에서 활용된다.
컴퓨터 과학 - 증명 보조기 증명 보조기는 수학적 증명의 정확성을 검증하고 형식적인 증명 탐색을 지원하는 소프트웨어 도구로, 고차 논리, 의존 타입, 작은 커널, 자동 정리 증명, 반사 증명, 코드 생성 등의 다양한 기능을 제공하며, "정리 증명기 박물관" 프로젝트를 통해 소스 보존을 목표로 하는 다양한 시스템들이 존재한다.
논리 연산
개요
정의
논리 연산(logical operations)은 하나 이상의 논리 입력에 대해 논리적 출력을 생성하는 연산이다.
다른 이름
불 연산(boolean operations) 논리 접속사 (logical connectives) 명제 접속사 (propositional connectives)
종류
부정 (NOT)
입력된 논리값의 반대 값을 출력한다. (참 → 거짓, 거짓 → 참)
논리곱 (AND)
모든 입력이 참일 경우에만 참을 출력한다.
논리합 (OR)
하나 이상의 입력이 참일 경우 참을 출력한다.
배타적 논리합 (XOR)
입력 중 하나만 참일 경우 참을 출력한다.
조건 (IMPLICATION)
'만약 A라면 B이다'의 형태로, A가 참이고 B가 거짓일 경우에만 거짓을 출력한다.
동치 (EQUIVALENCE)
두 입력이 동일한 논리값을 가질 경우 참을 출력한다.
NAND
논리곱의 결과를 부정한다.
NOR
논리합의 결과를 부정한다.
응용 분야
컴퓨터 과학
디지털 회로 설계 프로그래밍 언어 (조건문, 논리 연산자) 데이터베이스 (SQL의 WHERE 절)
고전 논리의 표준 논리 연결사는 영어 등 많은 자연어의 문법적 접속사와 어느 정도 유사하다. 하지만 자연어에서는 보어, 동사의 어미, 입자 형태로 나타나기도 한다. 자연어 연결사의 의미를 연구하는 분야는 형식 의미론이다.
자연어 연결사의 의미는 고전 논리의 대응어와 정확히 일치하지 않는 경우가 많다. 예를 들어, 많은 언어에서 '또는'은 배타적 의미(둘 중 하나만 참)로 해석될 수 있다. 일부 학자들은 이를 자연어 의미론이 비고전적이라는 증거로 보지만, 다른 학자들은 화용론적 설명(스칼라 함축 등)을 통해 고전적 의미론을 유지하려 한다. 이 외에도 자유 선택 추론, 헐포드의 제약, 대안 질문 등에서 자연어와 고전 논리 간의 차이가 나타난다.
또한 함축의 역설, 당나귀 지칭, 반사실적 조건문 문제 등 자연어 조건문과 고전 논리의 조건문 사이에도 명백한 불일치가 존재한다. 이러한 현상 때문에 자연어 조건문의 의미를 엄격 조건, 가변적 엄격 조건, 다양한 동적 연산자 등으로 설명하려는 시도가 있다.
부정: 기호 는 1930년 헤이팅이 사용했다[3][4] (프레게의 Begriffsschrift에서 사용된 ⫟와 비교)[5]. 기호 는 1908년 러셀이 사용했다[6]. 이외에도 수식 위에 가로선을 긋는 나 프라임 기호를 사용하는 같은 표기법도 있다. 1929년 우카시에비치는 문자를 사용하여 로 표기했다.
논리곱(결합): 기호 는 1930년 헤이팅이 사용했다[3] (페아노가 교집합 의 집합론적 표기법을 사용한 것과 비교)[7]. 기호 는 적어도 1924년 숀핀켈이 사용했다[8]. 기호 는 부울이 논리를 기초 대수학으로 해석한 데서 유래했다. 1904년 힐베르트는 독일어 "und"(그리고)를 뜻하는 를 사용했고[17], 1929년 우카시에비치는 로 표기했다.
논리합(선언): 기호 는 1908년 러셀이 사용했다[6] (페아노가 합집합 의 집합론적 표기법을 사용한 것과 비교). 기호 도 사용되는데, 이는 부울의 대수학적 해석에서 유래했지만, 두 개의 원소를 가진 링에서 가 배타적 논리합을 의미할 수 있어 모호함이 있다. 퍼스는 역사적으로 와 오른쪽 아래에 점을 찍은 기호를 사용했다[9]. 1904년 힐베르트는 독일어 "oder"(또는)를 뜻하는 를 사용했고[17], 1929년 우카시에비치는 로 표기했다.
함의(조건문): 기호 는 1918년 힐베르트가 사용했다[10]. 기호 는 1908년 러셀이 사용했다[6] (페아노의 Ɔ, 즉 C를 뒤집은 기호와 비교). 기호 는 1954년 부르바키가 사용했다[11]. 1929년 우카시에비치는 로 표기했다.
동치(쌍조건문): 기호 는 1879년 프레게가 사용했다[12]. 기호 는 1933년 베커가 사용했다[13]. 기호 는 1954년 부르바키가 사용했다[14]. 역사적으로 겐첸의 [15], 숀핀켈의 [8], Chazal의 [16] 등 다른 기호들도 사용되었다. 1929년 우카시에비치는 로 표기했다.
참: 기호 은 부울이 논리를 두 원소 부울 대수에 대한 기초 대수학으로 해석한 데서 유래했다. 다른 표기법으로는 1889년 페아노가 사용한 (라틴어 "verum"의 약자)가 있다.
거짓: 기호 또한 부울이 논리를 링으로 해석한 데서 유래했다. 다른 표기법으로는 1889년 페아노가 사용한 (회전된 )가 있다.
5. 논리 연산자의 성질
논리합을 , 논리곱을 , 부정을 이라고 할 때, 논리 연산자들은 다양한 성질을 만족시킨다. 이러한 성질은 논리식을 간소화하거나 동치 관계를 증명하는 데 사용된다. 주요 법칙과 성질은 다음과 같다. (여기서 0은 거짓, 1은 참을 나타낸다.)
'''기본 법칙'''
멱등 법칙: 같은 명제를 논리합 또는 논리곱 연산하면 원래 명제와 같다.
교환 법칙: 논리합 또는 논리곱 연산에서 피연산자의 순서를 바꿔도 결과는 같다.
결합 법칙: 같은 논리 연산이 연속될 때, 연산 순서를 바꿔도 결과는 같다.
분배 법칙: 논리곱은 논리합에 대해 분배되고, 논리합은 논리곱에 대해 분배된다.
흡수 법칙: 한 명제와, 그 명제와 다른 명제의 논리곱(또는 논리합)을 논리합(또는 논리곱)하면 원래 명제가 된다.
드 모르간의 법칙: 논리합 또는 논리곱의 부정은 각 명제의 부정을 논리곱 또는 논리합한 것과 같다.
'''항등원, 영원, 보원, 이중 부정 법칙'''
항등원 및 영원 법칙:
보원 법칙:
이중 부정 법칙:
'''추가 속성'''
논리 연결어는 다음과 같은 추가적인 속성을 가질 수 있다.
결합법칙: 둘 이상의 동일한 결합법칙 연결어가 연속으로 포함된 표현식 내에서, 피연산자의 순서가 변경되지 않는 한 연산 순서는 중요하지 않다. (위의 기본 법칙과 동일)
교환법칙: 연결어의 피연산자를 교환할 수 있으며, 원래 표현식과 논리적 동등성을 유지한다. (위의 기본 법칙과 동일)
분배법칙: ·로 표시된 연결어가 +로 표시된 다른 연결어에 분배되는 경우, 모든 피연산자 에 대해 이다. (위의 기본 법칙과 동일)
멱등성: 연산의 피연산자가 동일할 때마다 복합 명제는 피연산자와 논리적으로 동일하다. (위의 기본 법칙과 동일)
흡수: 연결어 쌍 는 모든 피연산자 에 대해 (그리고 )이면 흡수 법칙을 만족한다. (위의 기본 법칙과 동일)
단조성: 모든 에 대해, 이면 를 만족하는 성질이다. 즉, 입력값이 커지면(거짓에서 참으로) 출력값도 작아지지 않는다(거짓에서 참으로 가거나 그대로 유지된다). 예: , , ⊤(항상 참), ⊥(항상 거짓).
아핀성: 각 변수의 진리값 변경이 연산 결과의 진리값에 항상 영향을 주거나, 항상 영향을 주지 않는 성질이다. 예: , (논리 동치), (배타적 논리합의 부정), ⊤, ⊥.
쌍대성: 어떤 연산의 진리표를 위에서 아래로 읽는 것이, 그 연산 또는 다른 연산의 진리표에서 입력을 부정한 뒤 아래에서 위로 읽는 것과 같은 결과를 내는 성질이다. 수식으로는 로 표현될 수 있다. 예: . 고전 논리에서 와 는 서로 쌍대 관계이다.
진리 보존: 모든 입력이 항진식(참)일 때 결과도 항진식(참)이 되는 성질이다. 예: , , ⊤, (함의), . (타당성 참조).
거짓 보존: 모든 입력이 모순(거짓)일 때 결과도 모순(거짓)이 되는 성질이다. 예: , , , ⊥. (타당성 참조).
대합성 (단항 연산자): 연산을 두 번 적용하면 원래 값으로 돌아오는 성질이다. 즉, 이다. 예: 고전 논리의 부정().
고전 논리, 대부분의 다치 논리, 직관주의 논리에서 논리곱()과 논리합()은 결합 법칙, 교환 법칙, 멱등 법칙을 만족한다. 또한 분배 법칙과 흡수 법칙도 성립한다. 고전 논리와 일부 다치 논리에서는 논리곱과 논리합이 서로 쌍대적이며, 부정은 자기 쌍대적이다. 직관주의 논리에서는 부정이 자기 쌍대적이다.
6. 우선 순위
수학이나 프로그래밍에서처럼, 논리 연산에서도 복잡한 수식을 명확하게 하고 괄호 사용을 줄이기 위해 연산자 우선 순위 규칙을 정할 수 있다. 일반적으로 사용되는 우선 순위는 다음과 같다.
이 규칙에 따르면, 가 가장 먼저 계산되고, 가 가장 나중에 계산된다. 예를 들어, 라는 식은 괄호를 사용하여 명시적으로 표현하면 와 같다. 즉, 이 먼저 계산되고, 그 결과와 의 논리곱()이 계산되며, 다시 그 결과와 의 논리합()이 계산된 후, 마지막으로 이 전체 결과와 사이의 조건() 연산이 수행된다.
다음 표는 일반적으로 통용되는 논리 연산자의 우선 순위를 나타낸다.[19][20]
연산자
우선 순위
1
2
3
4
5
하지만 모든 컴파일러가 이 순서를 따르는 것은 아니다. 예를 들어, 선언()이 함축() 또는 쌍방향 함축()보다 우선 순위가 낮은 순서도 사용되었다.[21] 때때로 결합()과 선언() 사이의 우선 순위가 지정되지 않아 괄호로 주어진 공식에 명시적으로 제공해야 한다. 우선 순위는 비원자 공식을 해석할 때 어떤 연결사가 "주 연결사"인지 결정한다.
7. 완전성
특정 논리 연산자들의 조합만으로 임의의 다른 논리 연산을 모두 표현할 수 있는 성질을 완전성(functional completeness영어)이라고 한다.
논리합(∨)과 논리곱(∧)만으로는 완전성을 만족하지 못하며, 반드시 부정(¬) 연산자가 필요하다. 반면, 부정(¬) 연산자가 있다면 논리합(∨)과 논리곱(∧) 중 어느 하나만 있어도 완전한 집합을 이룰 수 있다. 즉, {¬, ∨} 집합과 {¬, ∧} 집합은 각각 완전하다.
더 나아가, 부정 논리곱(NAND) 연산자나 부정 논리합(NOR) 연산자는 각각 하나만으로도 완전성을 만족한다. 즉, NAND 연산자 하나만 사용하거나 NOR 연산자 하나만 사용하여 모든 논리 연산을 표현할 수 있다.
한편, '만약 ...이면 ...이다'를 나타내는 논리 함의(→, imply) 연산자는 완전성과 관련하여 미묘한 점이 있다. 논리 함의 연산자만으로는 완전하지 않으며, 거짓을 나타내는 상수(⊥)와 같은 상수 입력을 필요로 할 수 있다. 이를 '사실상의 완전성'(virtual completeness영어)이라고 표현하기도 한다.
논리 연산자는 컴퓨터 과학과 집합론에서 사용된다. 논리 연산자의 진리 함수적 접근 방식은 논리 게이트를 통해 디지털 회로로 구현된다. 사실상 모든 디지털 회로(주요 예외는 DRAM)는 NAND, NOR, NOT 및 전송 게이트로 구성된다. 비트 벡터(유한 부울 대수에 해당)에 대한 논리 연산은 비트 연산이다.
하지만 컴퓨터 프로그래밍에서 논리 연산자를 사용하는 모든 경우에 불리언 의미가 있는 것은 아니다. 예를 들어, 지연 평가가 ''P'' ∧ ''Q'' 와 ''P'' ∨ ''Q'' 연산에 적용될 때, 표현식 ''P''나 ''Q'' 중 하나 또는 둘 다 부작용을 일으킨다면 이 연산자들은 교환 법칙이 성립하지 않을 수 있다. 또한, 조건문 if (P) then Q;의 경우, 조건 ''P''가 거짓이면 ''Q''는 실행되지 않으므로, 전체 문장이 참(true)으로 평가될 수 있음에도 불구하고 본질적으로 불리언 연산과는 다르다. 이는 고전 논리의 관점보다는 직관주의나 구성주의에서 물질 조건문을 다루는 방식과 더 유사하다.
8. 2. 집합론
논리 연산자는 컴퓨터 과학과 집합론에서 사용된다. 논리 연산자는 다음과 같이 집합론의 기본적인 연산을 정의하는 데 사용된다.[22]
형식 의미론에서는 자연어의 연결사가 가진 의미를 논리 연산과 연결하여 연구한다. 하지만 자연어에서 사용되는 연결사의 의미가 항상 논리 연산의 정의와 정확히 일치하는 것은 아니다. 예를 들어, 자연어의 '또는'은 배타적으로 해석될 때도 있고, '만약 ...라면'은 함축의 역설과 같은 문제를 보이기도 한다.
자연어 문장은 논리 연결사를 통해 그 의미가 변환될 수 있다. 예를 들어, "비가 온다"는 진술을 p로, "나는 실내에 있다"는 진술을 q로 표시할 때, 다음과 같이 다양한 문장을 만들 수 있다.[2]
[1]
웹사이트
What is the difference between logical and conditional /operator/
https://stackoverflo[...]
2015-04-09
[2]
서적
数理逻辑:形式化方法的应用
Preprint.
2023
[3]
간행물
Die formalen Regeln der intuitionistischen Logik
1930
[4]
문서
A brief survey of 20th century logical notations
https://members.lori[...]
Denis Roegel
2002
[5]
서적
Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens
Verlag von Louis Nebert
1879
[6]
문서
Mathematical logic as based on the theory of types
Bertrand Russell
1908
[7]
문서
Arithmetices principia, nova methodo exposita
Giuseppe Peano
1889
[8]
문서
Über die Bausteine der mathematischen Logik
Moses Schönfinkel
1924
[9]
문서
On an improvement in Boole's calculus of logic
Charles Sanders Peirce
1867
[10]
서적
Prinzipien der Mathematik
1918
[11]
서적
Théorie des ensembles
Hermann & Cie, Éditeurs
1954
[12]
서적
Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens
Verlag von Louis Nebert
1879
[13]
서적
Die Aristotelische Theorie der Möglichkeitsschlösse: Eine logisch-philologische Untersuchung der Kapitel 13-22 von Aristoteles' Analytica priora I
Junker und Dünnhaupt Verlag
1933
[14]
서적
Théorie des ensembles
Hermann & Cie, Éditeurs
1954
[15]
문서
Untersuchungen über das logische Schließen
Gerhard Gentzen
1934
[16]
문서
Éléments de logique formelle
Chazal
1996
[17]
백과사전
Über die Grundlagen der Logik und der Arithmetik
1905
[18]
문서
A Précis of Mathematical Logic
Józef Maria Bocheński
1959
[19]
서적
Discrete Mathematics Using a Computer
https://books.google[...]
Springer
[20]
서적
Logic primer
The MIT Press
2022
[21]
서적
Software Abstractions: Logic, Language, and Analysis
https://books.google[...]
MIT Press
[22]
서적
A book of set theory
Dover Publications, Inc
2014
[23]
웹사이트
Set operations
https://www.siue.edu[...]
2024-06-11
[24]
웹사이트
1.5 Logic and Sets
https://www.whitman.[...]
2024-06-11
[25]
웹사이트
Theory Set
https://mirror.clark[...]
2024-06-11
[26]
웹사이트
Set Inclusion and Relations
https://autry.sites.[...]
2024-06-11
[27]
웹사이트
Complement and Set Difference
https://web.mnstate.[...]
2024-06-11
[28]
웹사이트
Set Operations and Subsets – Foundations of Mathematics
https://ma225.wordpr[...]
2024-06-11
[29]
웹사이트
Basic concepts
https://www.siue.edu[...]
2024-06-11
[30]
웹사이트
Set Operations and Subsets – Foundations of Mathematics
https://ma225.wordpr[...]
2024-06-11
[31]
웹사이트
Set Operations and Subsets – Foundations of Mathematics
https://ma225.wordpr[...]
2024-06-11
[32]
문서
たとえば、三角関数の sin などといった関数それ自体が「関数」であり、sin(3.14) などのように関数と実引数とを結びつけること and・or 結びつけたものを「関数適用」と言う。
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.