아이버슨 괄호

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

아이버슨 괄호는 명제 P에 대해 0 또는 1의 값을 갖는 정수 표기법으로, 명제가 참이면 1, 거짓이면 0을 나타낸다. 굴리엘모 리브리 카루치 달라 솜마야가 1830년대에 처음 사용했으며, 1962년 케네스 유진 아이버슨이 APL 프로그래밍 언어에서 사용하면서 널리 알려졌다. 이 표기법은 논리 및 집합 연산과 관련이 있으며, 합의 경계 조건 조작, 이중 계산 규칙 유도, 특정 조건 만족 항의 개수 세기, 특수한 경우의 공식 간략화, 여러 함수 표현 등 다양한 수학적 표현에 활용된다.

아이버슨 괄호
📚 더 읽어볼만한 페이지
  • 수학 표기법 - 기수법
    기수법은 수를 나타내는 방법 또는 체계로, 십진법을 비롯한 다양한 종류가 존재하며, 일진법, 명수법, 위치값 기수법 등으로 분류되고, 가장 널리 사용되는 십진법은 힌두-아라비아 숫자 체계를 기반으로 위치값 기수법의 발전과 0의 도입으로 수학적 계산의 효율성을 높였다.
  • 수학 표기법 - 중위 표기법
    중위 표기법은 사람이 이해하기 쉬운 연산자 표기 방식이지만, 컴퓨터가 구문 분석하기 어렵고 연산 순서를 위해 괄호나 연산자 우선순위 규칙이 필요하다.

2. 정의

아이버슨 괄호는 어떤 명제 P에 대하여 [P] \in \{0,1\}의 값을 가지는 정수로, 다음과 같이 정의되는 표기법이다.

* 만약 P가 참이라면 [P] = 1이다.
* 만약 P가 거짓이라면 [P] = 0이다.

예를 들어 [n>0]n=3일 때 [3>0]=1이지만, n=-2일 때 [-2>1] = 0이다.

3. 역사

1830년대에 굴리엘모 리브리 카루치 달라 솜마이아(it, 1803〜1869)는 다음과 같은 기호를 도입(또는 ‘발견’)하였다.

:0^{0^x} = [x>0]

이는 0^0 = 10^{-1} = \infty0^\infty = 0과 같은 정의를 사용하면 우변의 아이버슨 괄호와 같은 뜻임을 알 수 있다. 리브리는 이를 사용하여 다음과 같은 꼴의 표기를 사용하였다.

:(1-0^{0^{-x}})(1-0^{0^{x-a}}) = [0\le x\le a]

이후 케네스 유진 아이버슨(Kenneth Eugene Iverson영어, 1920 ~ 2004)이 1962년에 프로그래밍 언어 APL에서 이와 같은 표기법을 사용하였다. 이후 도널드 크누스가 아이버슨의 표기법을 일반 수학 표기에서 널리 사용하기 시작하였다.

4. 성질

아이버슨 괄호의 계산 규칙과 논리 및 집합 연산 사이에는 직접적인 대응 관계가 있다. A, B를 집합으로 하고, P(k_1,\dots)를 정수에 대한 임의의 성질이라고 하면, 다음과 같은 관계가 성립한다.

:\begin{align}[]
[P \land Q] &= [P][Q], \qquad [\neg P] = 1 - [P]. \\[1em]
[P \lor Q] &= [P] + [Q] - [P][Q]. \\[1em]
[k \in A] + [k \in B] &= [k \in A \cup B] + [k \in A \cap B]. \\[1em]
[x \in A \cap B] &= [x \in A] [x \in B]. \\[1em]
[\forall m\ . \ P(k, m)] &= \prod_m [P(k, m)]. \\[1em]
[\exists m\ . \ P(k, m)] &= \min\Big(1, \sum_m [P(k, m)]\Big) = 1 - \prod_m \left(1 - [P(k, m)] \right). \\[1em]
\#\{m \mid P(k, m)\} &= \sum_m [P(k, m)].
\end{align}

5. 활용 예시

아이버슨 괄호 표기법을 사용하면 합이나 적분의 경계 조건을 피연산자 안으로 이동시켜 대수적으로 조작할 수 있다. 이러한 특징은 다양한 수학 분야에서 활용된다.

* [[오일러 피 함수|오일러의 토션 함수]] 표현: n과 상호소인 n 이하 양의 정수의 개수를 나타내는 오일러 피 함수는 아이버슨 괄호를 사용하여 다음과 같이 표현할 수 있다.

: \varphi(n)=\sum_{i=1}^{n}[\gcd(i,n)=1],\qquad\text{for } n\in\N^+.
* 특수한 경우의 공식 간략화: 특수한 경우에 따라 식이 달라지는 경우, 아이버슨 괄호를 이용하여 모든 경우에 대해 유효한 하나의 식으로 표현할 수 있다. 예를 들어, 다음 공식은

:\sum_{1\le k\le n \atop \gcd(k,n)=1}\!\!k = \frac{1}{2}n\varphi(n)

n=1일 때 성립하지 않지만, 아이버슨 괄호를 추가하면 다음과 같이 모든 양의 정수 n에 대해 유효한 공식이 된다.

:\sum_{1\le k\le n \atop \gcd(k,n)=1}\!\!k = \frac{1}{2}n \Big(\varphi(n)+[n=1]\Big)
* 여러 함수 표현: 크로네커 델타, 지시 함수, 헤비사이드 계단 함수, 부호 함수, 절댓값 함수, 바닥 함수와 천장 함수, 램프 함수 등 다양한 함수들을 아이버슨 괄호를 사용하여 간결하게 표현할 수 있다.
* [[삼분법 (수학)|삼분법]] 표현: 실수의 삼분법은 다음 항등식과 같다.

