1.11 논리곱(AND), 논리합(OR), 부정(NOT) 연산의 정의

1. 불 변수와 진리값

논리 연산의 정의에 앞서, 논리 연산이 적용되는 대상인 불 변수(Boolean Variable)를 정의한다. 불 변수는 참(True, 1)과 거짓(False, 0)이라는 두 개의 진리값(Truth Value) 중 정확히 하나를 취하는 변수이다. 불 변수의 값 집합은 \mathbb{B} = \{0, 1\}이다.

불 함수(Boolean Function)는 하나 이상의 불 변수를 입력으로 받아 하나의 불 값을 출력으로 산출하는 함수이다. n개의 불 변수를 입력으로 받는 불 함수는 다음과 같이 정의된다:

f: \mathbb{B}^n \rightarrow \mathbb{B}

논리곱, 논리합, 부정은 가장 기본적인 불 함수이며, 이들의 조합으로 모든 불 함수를 구성할 수 있다.

논리곱(AND) 연산

형식적 정의

논리곱(Conjunction)은 두 개의 불 변수를 입력으로 받아, 두 입력이 모두 참일 때에만 참을 출력하고, 그 외의 모든 경우에 거짓을 출력하는 이항 연산(Binary Operation)이다.

논리곱 연산은 \wedge 기호로 표기하며, 불 대수에서는 곱셈 기호 \cdot로 표기한다. 두 불 변수 pq에 대한 논리곱의 정의는 다음과 같다:

p \wedge q = \begin{cases} 1 & \text{if } p = 1 \text{ and } q = 1 \\ 0 & \text{otherwise} \end{cases}

진리표(Truth Table)로 표현하면:

pqp \wedge q
000
010
100
111

1.1 산술적 표현

논리곱은 불 변수의 일반 산술적 곱셈과 동일하다:

p \wedge q = p \cdot q

이는 p, q \in \{0, 1\}일 때, p \cdot q의 산술적 결과가 논리곱의 진리표와 정확히 일치하기 때문이다.

대수적 성질

논리곱 연산은 다음의 대수적 성질을 만족한다:

  1. 교환법칙: p \wedge q = q \wedge p
  2. 결합법칙: (p \wedge q) \wedge r = p \wedge (q \wedge r)
  3. 멱등법칙: p \wedge p = p
  4. 항등원: p \wedge 1 = p (1은 항등원)
  5. 영원소: p \wedge 0 = 0 (0은 영원소)
  6. 보원: p \wedge \overline{p} = 0

집합론적 해석

클래스(Class) 해석에서 논리곱은 두 집합의 교집합(Intersection)에 대응한다. AB가 두 집합일 때:

A \cap B = \{x \mid x \in A \text{ and } x \in B\}

원소 xA \cap B에 속하는 것은 xA에 속하고 동시에 B에 속하는 것과 동치이며, 이는 논리곱의 정의와 정확히 대응한다.

1.2 다중 입력 논리곱

논리곱의 결합법칙에 의해 n개의 불 변수에 대한 논리곱이 자연스럽게 정의된다:

\bigwedge_{i=1}^{n} p_i = p_1 \wedge p_2 \wedge \cdots \wedge p_n

n-입력 논리곱은 모든 p_i = 1일 때에만 1을 출력하며, 하나라도 0이면 0을 출력한다.

논리합(OR) 연산

형식적 정의

논리합(Disjunction)은 두 개의 불 변수를 입력으로 받아, 하나 이상의 입력이 참일 때 참을 출력하고, 두 입력이 모두 거짓일 때에만 거짓을 출력하는 이항 연산이다.

논리합 연산은 \vee 기호로 표기하며, 불 대수에서는 덧셈 기호 +로 표기한다. 형식적 정의는 다음과 같다:

p \vee q = \begin{cases} 0 & \text{if } p = 0 \text{ and } q = 0 \\ 1 & \text{otherwise} \end{cases}

진리표로 표현하면:

pqp \vee q
000
011
101
111

이 정의는 포괄적 논리합(Inclusive Disjunction)이다. 두 입력이 모두 참인 경우에도 출력이 참이라는 점에서 배타적 논리합(Exclusive Disjunction, XOR)과 구별된다.

1.3 산술적 표현

논리합의 산술적 표현은 다음과 같다:

p \vee q = p + q - p \cdot q

이 표현은 p, q \in \{0, 1\}일 때 논리합의 진리표를 정확히 재현한다. 검증:

  • p=0, q=0: 0 + 0 - 0 = 0
  • p=0, q=1: 0 + 1 - 0 = 1
  • p=1, q=0: 1 + 0 - 0 = 1
  • p=1, q=1: 1 + 1 - 1 = 1

또는 동등하게:

p \vee q = \max(p, q)

1.4 대수적 성질

논리합 연산은 다음의 대수적 성질을 만족한다:

  1. 교환법칙: p \vee q = q \vee p
  2. 결합법칙: (p \vee q) \vee r = p \vee (q \vee r)
  3. 멱등법칙: p \vee p = p
  4. 항등원: p \vee 0 = p (0은 항등원)
  5. 영원소: p \vee 1 = 1 (1은 영원소)
  6. 보원: p \vee \overline{p} = 1

1.5 집합론적 해석

클래스 해석에서 논리합은 두 집합의 합집합(Union)에 대응한다:

A \cup B = \{x \mid x \in A \text{ or } x \in B\}

부정(NOT) 연산

형식적 정의

부정(Negation)은 하나의 불 변수를 입력으로 받아, 그 진리값을 반전시키는 단항 연산(Unary Operation)이다. 참을 거짓으로, 거짓을 참으로 변환한다.

부정 연산은 \neg 기호, 상단 막대 \overline{\phantom{x}}, 또는 프라임 기호 '로 표기한다. 형식적 정의는 다음과 같다:

