확인해 주시면 감사하겠습니다.
표기법:
V^*는 V의 원소들을 원소로 가지는 모든 finite sequence들의 집합입니다. 즉, V = {'1', '2'}일 때, V^* = {"", "1", "2", "11", "12", "21", "22", "111", ...}입니다.
문자열 α β는 문자열 α 뒤에 문자열 β를 접합한 것입니다. 즉, α = "12"이고 β = "ab"일 때, α β = "12ab"이고 β α = "ab12"입니다.
0 이상의 정수 n에 대하여, 문자열 ω^n은 문자열 ω을 n번 반복한 것입니다. 즉, ω = "oxx"일 때, ω^3 = "oxxoxxoxx"이고 ω^0 = ""입니다.
문자열 ω에 대하여, |ω|는 ω의 길이를 나타냅니다.
문제.
유한 집합 V가 주어졌다고 하자.
임의의 L ⊆ V^*에 대하여 (1)이 성립할 때 그리고 오직 그럴 때에만 (2)가 성립함을 보여라.
(1) (∀α∈L) (∀β∈L) (α β = β α).
(2) (∃ω∈V^*) (L ⊆ { ω^n : n∈{0, 1, 2, ...} }).
증명.
(2) → (1)는 자명하게 성립합니다.
(1) → (2)을 보이기에 앞서, L ⊆ V^*이 (1)를 만족하면, 모든 α∈L에 대하여 f(α) := |α|로 정의된, 함수 f : L → N이 단사임을 보이겠습니다.
|α| = |β|를 만족하는 임의의 α∈L와 β∈L에 대하여:
문자열 α β의 첫 |α|개는 α이고 문자열 β α의 첫 |β|개는 β인데, α β = β α이므로 α = β입니다.
이제 L ⊆ V^*이 (1)를 만족한다고 가정하겠습니다:
먼저 다음과 같이 열 <L_n>_{n∈N}을 정의하겠습니다:
L_0 := L.
L_(n + 1) := L_n ∪ { γ∈V^* : (∃α∈L_n) (∃β∈L_n) (α = β γ) }.
그러면 임의의 n∈N에 대하여 (∀α∈L_n) (∀β∈L_n) (α β = β α)이 성립함을 수학적 귀납법으로 보이겠습니다.:
(1)에 의하여 (∀α∈L_0) (∀β∈L_0) (α β = β α)이 성립합니다.
(∀α∈L_k) (∀β∈L_k) (α β = β α)를 만족하는 임의의 k∈N에 대하여:
먼저 X := { γ∈V^* : (∃α∈L_k) (∃β∈L_k) (α = β γ) }로 둡시다.
그러면 (∀α∈X) (∀β∈L_k) (α β = β α)임과 (∀α∈X) (∀β∈X) (α β = β α)임을 보이면 됩니다.
임의의 α∈X와 β∈L_k에 대하여:
γ = δ α를 만족하는 어떤 γ∈L_k와 δ∈L_k가 존재합니다.
(∀α∈L_k) (∀β∈L_k) (α β = β α)이므로 δ α β = γ β = β γ = β δ α = δ β α이고 α β = β α입니다.
임의의 α∈X와 β∈X에 대하여:
γ = δ α ∧ ε = ζ β를 만족하는 어떤 γ∈L_k, δ∈L_k, ε∈L_k와 ζ∈L_k가 존재합니다.
(∀α∈L_k) (∀β∈L_k) (α β = β α)이고 (∀α∈X) (∀β∈L_k) (α β = β α)이므로 δ α β ζ = γ β ζ = γ ε = ε γ = β ζ γ = β ζ δ α = ζ β δ α = ζ β α δ = ζ β δ α = ζ δ β α = δ ζ β α = δ β ζ α = δ β α ζ이고 α β = β α입니다.
이제 A := { α∈V^* : (∃n∈N) (α ∈ L_n) ∧ α ≠ "" }로 둡시다.
임의의 α∈A와 β∈A에 대하여:
α ∈ L_n를 만족하는 어떤 n∈N과 β ∈ L_m을 만족하는 어떤 m∈N이 존재합니다.
이때 α와 β 모두 L_(max {n, m})의 원소이므로 α β = β α입니다.
A = {}이면:
L ⊆ A ∪ {""}이고 A ∪ {""} = {""}이므로, L = {} ∨ L = {""}입니다.
두 경우 모두 ω := ""에 대하여 L ⊆ { ω^n : n∈N }를 만족함을 알 수 있습니다.
A ≠ {}이면:
ω를 A의 원소들 가운데 가장 짧은 문자열로 둘 수 있습니다.
임의의 α∈L에 대하여:
나눗셈 알고리즘에 의하여, |α| = q * |ω| + r ∧ 0 ≤ r < |ω|인 어떤 q∈Z와 r∈Z이 존재합니다.
여기서 |α| ≥ 0이고 |ω| > 0이므로 q ≥ 0입니다.
이때 ω^q α = α ω^q이므로 어떤 β∈V^*가 존재하여 α = ω^q β입니다.
n := min { k∈N : ω ∈ L_k }에 대하여 β ∈ L_(n + q + 1)이므로, β = "" ∨ β ∈ A임을 알 수 있습니다.
그런데, β ≠ ""이면 ω가 A 중 가장 짧은 문자열이란 사실에 모순되므로, β = ""이고 α = ω^q입니다.
■
ㅅㅂ 읽을 때마다 틀린 게 보이네 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
1. (1)과 (2)를 혼동하신 듯 합니다. 자명한건 (2)->(1)이 되어야 할 것 같네요. 2. A 정의에서 L^* 대신 V^*가 쓰여야 할 것 같습니다. - dc App
앗 감사합니다 ㅠㅠ
고쳤습니다. 더 틀린 데는 없나요?
(1)->(2)를 보이기에 앞서 (2)를 가정한다고 한 부분만 제외하면 다른 문제는 없어 보입니다. 수고하셨습니다! - dc App
고쳤습니다. 정말 감사드립니다.
복 많이 받으시기를 기원합니다.