Prerequisite

단사(Injective)

어떤 함수 $F:X\to Y$가 있을 때, $F$가 injective라는 것은

\[F(x_1)=F(x_2)\Longrightarrow x_1=x_2\]

라는 것입니다. 즉, 함수값으로부터 원래 정보를 추론해낼 수 있다는 것이지요. 예를 들어, $F:\mathbb{C}\to\mathbb{C}$일 때 $F(x)=x$라는 함수는 $F(x_1)=F(x_2)$라면 $x_1=x_2$가 당연히 성립하여 단사이지만, $F(x)=x^2$이라면 $F(x)=F(-x)$이기 때문에 단사가 아닙니다.

전사(Surjective)

어떤 함수 $G:X\to Y$가 있을 때, $G$가 surjective라는 것은

\[\exists x\text{ s.t. }G(x)=y\quad\text{for each }y\in Y\]

라는 것입니다. 이 때 당연히 $x$는 $y$에 의존합니다. 즉, 치역(여기서는 $Y$)의 원소를 아무거나 가져와도 그리로 보내는 정의역(여기서는 $X$)의 원소가 있다는 것입니다. 예를 들어, $G:\mathbb{R}\to\mathbb{R}$일 때 $G(x)=x$라는 함수는 실수 아무거나 가져와도 원래 출발점에 그 $x$로 보내는 원소가 존재하지만 $G(x)=x^2$인 경우에는 $G(x)=-1$이 되는 $x$가 정의역(실수)에 존재하지 않습니다.

전단사(Bijective)

어떤 함수가 injective이며 surjective이면 bijective라고 부릅니다. 예를 들어 $x$, $x^3$, $x^3+x$들은 전단사이지만 $x^2$, $x^3-x$ 등은 전단사가 아닙니다. (확인해 보세요) 전단사 함수는 역함수를 가집니다.

자코비안 추측

자코비 추측(Jacobian conjecture)은 다음처럼 기술될 수 있습니다.

$F:\mathbb{C}^n\to\mathbb{C}^n$이 변수가 $x_1,x_2,\cdots,x_n$들로 이루어진, 즉 $n$개인 다항함수 $F=(F_1,F_2\cdots,F_n)$이라고 하자. 이 때 Jacobian인 $J_F:=\det(dF/d(x_1,x_2,\cdots,x_n))$이 0이 아닌 상수라면, $F$는 전단사함수이고, 역함수도 다항함수이다.

여기서 $dF/d(x_1,\cdots,x_n)$은 쉽게 말해 다음입니다:

\[\frac{dF}{d(x_1,\cdots,x_n)}:=\begin{pmatrix}\frac{dF_1}{dx_1}&\cdots&\frac{dF_1}{dx_n}\\\\ \vdots& \ddots&\vdots\\\\ \frac{dF_n}{dx_1}&\cdots&\frac{dF_n}{dx_n}\end{pmatrix}\]

이 자코비 추측은 1930년대에 제시되었지만 거의 100년이라는 세월동안 풀리지 못했습니다. 그런데 2026년 7월 19일 인공지능 회사 Anthropic의 직원이자 수학자인 Levent Alpöge가 Fable 5 모델을 사용해서 구체적으로 이 추측이 반례를 가진다는 것을 보였습니다. 그 함수는 바로:

\[F(x,y,z) = \begin{pmatrix}z(1+xy)^3 + y^2(1+xy)(4+3xy)\\\\ y+3x(1+xy)^2z+3xy^2(4+3xy)\\\\2x-3x^2y-x^3z\end{pmatrix}\]

였습니다. 구체적으로는, $\det(J_F)=-2$를 가집니다(궁금하면 아래 코드로 계산해 보세요.).

1
2
3
4
5
6
7
8
9
10
11
12
import numpy as np
def F(p):
    x, y, z = p
    return np.array([
        z * (1 + x * y) ** 3 + y ** 2 * (1 + x * y) * (4 + 3 * x * y),
        y + 3 * x * (1 + x * y)**2 * z + 3 * x * y * y * (4 + 3 *x * y),
        2 * x - 3 * x * x * y - x**3 * z
    ])
    
from scipy.differentiate import jacobian
print(np.linalg.det(jacobian(F, [0,0,-1/4]).df)) # np.float64(-1.9999999999999951)
print(np.linalg.det(jacobian(F, [1,-3/2,13/2]).df)) # np.float64(-1.999999999999995)

하지만, 이 함수는 injective가 아닙니다. 실제로,

\[F(0,0,-\frac{1}{4})=(1,-\frac{3}{2},\frac{13}{2})=(-\frac{1}{4},0,0)\]

이기 때문입니다. $a\neq b$인데 $F(a)=F(b)$이므로 일단 injective가 아니고, 따라서 bijective가 될 수가 없습니다. 매우 간결하고 깔끔한 반례이네요.