:[a < b] + [a = b] + [a > b] = 1.
* [[뫼비우스 함수]] 표현: 뫼비우스 함수는 다음 속성을 가진다.

:\sum_{d|n} \mu(d) \ =\ [n=1].

5.1. 이중 계산 규칙

아이버슨 괄호를 사용하면 다음과 같이 합을 조작하는 규칙을 유도할 수 있다.

👆
좌우로 밀어서 보기
\sum_{k\in A}f(k)+\sum_{k\in B}f(k) = \sum_kf(k)\,[k\in A]+\sum_kf(k)\,[k\in B]
= \sum_kf(k)\,([k\in A]+[k\in B])
= \sum_kf(k)\,([k\in A\cup B]+[k\in A\cap B])
= \sum_{k\in A\cup B}f(k)\ +\sum_{k\in A\cap B}f(k)

5.2. 합의 순서 교환

잘 알려진 규칙 \sum_{j=1}^n \sum_{k=1}^j f(j,k) = \sum_{k=1}^n \sum_{j=k}^n f(j,k)도 마찬가지로 쉽게 유도할 수 있다.

\begin{align}
\sum_{j=1}^n\,\sum_{k=1}^j f(j,k)
&=\sum_{j,k}f(j,k)\,[1\leq j\leq n]\,[1\leq k\leq j]
\\&=\sum_{j,k}f(j,k)\,[1\leq k\leq j\leq n]
\\&=\sum_{j,k}f(j,k)\,[1\leq k\leq n]\,[k\leq j\leq n]
\\&=\sum_{k=1}^n\,\sum_{j=k}^n f(j,k).
\end{align}

5.3. 특정 조건을 만족하는 항의 개수 세기

n과 상호소인, n 이하 양의 정수의 개수를 세는 오일러의 토션 함수는 다음과 같이 표현할 수 있다.

: \varphi(n)=\sum_{i=1}^{n}[\gcd(i,n)=1],\qquad\text{for } n\in\N^+.

5.4. 특수한 경우의 공식 간략화

Another use of the Iverson bracket is to simplify equations with special cases.영어 예를 들어, 다음 공식은

:\sum_{1\le k\le n \atop \gcd(k,n)=1}\!\!k = \frac{1}{2}n\varphi(n)

에 유효하지만 에 대해서는 만큼 차이가 있습니다. 모든 양의 정수 (즉, \varphi(n)이 정의된 모든 값)에 유효한 항등식을 얻기 위해, 아이버슨 괄호를 포함하는 수정 항을 추가할 수 있습니다.

:\sum_{1\le k\le n \atop \gcd(k,n)=1}\!\!k = \frac{1}{2}n \Big(\varphi(n)+[n=1]\Big)

5.5. 여러 함수의 표현

많은 일반적인 함수, 특히 자연적인 조각별 정의를 가진 함수는 아이버슨 괄호로 표현될 수 있다. 크로네커 델타 표기법은 조건이 같을 때 아이버슨 표기법의 특수한 경우이다. 즉,
:\delta_{ij} = [i=j].

집합 A지시 함수는 종종 \mathbf{1}_A(x), \mathbf{I}_A(x) 또는 \chi_A(x)로 표시되며, 집합 멤버십을 조건으로 하는 아이버슨 괄호이다.
:\mathbf{I}_A(x) = [x\in A].

헤비사이드 계단 함수, 부호 함수 및 절댓값 함수도 이 표기법으로 쉽게 표현할 수 있다.
:\begin{align}
H(x) &= [x \ge 0], \\
\sgn(x) &= [x > 0] - [x < 0],
\end{align}

그리고
:\begin{align}
|x| &= x[x > 0] - x[x < 0] \\
&= x([x > 0] - [x < 0]) \\
&= x \cdot \sgn(x).
\end{align}

비교 함수 max와 min (두 인자 중 더 크거나 작은 값을 반환)은 다음과 같이 쓸 수 있다.
:\max(x, y) = x[x > y] + y[x \leq y]
:\min(x, y) = x[x \leq y] + y[x > y].

바닥 함수와 천장 함수는 다음과 같이 표현할 수 있다.
:\lfloor x \rfloor = \sum_n n \cdot [n \le x < n + 1]
그리고
:\lceil x \rceil = \sum_n n \cdot [n - 1 < x \le n],
여기서 합의 인덱스 n은 모든 정수를 범위로 하는 것으로 이해된다.

램프 함수는 다음과 같이 표현할 수 있다.
:R(x) = x \cdot [x \geq 0].

실수의 삼분법은 다음 항등식과 같다.
:[a < b] + [a = b] + [a > b] = 1.

뫼비우스 함수는 다음 속성을 가진다(그리고 재귀적으로 다음과 같이 정의될 수 있다).
:\sum_{d|n} \mu(d) \ =\ [n=1].

6. 다른 함수를 이용한 표현

1830년대에 구글리엘모 달라 솜마야는 현재 [x > 0]으로 쓰이는 것을 나타내기 위해 표현식 0^{0^x}을 사용했으며, [0 \leq x \leq a]에 대해 \left(1 - 0^{0^{-x}}\right) \left(1 - 0^{0^{x-a}}\right)과 같은 변형도 사용했다. 일반적인 규칙에 따라, 정의된 경우 해당 값들은 다음과 같다. 0^{0^x}는 x > 0영어이면 1, x = 0영어이면 0, 그렇지 않으면 정의되지 않는다.

7. 표기법의 변형

현재 표준화된 대괄호 외에도 블랙보드 볼드 괄호(예: ⟦ · ⟧)가 사용되었으며, 출판사의 서체에서 사용할 수 있는 다른 특이한 형태의 괄호와 함께 여백 주석이 사용되기도 한다.