\neg p = \begin{cases} 1 & \text{if } p = 0 \\ 0 & \text{if } p = 1 \end{cases}

진리표로 표현하면:

p\neg p
01
10

1.6 산술적 표현

부정의 산술적 표현은 다음과 같다:

\neg p = 1 - p

검증: p = 0이면 1 - 0 = 1, p = 1이면 1 - 1 = 0.

대수적 성질

부정 연산은 다음의 성질을 만족한다:

  1. 이중 부정(Double Negation): \neg(\neg p) = p. 부정을 두 번 적용하면 원래 값으로 복귀한다.
  2. 보원 성질: p \wedge \neg p = 0, p \vee \neg p = 1

집합론적 해석

클래스 해석에서 부정은 집합의 여집합(Complement)에 대응한다. 전체 집합 U에 대해:

\overline{A} = U \setminus A = \{x \in U \mid x \notin A\}

2. 논리곱과 논리합의 상호 관계: 분배법칙

논리곱과 논리합 사이에는 분배법칙(Distributive Law)이 성립한다:

논리곱의 논리합에 대한 분배:
p \wedge (q \vee r) = (p \wedge q) \vee (p \wedge r)

논리합의 논리곱에 대한 분배:
p \vee (q \wedge r) = (p \vee q) \wedge (p \vee r)

두 번째 법칙은 일반 산술에서 성립하지 않는 불 대수 특유의 성질이다. 일반 산술에서 a + (b \times c) \neq (a+b) \times (a+c)이나, 불 대수에서는 멱등법칙에 의해 이 등식이 성립한다.

3. 흡수법칙(Absorption Laws)

논리곱과 논리합 사이에는 흡수법칙이 성립한다:

p \wedge (p \vee q) = p
p \vee (p \wedge q) = p

첫 번째 법칙의 증명: p \wedge (p \vee q) = (p \wedge p) \vee (p \wedge q) = p \vee (p \wedge q). p \wedge q가 참이면 p도 반드시 참이므로 p \vee (p \wedge q) = p.

4. 쌍대 원리(Duality Principle)

불 대수에서 임의의 항등식(Identity)이 성립하면, 그 항등식에서 \wedge\vee를 교환하고, 0과 1을 교환한 항등식도 성립한다. 이를 쌍대 원리(Principle of Duality)라 한다.

예를 들어:

  • 원래 항등식: p \wedge 1 = p → 쌍대: p \vee 0 = p
  • 원래 항등식: p \wedge 0 = 0 → 쌍대: p \vee 1 = 1
  • 원래 항등식: p \wedge (q \vee r) = (p \wedge q) \vee (p \wedge r) → 쌍대: p \vee (q \wedge r) = (p \vee q) \wedge (p \vee r)

쌍대 원리는 논리곱과 논리합이 불 대수에서 완전히 대칭적인 역할을 함을 보여준다. 이 대칭성은 격자 이론(Lattice Theory)에서 만남(Meet)과 이음(Join) 연산의 쌍대성으로 일반화된다.

5. 기능적 완전성(Functional Completeness)

세 연산 \{\wedge, \vee, \neg\}는 기능적으로 완전(Functionally Complete)하다. 즉, 임의의 불 함수 f: \mathbb{B}^n \rightarrow \mathbb{B}는 논리곱, 논리합, 부정의 유한 조합으로 표현 가능하다.

이 사실의 증명은 정규형(Normal Form)의 존재에 기반한다. 임의의 불 함수는 논리합 정규형(Disjunctive Normal Form, DNF) 또는 논리곱 정규형(Conjunctive Normal Form, CNF)으로 표현 가능하다.

논리합 정규형(DNF): 최소항(Minterm)의 논리합으로 표현된다. n개의 변수에 대한 최소항은 각 변수가 원래 형태 또는 부정 형태로 정확히 한 번 나타나는 논리곱이다:

f(x_1, \ldots, x_n) = \bigvee_{\substack{(a_1, \ldots, a_n) \in \mathbb{B}^n \\ f(a_1, \ldots, a_n) = 1}} \left( \bigwedge_{i=1}^{n} x_i^{a_i} \right)

여기서 x_i^{1} = x_i, x_i^{0} = \neg x_i로 정의한다.

이 결과는 \{\wedge, \vee, \neg\}가 모든 불 함수를 생성하기에 충분한 연산 집합임을 보장하며, 이 세 연산이 논리학의 전 체계를 구축하기 위한 기본 빌딩 블록(Building Block)으로서의 역할을 수행함을 의미한다.

파생 연산

세 가지 기본 연산으로부터 다음의 중요한 파생 연산(Derived Operation)이 정의된다:

배타적 논리합(Exclusive OR, XOR):
p \oplus q = (p \wedge \neg q) \vee (\neg p \wedge q)

두 입력의 값이 다를 때에만 참을 출력한다. 산술적으로 p \oplus q = (p + q) \mod 2이다.

조건문(Conditional, Implication):
p \rightarrow q = \neg p \vee q

p가 참이고 q가 거짓인 경우에만 거짓이며, 나머지 모든 경우에 참이다.

쌍조건문(Biconditional, Equivalence):
p \leftrightarrow q = (p \rightarrow q) \wedge (q \rightarrow p) = (p \wedge q) \vee (\neg p \wedge \neg q)

두 입력의 진리값이 동일할 때 참이다.

이들 파생 연산은 독립적인 원시 연산이 아니라, 논리곱, 논리합, 부정으로 환원 가능한 복합 연산이다. 그럼에도 불구하고 프로그래밍 언어, 디지털 회로 설계, 논리학적 추론에서 빈번하게 사용되므로 고유한 기호와 명칭이 부여되어 있다.