КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Основы теории формальных систем
Введение Использование аппликативных вычислений при решении разнообразных задач создания программного обеспечения давно признано мощным и полезным подходом к разработке сложных систем. Широкий спектр систем текстовых преобразований, символьных вычислений, систем декларативного программирования основаны на применении механизмов аппликативных вычислений для решения конкретных прикладных задач. При этом аппликативный подход хорошо формализуем в рамках теории алгоритмов средствами ламбда-исчисления и его специализированного варианта – комбинаторной логики. Наличие строгого математического аппарата позволяет разработчику, с одной стороны, проверить корректность реализации своих моделей, а с другой – обеспечить формальное проектирование новых средств и алгоритмов. Более того, решение сложных задач часто предполагает использование разнородных языковых средств реализации специализированных подсистем. Предлагаемый подход обеспечивает единую среду вычислений, основанную на совместном использовании общей абстрактной машины и единой объектной системы. Математически обоснованная обобщенная схема трансляции гарантирует корректность реализации каждого языка в рамках интегрированной вычислительной среды. Таким образом, использование средств аппликативных вычислений при проектировании сложных прикладных систем позволяет разработчику не только получить адекватное решение комплексных задач обработки информации, но и проверить его корректность формальными методами. Автор выражает благодарность за помощь в создании данного учебного пособия Колычеву В.Д., Гольцеру Ю.Я., Гусаровой Т.Н.
Построение λ- теории Формально математическую систему можно охарактеризовать с помощью следующих основных компонентов:
Множество основных символов содержит символы для обозначения констант, операторов и т.д. В соответствии с правилами образования из этих символов строятся утверждения, затем определяются примитивные утверждения, истинность которых принимается без доказательства (это аксиомы). Далее задаются правила, с помощью которых из справедливых утверждений можно выводить новые справедливые утверждения. Это и есть правила вывода. Доказательство. Если нужно доказать, что некоторое утверждение в формальной системе истинно, то доказательство представляет собой последовательность утверждений, таких что: (1) любое утверждение либо является аксиомой, либо его можно получить из одного или более предыдущих утверждений с помощью правил вывода, (2) последнее утверждение последовательности является утверждением, которое надо доказать. Утверждение, для которого существует доказательство, называется теоремой (Th) этой формальной системы. Пример. Исчисление высказываний. 1. Алфавит: { (,),→, ¬, а1 , а2 ,…}, 2.1. Все переменные - а1,а2,…, являются утверждениями, т.е. все аi -утверждения (i=1,2,…). 2.2. Если А, В - утверждения, то ¬А и (А→В)- тоже утверждения. А – утверждение, В – утверждение => (А→В) – утверждения, ¬А - утверждение 2.3. Никакой другой набор символов не является утверждением. 3.1. (А→(В→А)); 3.2. ((А→(В→С))→((А→В)→(А→С))); 3.3. ((¬В→ ¬А)→((¬В→А)→В)); Правилом вывода является “схема заключения” (modus ponens), т.е. из утверждений (А→В) и А можно вывести В: (А→В), А. B
Понятие λ-исчисления. Существует две точки зрения на понятие функции:
Функция представляется алгоритмом, который по заданному значению аргумента возвращает значение функции
Функция представляется графиком или множеством пар (аргумент - значение). Определение: λ-исчисление – формальная бестиповая теория, рассматривающая функцию как правило (операционный взгляд).
Построение бестипового λ-исчисления.
мн-во мн-во переменных констант 2. Правила построения объектов (термов): 2.1. Все переменные и константы – термы; А - терм, В - терм => (АВ) - терм А-терм, х- переменная, λ-абстракция => λх.А - терм 3. Никакой другой набор символов не является λ-термом. Пример. ƒ(х)=х+1 ƒ3= ƒ(3)=3+1 ƒ: λх.х+1 ƒ3=((λх.х+1)3)=3+1. Соглашение о скобках:
(АВ)→АВ (((АВ)С)D) →((АВ)С)D→(АВ)СD→ABCD Соглашение о λ-символах: Несколько последовательных абстракций можно объединять одним символом λ: λx. λy. A = λxy.A 3.Аксиомы λ- исчислений: (α) λу.z= λυ.[υ/y]z (подстановка υ на место у в выражении z). Связанные переменные в выражении можно переименовывать. λх.х+1=(α) λу.у+1 (β) (λх.M)N=[N/x]M (ρ) M=M 4.Правила вывода: (μ) x=y→ ax=ay (ν) x=y→ xa=ya (ξ) a=b→ λx.a=λx.b (τ) a=b, b=c→ a=c (σ) a=b→ b=a Постулаты λ - исчисления - все аксиомы и правила построения. Примеры: х а @ b – не является λ-термом. λх.у λх.у→((λх.х)3)
Дата добавления: 2014-01-11; Просмотров: 556; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |