--- In qalam@yahoogroups.com, "Patrick Hall" <pathall@...> wrote:
> How can one define a transliteration system in a
> such a way that it's provably complete?

Are you willing to reject some systems because they won't fit the
formalism? Some of the problems depend on what's in a language rather
than what is in the script as such. For example, Thai has a name
'montho:' (ignoring the issue of handling case in transliteration).
Now, when a syllable has the vowel <o:>, Thai clearly indicates the
start of the syllable (or sesquisyllable). Now, I am confident that
'ntho:' is not a possible (sesqui-)syllable in Thai, so there is no
need for the transliteration to indicate where the syllable starts.
On the other hand, 'macro' is rendered in Thai as 'maekhro:' with a
syllable division 'mae' 'khro:', and I have searched a long list of
words without finding a conter-example with a syllable break of the
form 'maekh' 'ro:'. (Thai words do end in this 'kh', e.g. 'ro:kh'
meaning 'sickness'.) Should one reject a system that simply
transliterated these words as 'montho:' or 'maekhro:' without any
provision for overriding the position of the syllable break if one has
no evidence that the override is needed? My attempt at implementing a
readable reversible transliteration between Thai (albeit hinted by
phinthu) stalled when I couldn't decide what the rules should be for
when to show the syllable break before 'o:'.

(I do have a Javascript aid for typing Thai, but that uses a mostly
one-to-one correspondence between printable ASCII and Thai, with an
escape character to get the requisite number of characters without
becoming totally obscure. However, someone who saw me composing a
letter using the scheme in an early, pre-Javascript environment did
comment that it looked like Klingon!)

You may also have noticed that there is the issue of whether the 'th'
and 'kh' are one or two characters in Thai. The issue comes up in the
word for 'owl' - 'nok huuk' if you count it as two words.

I simplified the above by not discussing the diacritic to show that
the 't' in 'montho:' is retroflex, as it raises no special issues.
The are five 'kh' letters in Thai, but the one in 'maekhro:' is the
one with no diacritic in the ISO 11940:1998 scheme.

I'm sorry I couldn't be more helpful, but it looks as though what
you're looking for doesn't exist. All I can say is that if there
isn't an inversion scheme then the system isn't complete, but proving
that there is an inversion scheme usually requires you to define the
set of strings that may be transliterated in the first place.

Incidentally, has anyone encountered schemes for transliterating
English? I've only encountered transcription schemes.