Реализация сетевой модели вычислений с аксиоматической и рекурсивной формами задания функций и предикатов (бакалаврская работа)
.pdf10
Рис 1.4.2 Правила редукции сетей с функциональными и предикатными сортами элементов.
Используемый термин сетевая резолюция относится к процедуре вывода общезначимости формул языка исчисления предикатов первого порядка на базе сетевого представления схем направленных отношений. Основными отличиями сетевой резолюции от традиционного резолютивного логического вывода являются[2]:
1)базирующаяся на сетевом представлении схем d -отношений техника проведения доказательства, в частности, выполнения тех действий, которые являются аналогом процедуры унификации;
2)отказ при доказательстве от явного использования эрбрановской интерпретации и, вследствие этого, получение в ходе доказательства
(возможно, не успешного!) в компактной сетевой форме
11
функциональных уравнений, решения которых представляют собой модели рассматриваемой формулы при любых интерпретациях предикатных символов;
3)использование прямого вывода истинности заданной формулы, а не доказательства тождественной ложности инверсной, что потребовало применения не традиционной, а двойственной формы скулемизации;
4)применение специальной техники доказательства формул с равенством на базе сетевого представления схем d -отношений;
1.5.Схемы аксиом
1.A ∙ ( B ∙ C ) = ( A ∙ B ) ∙ C .
2. |
A<n′,n′′> ∙ |
n′′ |
= A . |
|
|
|
|
|
|
|
|
|
|||
|
n′ |
|
= A . |
|
|
|
|
3. |
∙ A<n′,n′′> |
|
|
|
|
||
4. |
A#(B#C) = (A#B)#C. |
|
|
|
|||
5. |
A # = A . |
|
|
|
|
|
|
6. |
# A = A . |
|
|
|
|
|
|
7. |
′ ′ |
′′ |
′′ |
′ |
′′ |
′ |
′′ |
(A #B ) ∙ (A #B ) |
= (A |
∙ A )#(B |
∙ B ). |
||||
8. |
n′B n′A ∙ ( A<n′A ,n′′A > # B<n′B ,n′′B > ) ∙ n′′A n′′B = B # A . |
9.∙ = .
10.∙ = .
11.∙ ( # ) = ∙ ( # ) .
12.( # ) ∙ = ( # ) ∙ .
12
13.( # ) · = .
14.( # ) · ( # ) = · .
15.Ç = 1Æ1 .
16.. = 1 1
17. (AÇ A) = A.
18. A< n′,n′′> ≤ n′ n′′ .
19.A B = B A .
20.(AÈB) ÈС = AÈ(B ÈC).
21.A A = A.
22.n′ n ∙ A<n,n′′> = n′ n′′ .
23.A<n′,n> ∙ n n′′ = n′ n′′ .
24. n′ n′′ ≤ A<n′,n′′> .
25. A<n′ ,n′′ > # n′ n′′ = n′ +n′ n′′ +n′′ .
A A A A
26. n′ n′′ # A<n′ ,n′′ > = n′ +n′ n′′ +n′′ .
A A A A
27.(AÈB) ·C = A·C ÈB·C .
28.A·(BÈC) = A·B È A·C .
29.(AÈB)#C = A#C ÈB#C.
30.A#(B ÈC) = A#B È A#C .
Правила вывода:
П1. |
A ≤ B, B ≤ C |
. |
|
|
|
||
|
A £ C |
||
П2. |
A ≤ B |
||
|
. |
||
E ≤ [B / A]E |
13
Здесь [B / A]E – результат замены в схеме E некоторого вхождения схемы A на схему B .
Истинность аксиом и непротиворечивость правил вывода поддаются непосредственной проверке[1].
2. Различные представления схем направленных отношений
2.1. Схематическое представление
Схематическое представление является самым наглядным способом изображения направленных отношшений.
Первое из рассматриваемых представлений, так называемое "лоскутное" ( rag ) представление (сокращенно, r -представление) связано с особенностями базисных операций последовательной и параллельной композиции d -отношений и, как нам кажется, поясняет выбор их названий. В r -представлении адекватно отражаются как собственные свойства этих операций (см. аксиомы 1,4),так и их связь между собой (аксиома 7) и с
?
константами (аксиомы 2,3,5,6).
Рис 2.1 Пример схематического изображения сети
14
Определим два подмножества элементарных сетей – безэлементных S 0
(не зависящее от выбора базиса B ) и одноэлементных S 1B {S1x | x B} . Для обозначения сетей из S 0 используются те же символы, что и для элементарных комбинаторных d -отношений (констант); далее будет очевидна их связь и, следовательно, станет понятен сам выбор таких символов.
Рис 2.2 Элементарные сети
Рассмотрим простые схемы d -отношений, полученные (∙,#)-компози-
цией констант и переменных. r -Представление таких схем определим индуктивно:
1)элементарные схемы – константы и переменные – изображаются
прямоугольниками, внутри которых помещаются соответствующие символы – констант или переменных; для всех случаев, кроме
n
констант , r -представления элементарных схем имеют произвольные ненулевые значения размеров представляющих их
прямоугольников; для констант |
n |
n = 0 |
и высота |
||||
* длина, а при |
|||||||
могут быть равны нулю, более того, всякий раз, когда это возможно, |
|||||||
будем выбирать для них именно нулевые размеры; |
|
|
|
||||
2) если |
′ |
′′ |
и известны |
r -представления схем |
A′ |
и A′′ |
с |
A ≡ A |
∙ A |
||||||
внешними границами в форме прямоугольников, то путем |
|||||||
соответствующей |
трансформации (сжимания или растягивания) |
в |
15
вертикальном направлении они приводятся к одинаковой, в общем случае ненулевой высоте (исключение составляет случай
′ |
′′ |
≡ |
|
), после чего правая граница r -представления |
′ |
A |
= A |
|
A |
совмещается с левой границей r -представления A′′ (рис. 2.1a);если A ≡ A′# A′′, то путем трансформации r -представлений A′ и A′′ в горизонтальном направлении они приводятся к одинаковой, в общем
|
ненулевой (кроме случая A′ = A′′ ≡ |
n |
|
|
|||
случае, |
) длине, |
после чего |
|||||
нижняя |
граница |
r -представления |
A′ |
совмещается |
с |
верхней |
|
границей r -представления |
A′′ (рис. 2.1b).На рис. 2.1c |
показан |
|||||
пример |
|
r |
-представления |
|
схемы |
||
( A ∙ ∙ A # ) ∙ ∙ B # B ∙ |
∙ |
( A # ) , где |
|
A имеет |
|||
арность |
< 1,1 > , а |
B – арность |
< 1,2 > . |
|
|
|
Рис. 2.2. -Представление:
а) последовательная композиция: ,
b)параллельная композиция: ,
c)пример r-представления.
16
Соответствия элементарных констант и их схематических представлений(Рис 2.3).
Рис 2.3 Соответствие схематического представления констант и их алгебраических и графических представлений
Пример схематического представления операции (рис 2.4) сложения натуральных чисел.
Натуральное число – число, порожденное конструктором типа натуральных чисел.
<0,1> Null– Конструктор нуля.
<1,1> Succ – Конструктор перехода к следующему числу <2,1> Add – Сложение двух чисел.
Рис 2.4 Пример схематического представления сети
17
2.2. Алгебраическое представление
Еще один тип представления. Смысл заключается в построении алгебраического представления, эквивалентного схематическому. Вся сеть делится на прямоугольные области, затем каждая область заменяется своим алгебраиеским представлением. Алгебраическое представления областей, находящихся на одной вертикали объединяются символом параллельной композиции, А на одной горизонтали – последовательной(рис 2.5)
.
Рис 2.5 Визуализация композиций схем НО
18
Пример.
Для приведенных выше примеров соответствующие алнгебраические представления будут такими
3 41 = 3677 ∙ 8699 3 4 2 = 3677 ∙ 8699 ∙ 8699
Рис 2.6 Пример представления функции в алгебраическом представлении
2.3. Графическое представление.
Графическое представление содержит в себе информацию о входах и выходах сети, а также о зависимостях от других сетей.
Идея построения заключается в присваивании имен точкам сети, и построении зависимостей между этими точками через другие функции.
19
Пример:
Add = {a,c:e? b = Succ(a), e = Succ(d), d = Add(b,c)}
Или
Add = {a,c: Succ(Add(Succ(a), c))}
Все 3 представления направленных отношений эквивалентны
3. Реализация программы
Цель программы – производить вычисление схем направленных отношений основываясь на принципе сетевой резолюции.
Входные данные берутся из файла с определениями функций в одной из форм (алгебраической или графической). Затем составляется список функций во внутреннем представлении программы.
По запросу пользователя происходит процесс подстановки одной функции в другую. Тем самым порождая новые определения второй функции.
Программа реализована на языке C# в среде Visual Studio 2010. Программа состоит из 2х логических частей:
1.Построение по входному файлу списка лексем.
2.Построение внутреннего представления функций.
Разбор файла происходит согласно заданной грамматике. Сначала определяется сама правосторонняя грамматика, по ней строится граф переходов и начальное состояние. Затем входной файл построчно разбирается, согласно заданной грамматике.