Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lectures / lecture3.ppt
Скачиваний:
10
Добавлен:
06.06.2015
Размер:
296.45 Кб
Скачать

03.10.11 Лекция 3

Предикатное программирование

Математические основы

Отношения порядка

Наименьшая неподвижная точка

Язык исчисления вычислимых предикатов (прод.)

Типы. Рекурсивные определения типов Логическая и операционная семантика Вызов предиката Оператор суперпозиции Параллельный оператор Условный оператор Конструктор предиката Конструктор массива

Структура множества программ.

Иерархия классов программ

Всякий класс программ представлен тройкой: (программа, спецификация, условия корректности) Программа – язык (базисные языковые конструкции и типы), формальная семантика языка.

Спецификация – язык, формы спецификации. Базисные условия корректности программы относительно спецификации.

1.Класс невзаимодействующих программ. Язык исчисления вычислимых предикатов, формальная операционная семантика, логика программы. Спецификация в виде предусловия и

постусловия: [ P (x), Q(x, y) ]. Формула тотальной

корректности: P(x) [ L(S(x: y)) Q(x, y) ] & y. L(S(x: y))

2. Класс объектно-ориентированных программ.

База – язык невзаимодействующих программ.

Дополнительно - классы, инкапсуляция (внутреннее состояние), наследование.

Спецификация в виде предусловия и постусловия для методов, инвариант класса. Для наследуемых

методов предусловия могут быть ослаблены, а постусловие и инвариант класса – усилены.

Формула тотальной корректности для методов. Выполнимость инварианта после вызова любого метода класса.

3. Класс простых процессов.

База – язык объектно-ориентированных программ.

Дополнительно - loop {A(s, x: s’, y)}.

s – переменные, модифицируемые в цикле Пример. Системы автоматического управления

4. Класс реактивных систем. База – язык простых процессов.

Дополнительно - send m(e), receive m(x){ B }else C, with (y) { B }, F || G.

Спецификация. Машина конечных мета-состояний. Язык темпоральной логики. Условия живости,

безопасности, справедливости, ….

……………………………

4.Математические основы

4.1.Отношения порядка 4.2.Наименьшая неподвижная точка

Отношения порядка

(D, R) отношение порядка R D D; a R b (a, b) Ra D. a R a рефлексивность

a D. a R a иррефлексивностьa,b D. a R b b R a симметричность

a,b D. a R b & b R a a = b антисимметричностьa,b,c D. a R b & b R c a R c транзитивность

(D, ) частично упорядоченное множество (чум)

- рефлексивно, антисимметрично, транзитивно;

- частичный порядок

Частичный порядок линейный (или тотальный)

a,b D. (a b b a).

- строгий частичный порядок- иррефлексивно, антисимметрично, транзитивно.

(D, ) предпорядок - рефлексивно и транзитивно

(D, R) отношение эквивалентности R рефлексивно, симметрично и транзитивно

a S наименьший (наибольший) элемент S Ds S. a s ( s S. s a )

(bottom) и (top)

a D верхняя грань S D s S. s a a D наименьшая верхняя грань S D

b D. (b ― верхняя грань a b) a = lub(S)

least upper bound

a S минимальный элемент S D

b S. (b a b=a)

нижняя грань, наибольшая нижняя грань, максимальный элемент

нижняя полурешетка ч у м с нижней гранью полная решетка ч у м с нижней и верхней гранью

Лемма 4.1. Нижняя (верхняя) полурешетка является полной решеткой.

вполне упорядоченное множество ― всякое подмножество имеет нижнюю грань

ч у м со свойством обрыва бесконечно убывающих цепей (well-founded partial order) ― всякое подмножество имеет минимальный элемент

Наименьшая неподвижная точка

(D, , ) ― частично упорядоченное множество с нижней гранью: a D. a - нижняя полурешетка

Последовательность {am}m 0 является возрастающей цепью, если a0 a1 am … .

F: D→D монотонная функция a,b D. ab F(a) F(b)

Лемма 4.2. {Fn( )}n≥0 ― для монотонной функции F

определяют возрастающую цепь:

F( ) F2( ) … Fn( )…

Лемма 4.3. Если F ― монотонна и a0 a1 a2 … ― возрастающая цепь, то F(a0) F(a1) F(a2) … ―

также возрастающая цепь

m 0am lub {am}m 0 ― наименьшая верхняя грань цепи

F: D→D непрерывная функция

возрастающей цепи {am}m 0. F( m 0am) = m 0 F( am)

Лемма 4.4. Непрерывная функция является монотонной.

x = F(x) ― решением этого уравнения является неподвижная точка функции F

Теорема 4.1 Клини. F ― непрерывна.

Тогда n 0{Fn( )} ― наименьшая неподвижная точка F

3. Теория невзаимодействующих программ.

Язык исчисления вычислимых предикатов (прод1)

Соседние файлы в папке lectures