Certifying Inexpressibility

Reading time: 6 minute
...
Featured Image

📝 Abstract

Different classes of automata on infinite words have different expressive power. Deciding whether a given language $L \subseteq Σ^ω$ can be expressed by an automaton of a desired class can be reduced to deciding a game between Prover and Refuter: in each turn of the game, Refuter provides a letter in $Σ $, and Prover responds with an annotation of the current state of the run (for example, in the case of Büchi automata, whether the state is accepting or rejecting, and in the case of parity automata, what the color of the state is). Prover wins if the sequence of annotations she generates is correct: it is an accepting run iff the word generated by Refuter is in $L $. We show how a winning strategy for Refuter can serve as a simple and easy-to-understand certificate to inexpressibility, and how it induces additional forms of certificates. Our framework handles all classes of deterministic automata, including ones with structural restrictions like weak automata. In addition, it can be used for refuting separation of two languages by an automaton of the desired class, and for finding automata that approximate $L$ and belong to the desired class.

💡 Analysis

Different classes of automata on infinite words have different expressive power. Deciding whether a given language $L \subseteq Σ^ω$ can be expressed by an automaton of a desired class can be reduced to deciding a game between Prover and Refuter: in each turn of the game, Refuter provides a letter in $Σ $, and Prover responds with an annotation of the current state of the run (for example, in the case of Büchi automata, whether the state is accepting or rejecting, and in the case of parity automata, what the color of the state is). Prover wins if the sequence of annotations she generates is correct: it is an accepting run iff the word generated by Refuter is in $L $. We show how a winning strategy for Refuter can serve as a simple and easy-to-understand certificate to inexpressibility, and how it induces additional forms of certificates. Our framework handles all classes of deterministic automata, including ones with structural restrictions like weak automata. In addition, it can be used for refuting separation of two languages by an automaton of the desired class, and for finding automata that approximate $L$ and belong to the desired class.

📄 Content

무한 단어(∞‑길이 문자열) 위에서 동작하는 여러 종류의 자동자(automata)는 각각 서로 다른 표현력을 가지고 있다. 예를 들어, 부치(Büchi) 자동자는 무한 단어가 특정 수용 상태를 무한히 많이 방문하는지를 기준으로 수용 여부를 판단하고, 패리티(parity) 자동자는 각 상태에 색(color)이라는 정수값을 부여하여 그 색들의 최소값이 짝수인지 홀수인지에 따라 수용 여부를 결정한다. 이처럼 자동자마다 수용 조건이 다르기 때문에, 어떤 주어진 언어 (L \subseteq \Sigma^{\omega}) 가 특정 종류의 자동자로 정확히 표현될 수 있는지를 판단하는 문제는 자동자 이론에서 매우 중요한 질문이 된다.

이러한 표현 가능성 판단 문제는 “증명자(Prover)와 반증자(Refuter) 사이의 두 사람 게임”으로 환원될 수 있다. 게임은 무한히 진행되는 라운드들로 구성되며, 각 라운드마다 다음과 같은 순서가 반복된다.

  1. 반증자의 차례 – 반증자는 알파벳 (\Sigma)에 속하는 하나의 문자 (a_i) 를 선택하여 제시한다. 이 문자들은 차례대로 이어져서 무한 단어 (w = a_0 a_1 a_2 \dots) 를 만든다.

  2. 증명자의 차례 – 증명자는 현재 자동자의 상태 (q_i) (또는 그 상태에 대한 추가 정보)를 “주석(annotation)” 형태로 응답한다. 구체적인 주석의 내용은 자동자의 종류에 따라 달라진다.

    • 부치 자동자의 경우, 증명자는 현재 상태가 수용(accepting) 상태인지 비수용(rejecting) 상태인지를 표시한다.
    • 패리티 자동자의 경우, 증명자는 현재 상태에 할당된 색(color), 즉 정수값 (c(q_i)) 를 제시한다.
    • 약한(weak) 자동자와 같이 구조적 제한이 있는 자동자에서는 상태가 어느 SCC(strongly‑connected component)에 속하는지, 혹은 그 SCC가 수용인지 비수용인지를 주석으로 달 수 있다.

이 과정을 무한히 반복하면서 증명자는 “주석들의 연속 (\tau = \tau_0 \tau_1 \tau_2 \dots)”을 만든다. 게임의 승패는 다음과 같이 정의된다.

  • 증명자의 승리 조건 – 증명자가 만든 주석 연속 (\tau) 가 정확히 자동자의 실행(run)과 일치하고, 그 실행이 수용이면 반증자가 만든 무한 단어 (w) 가 언어 (L) 에 속해야 한다. 반대로, 실행이 비수용이면 (w) 가 (L) 에 속하지 않아야 한다. 즉, “주석 연속이 올바른 수용/비수용 판단을 제공한다면 증명자는 승리한다.”

  • 반증자의 승리 조건 – 반증자는 증명자가 위의 조건을 만족하지 못하도록 단어 (w) 를 선택한다. 구체적으로는, 증명자가 제시한 주석이 실제 자동자의 실행과 모순되게 만들거나, 주석이 올바른 실행을 나타내지만 그 실행이 (L) 의 수용 여부와 일치하지 않게 만든다.

