Пример очень простой - разбираем строку как в регеспах, но только производится проверка того, что каждая часть содержится в базе данных. При наличии в строке переменной выводятся возможные значения.
К примеру, разбор URL. Возможны 2 протокола - http и ftp, любые домены.
Нет, именно как в логике, с неизвестным количеством входных и выходных переменных, и решению задачи по принципу резолюции, а не тупым перебором, хотя бы что-то типа дедуктивной базы данных, а также с заменой ошибок функций на неуспех.