А Б В Г Д Е Є Ж З І Ї Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ю Я
Я-числення
Я-Обчислення може бути також доповнено довільним набором констант, таких, як цілі числа, і пов'язаних з ними функцій, які називаються 6-правилами.
В Я-обчисленні цілком можливо записати два вирази, які є семантично ідентичними, але синтаксично відрізняються один від одного через різні імен змінних.
Видаливши б-правила, ми отримаємо чисте Я-числення. У ньому можна висловити будь-які функції, незважаючи на відсутність б-правил.
Рекурсивні функції можуть бути виражені в Я-обчисленні за допомогою спеціальної функції, званої У-комбінатором, яка знаходить найменшу фіксовану точку функції.
Тут ми відходимо від моделі редукції, пропонованої в Я-обчисленні, де обчислення виразів записується в чисто текстовій формі.
Я знаходжу дуже дивним те обставина, що мої моделі Я-обчислення не були знайдені ким-небудь раніше, але я дуже натхнений тим, що нові типи моделей з новими властивостями, як, наприклад, домени Гордона Плоткина[10], Відкриваються зараз. Особисто я впевнений, що для цього все вже підготовлено як на теоретичному, так і на прикладному рівнях. Джон Рейнолдс і Роберт Мілн незалежно один від одного ввели новий індуктивний метод докази еквівалентностей; Робін Мілнер продовжує в Единбурзі цікаву роботу по LCF і техніці доказів. Початок напрямку докази через моделі було покладено теоремою Девіда Парка про зв'язок оператора нерухомої точки з так званим парадоксальним комбінатором Я-обчислення, і це поклало початок вивченню нескінченних, але обчислюваних операторів, яке триває з багатьох лініях. Інший напрямок розробляється в Новосибірську під керівництвом Ю. Л. Єршова, а Карл X.
Вершина застосування виконує найбільш складну операцію, еквівалентну (З - редукції в Я-обчисленні. Є дві вхідні дуги. Перша з них, яка за угодою малюється з лівого боку, відповідає застосовуваної функції, а друга відповідає аргументу цієї функції, як показано нижче. Обидві входять дуги повинні мати дані в моделі, керованої даними, а в ледачою моделі, керованої запитами, дані необхідні тільки на вхідний дузі, що відповідає функції. Результат застосування в кінці кінців поміщається на що виходить дугу, іноді після підстановки подграфа, що представляє тіло функції користувача, яка подається на функціональний вхід.
З /С /, показавши, що /є нормальною формою SKK в Я-обчисленні, або за допомогою правил редукції для застосувань 5 і /С, припускаючи екстенсіональність в КЛ.
Друга ланцюжок ізоморфізмів. Ми описали, чому & - ж, простір функцій нескінченного порядку, є моделлю Я-обчислення.
Особливе значення тут, однак, має той факт, що У може бути записаний у вигляді Я-висловлювання, що дуже важливо для чистого Я-обчислення, що не має вбудованих функцій.
Зв'язок між іменами змінних і їх значеннями зазвичай називається контекстом, і ми говоримо, що механізм редукції є заснованим на контексті, а не на копіюванні, як в Я-обчисленні. Ми більш детально розглянемо контексти в гл.
Обчислення було використано як засіб для опису (чисто синтаксичного) властивостей математичних функцій і ефективної обробки їх в якості правил. Я-обчислення особливо зручна для формального опису маніпулювання функціями і навіть в якості проміжного коду, в який можна транслювати вихідну програму.
Ми розглянемо найбільш загальну реалізацію, засновану на контексті, яка інтерпретує вираження - обчислення. Як ми бачили, Я-числення має достатню потужність для подання будь-якого функціонального мови і тому забезпечує хорошу основу для побудови практичних реалізацій. Ми бачили також, як функціональні мови транслюються в таку форму, щоб було можливо прийняти деякий варіант Я-обчислення в якості зручного проміжного коду для їх реалізації. Він використовує чотири стека, що позначаються S, Е, С і D для забезпечення механічного обчислення Л - виразів.
Ми розглянемо найбільш загальну реалізацію, засновану на контексті, яка інтерпретує вираження - обчислення. Як ми бачили, Я-числення має достатню потужність для подання будь-якого функціонального мови і тому забезпечує хорошу основу для побудови практичних реалізацій. Ми бачили також, як функціональні мови транслюються в таку форму, щоб було можливо прийняти деякий варіант Я-обчислення в якості зручного проміжного коду для їх реалізації. Він використовує чотири стека, що позначаються S, Е, С і D для забезпечення механічного обчислення Л - виразів.
Мостовського, який в цей же час знаходився в Оксфорді, просто не міг повірити, що тип функціональних просторів, який я визначив, взагалі міг мати конструктивне опис. При появі сумнівів в корисності примусової жорсткості логічних типів, у чому я намагався переконати Стреч, я прийшов до висновку, що одне з цих просторів ізоморфно свого власного функціональному простору, яке забезпечує модель безтиповою Я-обчислення. Закінчення цієї історії описано в літературі.
Цікаві відомості, що проливають світло на історію Я-ис-вання, дає участь в ній Алана Тьюринга. Звичайно, пізні погляди Тьюринга на комп'ютери надали на Стреч великий вплив, проте зараз не час проводити повний історичний аналіз. Хоча я ніколи не зустрічався з Тьюрингом (він помер в 1954 р), зіткнення з ним через Черча, стреч і моїх нинішніх колег по Оксфорду, Ле Фокса і Робіна Ганді, виявилося досить близьким незважаючи на те, чщ в той час я тільки закінчував університет, Черч більше не займався Я-обчисленням і ми ніколи не обговорювали його роботу з Тьюрингом.
Я знаходжу дуже дивним те обставина, що мої моделі Я-обчислення не були знайдені ким-небудь раніше, але я дуже натхнений тим, що нові типи моделей з новими властивостями, як, наприклад, домени Гордона Плоткина[10], Відкриваються зараз. Особисто я впевнений, що для цього все вже підготовлено як на теоретичному, так і на прикладному рівнях. Джон Рейнолдс і Роберт Мілн незалежно один від одного ввели новий індуктивний метод докази еквівалентностей; Робін Мілнер продовжує в Единбурзі цікаву роботу по LCF і техніці доказів. Початок напрямку докази через моделі було покладено теоремою Девіда Парка про зв'язок оператора нерухомої точки з так званим парадоксальним комбінатором Я-обчислення, і це поклало початок вивченню нескінченних, але обчислюваних операторів, яке триває з багатьох лініях. Інший напрямок розробляється в Новосибірську під керівництвом Ю. Л. Єршова, а Карл X.
Оскільки в канонічному А-обчисленні немає імен змінних, там немає еквівалента правилом а-перетворення виразів, і це ставить питання про можливість виконання р-редукції в присутності вільних змінних. Виявляється, можна виконувати перетворення, еквівалентну Р - редукції в А. Але правило р - редукції є більш складним у порівнянні з правилом р-редукції, так як воно перенумеровувати канонічні змінні в тілі функції, навіть якщо ці змінні не потрібно заміщати; це багато в чому схоже на ос-перетворення. Цікава властивість Р - редукції в присутності вільних змінних полягає в тому, що таке перейменування (перенумерация) пов'язаних змінних з метою зробити їх імена унікальними по відношенню до вільних змінним аргументу стає формальним алгоритмом (фактично частиною самого правила р - редукції) в Я-обчисленні де Брейна.
Я народився в Каліфорнії і приступив до роботи в галузі математичної логіки, будучи студентом молодших курсів в - Берклі на початку 1950 - х років. Найбільше на мене вплинули, звичайно, Альфред Тарський, його колеги та студенти Каліфор - - нійского університету. Поряд з іншими предметами під керівництвом Рафаеля і Джулії Робінсон, яких я хочу подякувати за багато цінні ідеї, я вивчав теорію рекурсивних функцій. Ці концепції, як ви знаєте, до сих пір широко обговорюються в філософії природної мови. Я намагався застосувати ідеї підходу Тарського до алгоритмическим мов, перевага яких полягає принаймні в тому, що вони достатня добре синтаксично формалізовані. Можливо, вимагає обговорення, чи дійсно мені вдалося, керуючись схемами Стреч та інших вчених, знайти правильні визначення термінів. Саме я першим заявив про те, що не всі проблеми вирішуються одним лише підбором денотатов до деяких мов: для мов типу (чистого) Я-обчислення потрібні визначення в більшості випадків знайдені, проте багато понять програмування досі залишаються невизначеними.
В Я-обчисленні цілком можливо записати два вирази, які є семантично ідентичними, але синтаксично відрізняються один від одного через різні імен змінних.
Видаливши б-правила, ми отримаємо чисте Я-числення. У ньому можна висловити будь-які функції, незважаючи на відсутність б-правил.
Рекурсивні функції можуть бути виражені в Я-обчисленні за допомогою спеціальної функції, званої У-комбінатором, яка знаходить найменшу фіксовану точку функції.
Тут ми відходимо від моделі редукції, пропонованої в Я-обчисленні, де обчислення виразів записується в чисто текстовій формі.
Я знаходжу дуже дивним те обставина, що мої моделі Я-обчислення не були знайдені ким-небудь раніше, але я дуже натхнений тим, що нові типи моделей з новими властивостями, як, наприклад, домени Гордона Плоткина[10], Відкриваються зараз. Особисто я впевнений, що для цього все вже підготовлено як на теоретичному, так і на прикладному рівнях. Джон Рейнолдс і Роберт Мілн незалежно один від одного ввели новий індуктивний метод докази еквівалентностей; Робін Мілнер продовжує в Единбурзі цікаву роботу по LCF і техніці доказів. Початок напрямку докази через моделі було покладено теоремою Девіда Парка про зв'язок оператора нерухомої точки з так званим парадоксальним комбінатором Я-обчислення, і це поклало початок вивченню нескінченних, але обчислюваних операторів, яке триває з багатьох лініях. Інший напрямок розробляється в Новосибірську під керівництвом Ю. Л. Єршова, а Карл X.
Вершина застосування виконує найбільш складну операцію, еквівалентну (З - редукції в Я-обчисленні. Є дві вхідні дуги. Перша з них, яка за угодою малюється з лівого боку, відповідає застосовуваної функції, а друга відповідає аргументу цієї функції, як показано нижче. Обидві входять дуги повинні мати дані в моделі, керованої даними, а в ледачою моделі, керованої запитами, дані необхідні тільки на вхідний дузі, що відповідає функції. Результат застосування в кінці кінців поміщається на що виходить дугу, іноді після підстановки подграфа, що представляє тіло функції користувача, яка подається на функціональний вхід.
З /С /, показавши, що /є нормальною формою SKK в Я-обчисленні, або за допомогою правил редукції для застосувань 5 і /С, припускаючи екстенсіональність в КЛ.
Друга ланцюжок ізоморфізмів. Ми описали, чому & - ж, простір функцій нескінченного порядку, є моделлю Я-обчислення.
Особливе значення тут, однак, має той факт, що У може бути записаний у вигляді Я-висловлювання, що дуже важливо для чистого Я-обчислення, що не має вбудованих функцій.
Зв'язок між іменами змінних і їх значеннями зазвичай називається контекстом, і ми говоримо, що механізм редукції є заснованим на контексті, а не на копіюванні, як в Я-обчисленні. Ми більш детально розглянемо контексти в гл.
Обчислення було використано як засіб для опису (чисто синтаксичного) властивостей математичних функцій і ефективної обробки їх в якості правил. Я-обчислення особливо зручна для формального опису маніпулювання функціями і навіть в якості проміжного коду, в який можна транслювати вихідну програму.
Ми розглянемо найбільш загальну реалізацію, засновану на контексті, яка інтерпретує вираження - обчислення. Як ми бачили, Я-числення має достатню потужність для подання будь-якого функціонального мови і тому забезпечує хорошу основу для побудови практичних реалізацій. Ми бачили також, як функціональні мови транслюються в таку форму, щоб було можливо прийняти деякий варіант Я-обчислення в якості зручного проміжного коду для їх реалізації. Він використовує чотири стека, що позначаються S, Е, С і D для забезпечення механічного обчислення Л - виразів.
Ми розглянемо найбільш загальну реалізацію, засновану на контексті, яка інтерпретує вираження - обчислення. Як ми бачили, Я-числення має достатню потужність для подання будь-якого функціонального мови і тому забезпечує хорошу основу для побудови практичних реалізацій. Ми бачили також, як функціональні мови транслюються в таку форму, щоб було можливо прийняти деякий варіант Я-обчислення в якості зручного проміжного коду для їх реалізації. Він використовує чотири стека, що позначаються S, Е, С і D для забезпечення механічного обчислення Л - виразів.
Мостовського, який в цей же час знаходився в Оксфорді, просто не міг повірити, що тип функціональних просторів, який я визначив, взагалі міг мати конструктивне опис. При появі сумнівів в корисності примусової жорсткості логічних типів, у чому я намагався переконати Стреч, я прийшов до висновку, що одне з цих просторів ізоморфно свого власного функціональному простору, яке забезпечує модель безтиповою Я-обчислення. Закінчення цієї історії описано в літературі.
Цікаві відомості, що проливають світло на історію Я-ис-вання, дає участь в ній Алана Тьюринга. Звичайно, пізні погляди Тьюринга на комп'ютери надали на Стреч великий вплив, проте зараз не час проводити повний історичний аналіз. Хоча я ніколи не зустрічався з Тьюрингом (він помер в 1954 р), зіткнення з ним через Черча, стреч і моїх нинішніх колег по Оксфорду, Ле Фокса і Робіна Ганді, виявилося досить близьким незважаючи на те, чщ в той час я тільки закінчував університет, Черч більше не займався Я-обчисленням і ми ніколи не обговорювали його роботу з Тьюрингом.
Я знаходжу дуже дивним те обставина, що мої моделі Я-обчислення не були знайдені ким-небудь раніше, але я дуже натхнений тим, що нові типи моделей з новими властивостями, як, наприклад, домени Гордона Плоткина[10], Відкриваються зараз. Особисто я впевнений, що для цього все вже підготовлено як на теоретичному, так і на прикладному рівнях. Джон Рейнолдс і Роберт Мілн незалежно один від одного ввели новий індуктивний метод докази еквівалентностей; Робін Мілнер продовжує в Единбурзі цікаву роботу по LCF і техніці доказів. Початок напрямку докази через моделі було покладено теоремою Девіда Парка про зв'язок оператора нерухомої точки з так званим парадоксальним комбінатором Я-обчислення, і це поклало початок вивченню нескінченних, але обчислюваних операторів, яке триває з багатьох лініях. Інший напрямок розробляється в Новосибірську під керівництвом Ю. Л. Єршова, а Карл X.
Оскільки в канонічному А-обчисленні немає імен змінних, там немає еквівалента правилом а-перетворення виразів, і це ставить питання про можливість виконання р-редукції в присутності вільних змінних. Виявляється, можна виконувати перетворення, еквівалентну Р - редукції в А. Але правило р - редукції є більш складним у порівнянні з правилом р-редукції, так як воно перенумеровувати канонічні змінні в тілі функції, навіть якщо ці змінні не потрібно заміщати; це багато в чому схоже на ос-перетворення. Цікава властивість Р - редукції в присутності вільних змінних полягає в тому, що таке перейменування (перенумерация) пов'язаних змінних з метою зробити їх імена унікальними по відношенню до вільних змінним аргументу стає формальним алгоритмом (фактично частиною самого правила р - редукції) в Я-обчисленні де Брейна.
Я народився в Каліфорнії і приступив до роботи в галузі математичної логіки, будучи студентом молодших курсів в - Берклі на початку 1950 - х років. Найбільше на мене вплинули, звичайно, Альфред Тарський, його колеги та студенти Каліфор - - нійского університету. Поряд з іншими предметами під керівництвом Рафаеля і Джулії Робінсон, яких я хочу подякувати за багато цінні ідеї, я вивчав теорію рекурсивних функцій. Ці концепції, як ви знаєте, до сих пір широко обговорюються в філософії природної мови. Я намагався застосувати ідеї підходу Тарського до алгоритмическим мов, перевага яких полягає принаймні в тому, що вони достатня добре синтаксично формалізовані. Можливо, вимагає обговорення, чи дійсно мені вдалося, керуючись схемами Стреч та інших вчених, знайти правильні визначення термінів. Саме я першим заявив про те, що не всі проблеми вирішуються одним лише підбором денотатов до деяких мов: для мов типу (чистого) Я-обчислення потрібні визначення в більшості випадків знайдені, проте багато понять програмування досі залишаються невизначеними.