이 게임에서 반증자가 승리하는 전략이 존재한다면, 이는 “주어진 언어 (L) 은 해당 자동자 클래스(예: 부치, 패리티, 약한 등) 로는 표현될 수 없다”는 강력한 증거가 된다. 왜냐하면 반증자는 언제든지 증명자가 제시한 주석이 잘못되었음을 보여줄 수 있는 구체적인 문자 선택 방법을 가지고 있기 때문이다. 따라서 반증자의 승리 전략은 표현 불가능성(inexpressibility)에 대한 간단하고 직관적인 증명서(certificate) 로 활용될 수 있다.

또한, 이러한 승리 전략은 단순히 “표현 불가능함”을 증명하는 것을 넘어 다양한 형태의 추가 증거를 자동으로 생성한다. 예를 들어

  • 반증자‑주석 불일치 표 – 각 라운드에서 반증자가 선택한 문자와 증명자가 달아야 할 주석 사이의 불일치를 표 형태로 정리하면, 자동자 설계자가 왜 해당 자동자가 언어를 인식하지 못하는지 한눈에 파악할 수 있다.
  • 반증자‑경로 트레이스 – 반증자가 만든 무한 단어의 유한 부분(프리픽스)와 그에 대응하는 상태 전이 경로를 추적한 그래프를 제시함으로써, 특정 SCC에 갇히는 현상이나 색의 최소값이 홀수인 경우 등을 시각적으로 보여줄 수 있다.

우리의 프레임워크는 모든 결정적(deterministic) 자동자 클래스에 적용 가능하도록 설계되었다. 여기에는 전통적인 부치·패리티 자동자는 물론, 구조적 제한을 갖는 자동자들—예를 들어 약한(weak) 자동자, 거짓말 자동자(lie automata), 한정된 색 수를 갖는 패리티 자동자 등—도 포함된다. 각 클래스마다 주석의 형태와 승리 조건이 약간씩 달라지지만, 기본적인 게임 구조와 반증자 승리 전략의 존재 여부를 판단하는 절차는 동일하게 유지된다.

프레임워크의 활용 범위는 표현 가능성 판단을 넘어서다. 구체적으로는 다음과 같은 두 가지 중요한 응용이 있다.

  1. 두 언어 사이의 분리 불가능성 증명 – 주어진 두 언어 (L_1, L_2 \subseteq \Sigma^{\omega}) 가 존재하지 않는다고 가정한다면, “어떤 결정적 자동자 (A) 가 (L_1) 은 모두 수용하고 (L_2) 은 모두 비수용하게 만들 수 있는가?” 라는 질문을 동일한 게임 형태로 변형할 수 있다. 반증자가 승리 전략을 제공하면, 원하는 클래스의 자동자로는 두 언어를 완전히 구분할 수 없다는 분리 불가능성(separation impossibility) 을 증명하게 된다.

  2. 근사 자동자(approximation automaton) 탐색 – 때때로 완전한 표현은 불가능하지만, 언어 (L) 에 대한 상한(upper) 혹은 하한(lower) 근사를 제공하는 자동자를 찾고 싶을 수 있다. 게임을 약간 변형하여 “증명자는 주석이 실제 실행과 일치하도록 강제하고, 반증자는 가능한 한 많이 (L) 에서 벗어나도록 단어를 선택한다”는 목표를 부여하면, 반증자의 최적 전략이 바로 (L) 을 가장 크게(또는 작게) 포함하는 자동자를 구성하는 데 필요한 정보를 제공한다. 이렇게 얻어진 자동자는 원하는 클래스(예: 부치, 패리티, 약한 등)에 속하면서도 원래 언어와 가능한 한 가깝게 근사한다.

요약하면, 무한 단어 위에서 동작하는 다양한 자동자 클래스의 표현력을 판단하기 위해 제안된 증명자‑반증자 게임은 다음과 같은 장점을 가진다.

  • 직관성: 게임 규칙이 매우 단순하고, 각 턴에서 수행되는 작업(문자 선택, 상태 주석)만 알면 된다.
  • 증명서 제공: 반증자의 승리 전략 자체가 “표현 불가능성”에 대한 명확하고 검증 가능한 증거가 된다.
  • 범용성: 부치, 패리티, 약한 등 모든 결정적 자동자 클래스에 적용 가능하며, 구조적 제한이 있는 특수 자동자에도 그대로 사용할 수 있다.
  • 추가 응용: 두 언어의 분리 불가능성 증명, 언어 근사 자동자 탐색 등 다양한 형태의 자동자 이론 문제에 자연스럽게 확장된다.

따라서 이 프레임워크는 자동자 이론 연구자뿐만 아니라, 형식 검증(formal verification)이나 모델 체크(model checking)와 같이 무한 행동을 다루는 실용적인 분야에서도 표현력 한계를 명확히 파악하고, 필요한 경우 적절한 근사 모델을 설계하는 데 유용한 도구가 될 것이다.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut