- #1
Matrim
- 3
- 0
Lemma: If [itex]A[/itex] is an at most countable alphabet, then the set [itex]A^*[/itex] of strings over [itex]A[/itex] is countable.
Proof begin:
Let [itex]p_n[/itex] be the [itex]n^{th}[/itex] prime number: [itex]p_0 = 2[/itex], [itex]p_1=3[/itex], [itex]p_2=5[/itex], and so on. If [itex]A[/itex] is finite, say [itex]A = {a_0, a_1, ... , a_n}[/itex], where [itex]a_0, a_1, ... , a_n[/itex] are pairwise distinct, or if [itex]A[/itex] is countable, say [itex]A = {a_0, a_1, ... }[/itex], where [itex]a_i[/itex] are pairwise distinct, we can define the map [itex]\beta :A^{*}\rightarrow N[/itex] by
[tex]
\beta(emptyString) := 1
[/tex]
[tex]
\beta(a_{i_{0}}, ..., a_{i_{r}}) := {p_{0}}^{i_0 + 1} * ... * {p_{r}}^{i_r + 1}
[/tex]
Clearly [itex] \beta [/itex] is injective and thus [itex]A^*[/itex] is at most countable. Also it cannot be finite...thus countable.
end proofOk...my problem with this proof (taken from Mathematical Logic 2nd ed by Ebbinghaus et. al.) is the enumeration of the primes in the function [itex] \beta [/itex]. The string of symbols from the alphabet [itex]A[/itex] can have repetition so I would think that we need more subscripts to denote this. For example if the alphabet is the English alphabet then alphabet might map to, the primes from 2 to the 26th prime. then a string like qqwertyyyy would be:
[tex]
\beta(qqwertyyyy) = 59^2 * 83^1 * 11^1 * 61^1*71^1*97^4
[/tex]
If my interpretation is right, then we really need something more like,
[tex]
\beta(emptyString) := 1
[/tex]
[tex]
\beta( a_{i_{0}}, ..., a_{i_{r}},a_{j_{0}}, ..., a_{j_{k}},a_{m_{0}}, ..., a_{m_{x}},...) := {p_{i}}^{r} * {p_{j}}^{k} * {p_{m}}^{x}
*...[/tex]
Which, based on the unique factorization theorem, we can conclude that [itex]\beta[/itex] is injective? And thus (from a previous lemma) we can conclude countable...almost. There is the question of order...which my function does not account for...(which means it is not well defined)
abcd and adbc would map to the same number and there would no way to discern the two strings. So I would really need something that would keep order as well...this could be done by taking the 27th prime for the first position, and then raise it to the power of the prime for the letter for that position raised to the power of the number of repetitions of that letter. Then finding the letter for the first position requires seeing how many factors of 27 there are then this is some prime from the first to the 26th prime...to get repetitions just see which prime it is and how many factors it has. Thus we get we defined function that is injective (which is easy since it is clearly a strictly increasing monotonic function)
In other words, I believe it can be done (and I think I have done it) and I am not hung on this proof in terms of agreement, but in following the logic of the authors...
What I would like is to understand what the author(s) proof is supposed to mean and how it accounts for all possible strings in an alphabet. It might do what it is supposed to do and there may just be a lot more understanding expected from the reader...
Proof begin:
Let [itex]p_n[/itex] be the [itex]n^{th}[/itex] prime number: [itex]p_0 = 2[/itex], [itex]p_1=3[/itex], [itex]p_2=5[/itex], and so on. If [itex]A[/itex] is finite, say [itex]A = {a_0, a_1, ... , a_n}[/itex], where [itex]a_0, a_1, ... , a_n[/itex] are pairwise distinct, or if [itex]A[/itex] is countable, say [itex]A = {a_0, a_1, ... }[/itex], where [itex]a_i[/itex] are pairwise distinct, we can define the map [itex]\beta :A^{*}\rightarrow N[/itex] by
[tex]
\beta(emptyString) := 1
[/tex]
[tex]
\beta(a_{i_{0}}, ..., a_{i_{r}}) := {p_{0}}^{i_0 + 1} * ... * {p_{r}}^{i_r + 1}
[/tex]
Clearly [itex] \beta [/itex] is injective and thus [itex]A^*[/itex] is at most countable. Also it cannot be finite...thus countable.
end proofOk...my problem with this proof (taken from Mathematical Logic 2nd ed by Ebbinghaus et. al.) is the enumeration of the primes in the function [itex] \beta [/itex]. The string of symbols from the alphabet [itex]A[/itex] can have repetition so I would think that we need more subscripts to denote this. For example if the alphabet is the English alphabet then alphabet might map to, the primes from 2 to the 26th prime. then a string like qqwertyyyy would be:
[tex]
\beta(qqwertyyyy) = 59^2 * 83^1 * 11^1 * 61^1*71^1*97^4
[/tex]
If my interpretation is right, then we really need something more like,
[tex]
\beta(emptyString) := 1
[/tex]
[tex]
\beta( a_{i_{0}}, ..., a_{i_{r}},a_{j_{0}}, ..., a_{j_{k}},a_{m_{0}}, ..., a_{m_{x}},...) := {p_{i}}^{r} * {p_{j}}^{k} * {p_{m}}^{x}
*...[/tex]
Which, based on the unique factorization theorem, we can conclude that [itex]\beta[/itex] is injective? And thus (from a previous lemma) we can conclude countable...almost. There is the question of order...which my function does not account for...(which means it is not well defined)
abcd and adbc would map to the same number and there would no way to discern the two strings. So I would really need something that would keep order as well...this could be done by taking the 27th prime for the first position, and then raise it to the power of the prime for the letter for that position raised to the power of the number of repetitions of that letter. Then finding the letter for the first position requires seeing how many factors of 27 there are then this is some prime from the first to the 26th prime...to get repetitions just see which prime it is and how many factors it has. Thus we get we defined function that is injective (which is easy since it is clearly a strictly increasing monotonic function)
In other words, I believe it can be done (and I think I have done it) and I am not hung on this proof in terms of agreement, but in following the logic of the authors...
What I would like is to understand what the author(s) proof is supposed to mean and how it accounts for all possible strings in an alphabet. It might do what it is supposed to do and there may just be a lot more understanding expected from the reader...