Какую поддержку Изабель имеет для отношений, представленных двоичными предикатами? - PullRequest
0 голосов
/ 26 апреля 2018

В формализации Изабель я представляю отношения бинарными предикатами.Я хотел бы иметь операторы, которые выполняют типичные операции отношения, такие как составление и инверсия, используя это представление.

В документе «Что в основном» упоминаются только такие операторы для представления множествами пар.В начале Relation теория говорит: «Отношения - как наборы пар и двоичные предикаты».Тем не менее, я не мог найти большую поддержку для представления двоичных предикатов в этой теории.Все, что я нашел, было несколько лемм с загадочным атрибутом pred_set_conv.

Существует ли обширная поддержка отношений, представленных двоичными предикатами?В частности, определены ли операторы для операций общего отношения?Где эти вещи задокументированы?

1 Ответ

0 голосов
/ 26 апреля 2018

Поддержка отношений в виде наборов пар немного лучше развита, чем для бинарных предикатов, но доступно довольно много.Однако многие операции с отношениями являются примерами более общих операций над функциями и предикатами или они действительно получены с использованием pred_set_conv.Поэтому их может быть довольно сложно найти.Используйте команду или панель find_theorems, чтобы найти леммы.Вот краткое резюме обычных операций:

  • Состав: relcompp (инфикс OO)
  • Инверсия: conversep (запись _\<inverse>\<inverse>)
  • (рефлексивное) переходное замыкание: tranclp и rtranclp
  • Пересечение: inf
  • Объединение: sup
  • Включение: op <= (Я считаю леммы predicate2I и predicate2D особенно полезными)
  • График функции, ограниченной доменом: BNF_Def.Grp
  • Инверсное изображение под двумя функциями: BNF_Def.vimage2p
  • Обоснованность и доступность: wfP и accp
...