Информационная система Скотта

Логико-дедуктивная система

В теории доменов , разделе математики и компьютерных наук , информационная система Скотта — это примитивный вид логико- дедуктивной системы, часто используемый как альтернативный способ представления доменов Скотта .

Определение

Информационная система Скотта , A , представляет собой упорядоченную тройку ( Т , С о н , ) {\displaystyle (T,Con,\vdash)}

  • Т  представляет собой набор токенов (основных единиц информации) {\displaystyle T{\mbox{ — это набор токенов (основных единиц информации)}}}
  • С о н П ф ( Т )  конечные подмножества  Т {\displaystyle Con\subseteq {\mathcal {P}}_{f}(T){\mbox{ конечные подмножества }}T}
  • ( С о н { } ) × Т {\displaystyle {\vdash }\subseteq (Con\setminus \lbrace \emptyset \rbrace )\times T}

удовлетворяющий

  1. Если  а Х С о н  затем  Х а {\displaystyle {\mbox{Если }}a\in X\in Con{\mbox{ тогда }}X\vdash a}
  2. Если  Х И  и  И а , затем  Х а {\displaystyle {\mbox{Если }}X\vdash Y{\mbox{ и }}Y\vdash a{\mbox{, то }}X\vdash a}
  3. Если  Х а  затем  Х { а } С о н {\displaystyle {\mbox{Если }}X\vdash a{\mbox{ тогда }}X\cup \{a\}\in Con}
  4. а Т : { а } С о н {\displaystyle \forall a\in T:\{a\}\in Con}
  5. Если  Х С о н  и  Х Х  затем  Х С о н . {\displaystyle {\mbox{Если }}X\in Con{\mbox{ и }}X^{\prime }\,\subseteq X{\mbox{ то }}X^{\prime }\in Con.}

Здесь имеется в виду Х И {\displaystyle X\vdash Y} а И , Х а . {\displaystyle \forall a\in Y,X\vdash a.}

Примеры

Натуральные числа

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

  • Т := Н {\displaystyle T:=\mathbb {N} }
  • С о н := { } { { н } н Н } {\displaystyle Con:=\{\emptyset \}\cup \{\{n\}\mid n\in \mathbb {N} \}}
  • Х а а Х . {\displaystyle X\vdash a\если и только если a\в X.}

То есть результатом может быть либо натуральное число, представленное синглтонным множеством , либо «бесконечная рекурсия», представленная . { н } {\displaystyle \{n\}} {\displaystyle \emptyset}

Конечно, ту же конструкцию можно выполнить с любым другим набором вместо . Н {\displaystyle \mathbb {N} }

Пропозициональное исчисление

Пропозициональное исчисление дает нам очень простую информационную систему Скотта следующим образом:

  • Т := { ϕ ϕ  является выполнимым } {\displaystyle T:=\{\phi \mid \phi {\mbox{ выполнимо}}\}}
  • С о н := { Х П ф ( Т ) Х  последователен } {\displaystyle Con:=\{X\in {\mathcal {P}}_{f}(T)\mid X{\mbox{ согласован}}\}}
  • Х а Х а  в исчислении высказываний . {\displaystyle X\vdash a\iff X\vdash a{\mbox{ в исчислении высказываний}}.}

Домены Скотта

Пусть Dдомен Скотта . Тогда мы можем определить информационную систему следующим образом

  • Т := Д 0 {\displaystyle T:=D^{0}} набор компактных элементов Д {\displaystyle D}
  • С о н := { Х П ф ( Т ) Х  имеет верхнюю границу } {\displaystyle Con:=\{X\in {\mathcal {P}}_{f}(T)\mid X{\mbox{ имеет верхнюю границу}}\}}
  • Х г г Х . {\displaystyle X\vdash d\ifl d\sqsubseteq \bigsqcup X.}

Пусть будет отображением, которое переносит нас из домена Скотта, D , в информационную систему, определенную выше. я {\displaystyle {\mathcal {I}}}

Информационные системы и домены Скотта

Имея информационную систему , мы можем построить домен Скотта следующим образом. А = ( Т , С о н , ) {\displaystyle A=(T,Con,\vdash )}

  • Определение: является точкой тогда и только тогда, когда х Т {\displaystyle x\subseteq T}
    • Если  Х ф х  затем  Х С о н {\displaystyle {\mbox{Если }}X\subseteq _{f}x{\mbox{ тогда }}X\in Con}
    • Если  Х а  и  Х ф х  затем  а х . {\displaystyle {\mbox{Если }}X\vdash a{\mbox{ и }}X\subseteq _{f}x{\mbox{ то }}a\in x.}

Пусть обозначает множество точек A с упорядочением подмножеств. будет счетно-базисной областью Скотта, когда T счетно. В общем случае для любой области Скотта D и информационной системы A Д ( А ) {\displaystyle {\mathcal {D}}(A)} Д ( А ) {\displaystyle {\mathcal {D}}(A)}

  • Д ( я ( Д ) ) Д {\displaystyle {\mathcal {D}}({\mathcal {I}}(D))\cong D}
  • я ( Д ( А ) ) А {\displaystyle {\mathcal {I}}({\mathcal {D}}(A))\cong A}

где второе сравнение задается аппроксимируемыми отображениями.

Смотрите также

Ссылки

  • Глинн Уинскел: «Формальная семантика языков программирования: Введение», MIT Press, 1993 (глава 12)
Взято с "https://en.wikipedia.org/w/index.php?title=Scott_information_system&oldid=1222973317"