Разлика на регулярни езици
Нека имаме два регулярни езика L1, L2. Ще докажем, че тяхната разлика L = L1 ∖ L2 също е регулярен език.
Идея
Всъщност няма много какво да се доказва. За разликата на две множества е в сила следното равенство:
където L2′ е допълнението на езика L2. От разделите за сечението на регулярни езици и за допълнението на регулярен език знаем, че регулярните езици са затворени относно двете операции. Това означава, че можем да построим автомат, който приема сечението на езици и допълнението на език. Тези автомати можем да използваме, за да построим автомат, който ще приема езика L1 ∩ L2′, а това е точно езикът L1 ∖ L2.
Пример
Нека имаме този автомат A1, който приема всички думи, които съдържат четен брой единици:
и автомата A2, който приема думите, съдържащи нечетен брой нули:
Ще построим автомат, който ще приема разликата на тези езици. Трябва ни следователно автоматът A2′, който ще е допълнение на автомата A2. Само разменяме крайните и неприемащите състояния:
Сега остава само да построим автомата A, който ще приема сечението на езиците L(A1) и L(A2′):
Източници
Глави: Затвореност на регулярните езици, Обединение на регулярни езици, Сечение на регулярни езици, Разлика на регулярни езици, Допълнение на регулярен език, Конкатенация на регулярни езици, Затваряне на регулярен език