Кіріспе
Формуладағы субтерменді басқа терминмен алмастыру. Математика, компьютерлік ғылым және логикада қайта жазу – формуланың субтермілерін басқа терминдермен алмастырудың кең ауқымды әдістерін қамтиды. Мұндай әдістерді қайта жазу жүйелері арқылы іске асыруға болады (қайта жазу жүйелері, қайта жазу қозғалтқыштары немесе азайту жүйелері деп те аталады). Олардың ең қарапайым түрінде олар объектілер жиынтығынан және осы объектілерді қалай түрлендіруге болатын қатынастардан тұрады. Қайта жазу детерминистік емес болуы мүмкін. Бір терминге бір қайта жазу ережесін әртүрлі тәсілдермен қолдануға болады, немесе бірнеше ереже қолданылуы мүмкін. Сондықтан қайта жазу жүйелері бір терминді екіншісіне өзгерту үшін алгоритм ұсынбайды, олар тек қолданылуы мүмкін ережелер жиынтығын береді. Дегенмен, тиісті алгоритммен біріктірілгенде, қайта жазу жүйелерін компьютерлік бағдарламалар ретінде қарастыруға болады, және көптеген теореманы дәлелдейтін құралдар мен декларативтік бағдарламалау тілдері терминді қайта жазуға негізделген.
In mathematics, computer science, and logic, rewriting covers a wide range of methods of replacing subterms of a formula with other terms. Such methods may be achieved by rewriting systems (also known as rewrite systems, rewrite engines, or reduction systems). In their most basic form, they consist of a set of objects, plus relations on how to transform those objects. Rewriting can be non deterministic. One rule to rewrite a term could be applied in many different ways to that term, or more than one rule could be applicable. Rewriting systems then do not provide an algorithm for changing one term to another, but a set of possible rule applications. When combined with an appropriate algorithm, however, rewrite systems can be viewed as computer programs, and several theorem provers and declarative programming languages are based on term rewriting.
Тіл білімі
Лингвистикада сөйлем құрылымы ережелері, сонымен қатар қайта жазу ережелері деп аталады, генеративтік грамматиканың кейбір жүйелерінде тілдің грамматикалық тұрғысынан дұрыс сөйлемдерін жасау үшін қолданылады. Мұндай ереже әдетте мынадай түрінде болады, мұнда А – синтаксистік категорияның атауы, мысалы, зат есім тіркесі немесе сөйлем, ал X – мұндай атаулардың немесе морфемалардың тізбегі, бұл А-ның сөйлемнің құрамдық құрылымын жасау кезінде X-ке алмастырыла алатынын көрсетеді. Мысалы, ереже сөйлемнің зат есім тіркесінен (NP) кейін етістік тіркесінен (VP) тұратынын білдіреді; ал басқа ережелер зат есім тіркесі мен етістік тіркесінің қандай кіші құрамдық бөліктерден тұратынын анықтайды, және т.б.
Абстрактілік қайта жазу жүйелері
Жоғарыда келтірілген мысалдардан, жүйелерді абстрактілі түрде қайта жазу мүмкін екені анық көрінеді. Бізге нысандар жиынтығын және оларды түрлендіруге қолданылатын ережелерді белгілеу қажет. Осы ұғымның ең жалпы (бір өлшемді) түрі абстрактілі редукция жүйесі немесе абстрактілі қайта жазу жүйесі (қысқартылып ARS) деп аталады. ARS – нысандардың A жиынтығы және A жиынтығындағы → екілік қатынасы, ол редукция қатынасы, қайта жазу қатынасы немесе жай ғана редукция деп аталады.
Терминдерді қайта жазу жүйелері
Терминдерді қайта жазу жүйесі (TRS) – объектілері ішкі өрнектерден құралған өрнектер болатын қайта жазу жүйесі. Мысалы, жоғарыда көрсетілген жүйе терминдерді қайта жазу жүйесі болып табылады. Бұл жүйедегі терминдер екілік операторлар және бірлік оператордан тұрады. Ережелерде кез келген мүмкін терминді білдіретін айнымалылар да бар (бірақ бір айнымалы бір ереже ішінде әрқашан бірдей терминді білдіреді). Символдар тізбегін объекті ретiнде қабылдайтын жолдарды қайта жазу жүйелерінен өзгеше, терминдерді қайта жазу жүйесінің объектілері термин алгебрасын құрайды. Термин – символдар ағашы ретінде көрінеді, мұнда қабылданған символдар жиынтығы белгілі бір қолтаңбамен анықталады. Формализм ретінде терминдерді қайта жазу жүйелері Тьюринг машиналарының толық қуатына ие, яғни кез келген есептелетін функция терминдерді қайта жазу жүйесі арқылы анықталуы мүмкін.
Ресми анықтама
Қайта жазу ережесі – бұл әдетте сол жақтан l-ді оң жақтан r-мен алмастыруға болатынын көрсету үшін жазылатын екі терминнің жұбы, яғни . Термин қайта жазу жүйесі – мұндай ережелердің R жиынтығы. Егер сол жақтағы l термині s терминінің бір қандай да субтермініне сәйкес келсе, яғни, егер қандай да бір ауыстыру σ болса, онда s терминінің p позициясындағы субтерміні l терминіне ауыстыру σ-ны қолдану нәтижесі болады. Осы ережені қолданудың нәтижесі t термині, s терминіндегі p позициясындағы субтермін ауыстыру σ қолданғаннан кейін алынған терминмен алмастырылғаннан кейін шығады, 1-суретті қараңыз. Бұл жағдайда, s термині жүйе R арқылы бір қадамда қайта жазылады немесе тікелей қайта жазылады, бұл ресми түрде , , немесе кейбір авторлар бойынша деп белгіленеді. Егер s термині бірнеше қадамда t терминіне қайта жазыла алса, яғни, , онда s термині t терминіне қайта жазылған деп айтылады, бұл формалды түрде деп белгіленеді. Басқаша айтқанда, қатынасы – бұл қатынасының транзитивті жабылуы; көбінесе, белгісі транзитивті және рефлексивті жабылуын көрсету үшін де қолданылады, яғни, егер немесе. Ережелер жиынтығы R арқылы берілген терминнің қайта жазылуын жоғарыда сипатталғандай абстрактілі қайта жазу жүйесі ретінде қарастыруға болады, онда терминдер оның объектілері, ал – қайта жазу қатынасы. Мысалы, – бұл қайта жазу ережесі, көбінесе ассоциативтілік қатысты қалыпты форманы құру үшін қолданылады. Бұл ережеге сәйкес келетін ауыстыру σ-ны қолдану арқылы терминнің алымына қолданылуы мүмкін, 2-суретті қараңыз. Бұл ауыстыруды ереженің оң жағына қолдану нәтижесінде термині шығады, ал алымын осы терминмен алмастыру нәтижесінде термині шығады, бұл қайта жазу ережесін қолданудың нәтижесі. Қорыта айтқанда, қайта жазу ережесін қолдану элементар алгебрада «ассоциативтілік заңын үшін қолдану» деп аталатын әрекетке жеткізеді. Балама ретінде, ереже бастапқы терминнің бөліміне де қолданылуы мүмкін еді, нәтижесінде .
Жоғары реттік қайта жазу жүйелері
Жоғары реттік қайта жазу жүйелері – бірінші реттік терминдік қайта жазу жүйелерінің лямбда-терминдерге жасалған жалпылауы, жоғары реттік функциялар мен байланысқан айнымалыларды қолдануға мүмкіндік береді. Бірінші реттік ТРС-ке қатысты түрлі нәтижелерді ЖРС-ге де қатысты қайта формулиреуге болады.
Графикті қайта жазу жүйелері
Графикті қайта жазу жүйелері – бұл терминдерді қайта жазу жүйелерінің тағы бір жалпылауы, олар (негізгі) терминдердің / олардың сәйкес ағаш түріндегі бейнелеуінің орнына графиктермен жұмыс істейді.
Тректерді қайта жазу жүйелері
Трейс теориясы көппроцессорлық өңдеуді із моноиді және тарих моноиді сияқты формальды ұғымдар арқылы талқылауға мүмкіндік береді. Из жүйелерінде де қайта жазу операцияларын жүргізуге болады.