Коиндукция

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Коиндукция в информатике — метод для определения и доказательства свойств систем параллельно взаимодействующих объектов (обобщённо). С математической точки зрения является дуальной к структурной индукции.

В качестве определения или спецификации коиндукция описывает метод, при помощи которого объект может быть разбит на более простые объекты. Как техника математического доказательства коиндукция может быть использована для того, чтобы показать у некоторого коданного выполнимость всех заявленных спецификацией требований.

В программировании кологическая парадигма является естественным расширением логического программирования и коиндукции, которое также обобщает другие расширения логического программирования, такие как бесконечные деревья, ленивые предикаты и параллельно взаимодействующие предикаты. Кологическое программирование имеет применение в областях рациональных деревьев, доказательства бесконечных свойств, ленивых вычислений, параллельного логического вывода, проверки моделей и т. д.

Коданные[править | править код]

Коданные — сущность, дуальная к данным. Коданные являются потенциально бесконечными контейнерами, которые могут содержать в себе как элементы данных, так и элементы коданных. Для оперирования коданными используется механизм корекурсии, для доказательства свойств коданных используется коиндукция (в прямой аналогии с данными, для которых используются рекурсия и индукция соответственно).

Литература[править | править код]

  • Bart Jacobs (1996). "Coalgebraic Specifications and Models of deterministic Hybrid Systems". Algebraic Methods and Software Technology, number 1101 in Lect. Springer. pp. 520--535. Jacobs96coalgebraicspecifications. {{cite conference}}: |access-date= требует |url= (справка)
  • Turner D. Total Functional Programming // Journal of Universal Computer Science. — Т. 10, № 7. — С. 751—768.
  • Richard B. Kieburtz. Codata and Comonads in Haskell (англ.). Дата обращения: 15 декабря 2013. Архивировано из оригинала 11 сентября 2006 года.

Ссылки[править | править код]