Бастапқы алгебра - Initial algebra

Анықтама

Жылы математика, an бастапқы алгебра болып табылады бастапқы объект ішінде санат туралы -алгебралар берілген үшін эндофунктор . Бұл бастама жалпы негізді ұсынады индукция және рекурсия.

Мысалдар

Функтор

Эндофункторды қарастырайық жіберіліп жатыр дейін , қайда бір нүктелі (синглтон ) орнатылды, терминал нысаны санатта. Бұл эндофункторға арналған алгебра жиынтық болып табылады (деп аталады тасымалдаушы алгебраның) а функциясы . Мұндай функцияны анықтау нүктені анықтауға тең келеді және функция . Анықтаңыз

және

Содан кейін жиынтық функциясымен бірге натурал сандардың бастапқы әріп -алгебра. Бастапқы ( әмбебап меншік бұл жағдайда) құру қиын емес; бірегей гомоморфизм ерікті -алгебра , үшін элементі және функциясы қосулы , бұл натурал санды жіберетін функция дейін , Бұл, , -қолдану дейін .

Жиынтығы натурал сандар осы функция үшін бастапқы алгебраның тасымалдаушысы болып табылады: нүкте нөлге тең, ал функция мұрагер функциясы.

Функтор

Екінші мысал үшін эндофункторды қарастырайық жиынтықтар санаты бойынша, қайда - бұл натурал сандардың жиынтығы. Бұл эндофункторға арналған алгебра жиынтық болып табылады функциясымен бірге . Мұндай функцияны анықтау үшін бізге нүкте керек және функция . Ақырлы жиынтық тізімдер натурал сандардың бұл функциясы үшін бастапқы алгебра болып табылады. Нүкте - бос тізім, ал функция - минус, сан мен ақырғы тізімді алып, басында нөмірі бар жаңа ақырғы тізімді қайтару.

Екілік санаттағы санаттарда қосымшалар, жаңа берілген анықтамалар а-ның әдеттегі анықтамаларына тең табиғи сан объектісі және а тізім нысаны сәйкесінше.

Соңғы көміргебра

Екі жақты, а соңғы көміргебра Бұл терминал нысаны санатында -коалгебралар. Ақырғы жалпы негізді ұсынады кондукция және корекурсия.

Мысалы, сол сияқты функция бұрынғыдай, колгебра жиын ретінде анықталады функциясымен бірге . Мұндай функцияны анықтау а анықтамасына тең ішінара функция f ': XY кімдікі домен солар арқылы қалыптасады ол үшін тиесілі . Мұндай құрылымды жиынтықтар тізбегі ретінде қарастыруға болады, ол бойынша анықталмаған, қандай элементтердің картасына кіреді арқылы , қандай элементтердің картасына кіреді арқылы және т.б., және қалған элементтерін қамтиды . Осыған байланысты жиынтық жаңа элементпен кеңейтілген натурал сандар жиынтығынан тұрады санаттағы соңғы коалгебраның тасымалдаушысы болып табылады, мұндағы алдыңғы функция болып табылады ( кері позитивті табиғатта), бірақ сол сияқты әрекет етеді жеке басын куәландыратын жаңа элемент бойынша : , . Бұл жиынтық бұл соңғы көміргебраның тасымалдаушысы табиғи сандардың жиынтығы ретінде белгілі.

Екінші мысал үшін сол функцияны қарастырайық Алдындағыдай. Бұл жағдайда соңғы коалгебраны тасымалдаушы натурал сандардың барлық тізімдерінен тұрады, ақырғы және сол сияқты шексіз. Операциялар - бұл тізімнің бос екендігін тексеретін тестілеу функциясы және бос тізімде анықталған деконструкция функциясы, кіріс тізімінің басы мен құйрығынан тұратын жұпты қайтарады.

Теоремалар

  • Бастапқы алгебралар минималды (яғни, тиісті алгебралар жоқ).
  • Соңғы көміргебралар болып табылады қарапайым (яғни, тиісті ұсыныстар жоқ).


Информатикада қолдану

Әр түрлі ақырлы мәліметтер құрылымы жылы қолданылған бағдарламалау, сияқты тізімдер және ағаштар, нақты эндофункторлардың бастапқы алгебралары ретінде алуға болады. Берілген эндофунктор үшін бірнеше бастапқы алгебралар болуы мүмкін, бірақ олар бірегей дейін изоморфизм, бұл бейресми түрде мәліметтер құрылымының «бақыланатын» қасиеттерін бастапқы алгебра ретінде анықтау арқылы жеткілікті түрде алуға болатындығын білдіреді.

Алу үшін түрі элементтері жиын мүшелері болатын тізімдер , тізімді құру операциялары:

Бір функцияға біріктірілген, олар:

  • ,

мұны жасайды - эндофункторға арналған алгебра жіберіліп жатыр дейін . Бұл, шын мәнінде, The бастапқы -алгебра. Бастапқы функция ретінде белгілі фр жылы функционалды бағдарламалау тілдері сияқты Хаскелл және ML.

Сияқты, екілік ағаштар жапырақтары элементтерімен бастапқы алгебра ретінде алуға болады

  • .

Осы жолмен алынған типтер белгілі мәліметтердің алгебралық түрлері.

Пайдалану арқылы анықталған түрлері ең аз бекітілген нүкте функциясымен құру алғашқы әріп ретінде қарастырылуы мүмкін - алгебра параметрлік түрі үшін ұстайды.[1]

Қос тәсілмен ұқсас қатынастар ұғымдар арасында да болады ең үлкен нүкте және терминал -коалгебра, қосымшалары бар кондуктивті түрлері. Бұларды рұқсат ету үшін пайдалануға болады ықтимал шексіз күтіп ұстау кезінде объектілер күшті қалыпқа келтіру қасиеті.[1] Қайырымдылық бағдарламалау тілінде қатты қалыпқа келтірілгенде (әр бағдарлама аяқталады), таңқаларлық нәтижелерге қол жеткізу үшін деректердің кондуктивті типтерін пайдалануға болады, мысалы. анықтау іздеу осыларды жүзеге асыратын құрылымдар «Күшті» сияқты функциялар Ackermann функциясы.[2]

Сондай-ақ қараңыз

Ескертулер

  1. ^ а б Филипп Уэдлер: Рекурсивті түрлері тегін! Глазго университеті, 1998 ж. Шілде. Жоба.
  2. ^ Робин Кокт: қайырымдылық туралы ойлар (ps.gz )

Сыртқы сілтемелер