1
2
F((0,0,-1/4)) # array([-0.25,  0.  ,  0.  ])
F((1, -3/2, 13/2)) # array([-0.25,  0.  ,  0.  ])

그렇다면 $n>3$에서는?

3차원보다 높은 차원에서는 당연히 거짓입니다. 왜냐하면:

\[F:\mathbb{C}^n\to\mathbb{C}^n,\quad(x,y,z,t_1,\cdots,t_{n-3})\mapsto(F(x,y,z),t_1,\cdots,t_{n-3})\]

으로 두면 되기 때문입니다.

그렇다면 저차원에서는?

2차원에서는 아직 풀리지 않았습니다. 1차원에서는 독자 분들도 쉽게 참임을 판단하실 수 있을 거라 생각합니다.

이게 왜 중요한가?

두 행렬을 생각해 봅시다.

\[A=\begin{pmatrix}1&2\\\\ 3&4\end{pmatrix},\quad B=\begin{pmatrix}1&1\\\\ 1&1\end{pmatrix}\]

행렬 $A$는 가역이고, 행렬 $B$는 비가역입니다. (이해를 돕기 위해 풀리지 않은 2차원의 예시를 들고 왔습니다.) $A$는 역함수(=역행렬)를 가지므로, $\mathbb{R}^2$의 각 점에서도 local하게 역함수를 가집니다. 즉, local하게 정보를 보존하는 것을 잘 이어붙이면 global하게도 정보가 보존된다는 것을 알 수 있습니다. 하지만 $B$의 경우에는, $B(1,2)^t$와 $B(2,1)^t$이 같은 값을 가지기 때문에 local하게도, global하게도 정보가 100% 보존되지 않습니다.

그런데 Jacobian conjecture의 가정은 강력합니다. 0이 아닌 상수라는 것은 정보를 보존하는 것 처럼 보입니다.

$J_F$가 0이 아닌 상수이다 = local하게 모든 정보를 보존한다. 따라서 global하게도 정보를 보존한다.

가 거짓이라는 말입니다. 구체적으로는, $J_F$가 0이 아닌 상수이기 때문에 모든 점에서 정보는 보존됩니다. 하지만, 위에서 본 반례는 좀 떨어져 있는 두 점의 정보가 일치해버리기 때문에, local 하지 않은 두 점의 정보가 하나로 collapse 된다는 말이 됩니다. 즉, 이 반례가 시사하는 바는

Local하게 정보를 보존하는 것이 global하게 정보를 보존하는 것을 의미하지 않는다.

가 됩니다.

이 반례가 함의하는 것

저는 수학자가 아닙니다만, 수학 애호가로, 그리고 의료”인공지능” 연구자로 사는 입장에서 생각해본다면 다음과 같은 메시지를 던지는 것 같습니다.

  1. 여지껏 인간은 막대한 양의 계산을 할 수 없었습니다. 대신 컴퓨터는 막대한 양의 계산을 해내지요. 이 둘의 접점이 조금씩 생기는 것 같습니다. 조금씩 논리성을 갖추기 시작한 LLM이 인간의 언어와 사고를 이해하기 시작했고 이게 강력한 컴퓨팅 파워와 합쳐져 여기서부터 인류가 하지 못한 수학이 시작되는 것 같습니다.
  2. 하지만, 어떤 문제가 안 풀릴 것이고, 어떤 문제가 중요한 문제인지 판단하는 것은 오롯이 인간의 몫입니다. 예를 들어 리만 가설은 어려워서 풀리지 않은 것도 있지만 리만 가설을 풀기 위해 발전한 수학의 발전을 생각하면 단순히 어려워서 중요한 문제인 것은 아니라고 생각합니다.
  3. 이 부분은 AI 연구를 하며, AI를 쓰며 느끼는 부분이라 독자 분들과 생각 차이가 있을 수 있는데 AI가 무에서 유를 창조하는가?에 대해서 아직 저는 회의적입니다. 기존에 있는 것들을 어마어마한 계산량으로 가속하는 것은 너무 잘 하지만, 새로운 개념을 만들고, 새로운 테크닉을 만들고, 창조적인 활동을 하는 것은 아직까지는 부족하다고 생각합니다. 난제를 푸는 것, 난제를 만드는 것, 새로운 개념을 창조하는 것, 추상화를 하는 것은 모두 다른 방향의 수학이라고 생각하는 입장에서 AI의 역할은 난제를 푸는 것 정도에 아직은 머물러 있는 것 같습니다.

분명한 것은, 의료나 수학이나 다 똑같이 인류가 하지 못한 것을 가능케 해줄 수 있다는 것에는 부정의 여지가 없을 것이라 생각하고 앞으로의 인공지능의 발전이 몹시 기대됩니다.