Прагматика досліджує проблеми цінності висловлювань для адресата в спілкуванні з погляду розв’язання його проблем.
Математика забезпечує лінгвістику і семіотику ефективними засобами визначення й оброблення мов.
2. Алфавіти і мови. Спробуємо дати формальне означення мови. Природно, за означенням, розпочати зі знака. Як уже підкреслювалося, мова - знакова система. Сукупність мовних знаків, що називаються далі символами, є алфавітом.
Алфавіт може бути нескінченним, але ми далі в цьому розділі будемо розглядати тільки скінченні алфавіти.
Приклади:
- латинський алфавіт;
- російський алфавіт;
- український алфавіт;
- двійковий алфавіт {0,1}.
Послідовно виписуючи символи, розташовуючи їх один за одним на папері, ми одержуємо послідовності символів. Приклади послідовностей символів в двійковому алфавіті:
1111111.
Існує низка термінів для цих послідовностей - слово, вираз, рядок, ланцюжок, речення. Ми будемо використовувати термін "слово". Слово, що не містить жодного символу, назвемо порожнім і будемо позначати e. Далі будемо розглядати алфавіт Е і його символи е1, е2,е3 .… Наприклад, словами будуть:
е1е2е1
е2е2е2е3
Якщо ми позначимо порожнє слово через , то й інші слова, записані як послідовності символів алфавіту Е, можемо позначати символами іншого алфавіту. Далі за такий алфавіт приймемо грецький алфавіт.
Наприклад, слово е1е2е1 ми могли б позначити , слово е2е2е2е3 - і так далі.
Означення слова в алфавіті Е:
1) - слово в алфавіті Е;
2) якщо - слово в алфавіті Е, ei - символ алфавіту Е, те ei - слово в алфавіті E;
3) - слово в алфавіті Е тоді і тільки тоді, коли воно побудовано за правилами 1) і 2).
Означення відноситься до типу індуктивних означень і дозволяє будувати слова в алфавіті Е.
Нехай - слово. Воно не містить символів, е1 - символ алфавіту Е. Тоді е1 -також слово. Отже, e2 - слово, е3 - слово і т д.; е1е2 - слово, тому що отримано приписуванням символу e1 до слова e2; e1e2e2 - слово, тому що отримано приписуванням символу e2 до слова е1e2 і т.д. Таким чином, слова одержуються приписуванням символу до вже існуючих (побудованих) слів.
Довжиною слова назвемо число символів у ньому. Будемо позначати довжину слова через ||. Наприклад, слово e1e2e1 має довжину 3. За означенням || = 0.
Якщо слова і мають однакову довжину, причому на кожнім кроці їхньої побудови, починаючи зі слова , виконувалося приписування однакового символу, то назвемо їх рівними.
Очевидно, що рівність слів - відношення рефлексивне, симетричне, транзитивне, тобто відношення еквівалентності.
Операцію приписування можна узагальнити.
Визначення. Нехай і - слова в алфавіті Е. Назвемо слово , отримане посимвольним приписуванням слова до слова , конкатенацією слів і .
Приклад. Нехай e1e2e2 – слово ; e2e2 – слово . Тоді e1e2e2e2e2 – слово .
Легко установити, що = = , а також те, що = у загальному випадку невірно, що підтверджується попереднім прикладом:
e1e2e2e2e2 e2e2e1e2e2.
Визначення. Нехай - слово еi1ei2…ein, довжини n. Тоді слово еin,еin-1…еi1 назвемо обертанням слова і позначимо -1.
Приклад. Нехай e1e2e2 - це слово , тоді e2e2e1 - це слово -1.
Легко установити, що -1 у загальному випадку.
Розглянемо декілька термінів, що будуть використовуватися пізніше.
Нехай , , - слова в алфавіті Е. Тоді в слові назвемо: - префіксом, а – суфіксом, а в слові , причому чи можуть бути порожніми, назвемо підсловом.
Наприклад, у слові e1e2e2:
e1, e1e2, e1e2e2 - префікси;
e2, e2e2, e1e2e2 - суфікси;
e2, e1e2 - підслова.
Слово є префіксом, суфіксом, і підсловом будь-якого слова.
Назвемо префікс (суфікс) власним префіксом (суфіксом) слова , якщо і - префікс (суфікс) .
Наприклад, для слова e1e2e3 слово е1 - власний префікс.
Визначення. Назвемо мовою в алфавіті Е будь-яку множину слів в алфавіті Е.
Мови програмування Паскаль, Сі, Бейсік і інші задовольняють цьому означенню, якщо вважати словом програму. Природна мова також задовольняє означенню, якщо вважати словом речення.
Приклад: Нехай Е= {0,1}. Тоді наступні множини слів:
L1 = {,0,1,01,10};
L2 = {0,00,000,...};
L3 = {1,11,111,...};
L4 = {0,1}
за означенням є мовами. Крім того, за означенням L = {} - також мова. Більш того, Æ - також мова, причому {} і Æ - різні мови. Нехай Е* - множина, що містить усі слова в алфавіті Е, включаючи символи самого алфавіту Е. Тоді будь-яка мова в алфавіті Е є підмножиною Е*.
Приклад. Нехай заданий алфавіт Е = {0,1}. Тоді
Е* ={,0,1,00,1,01,10,000,001,010,100,011,101,110,111,...}.