中文

良类型逻辑程序并非错误

计算机科学中的逻辑 2007-05-23 v2

摘要

我们考虑逻辑程序的规范类型系统(如Goedel或Mercury所示)。在此类系统中,类型是静态的,但它保证了一个操作属性:如果程序是"良类型"的,那么所有从"良类型"查询开始的派生仍是"良类型"的。这一属性被称为subject reduction。我们表明,这一属性也可以表述为逻辑程序的证词语义属性,从而抽象于通常的运算(自上而下)语义。这一证词语义观点使我们对通常认为必要的条件——即每个子句头部必须具有声明类型的变体(而非真实例)——提出质疑。我们提供了更一般的条件,从而在头部和body原子之间重新建立某种对称性。该条件确保在派生中,两个统一项的类型本身是可统一的。我们讨论了此结果的可能影响。我们还讨论了head条件与多态递归(functional programming中已知的概念)之间的关系。

关键词

引用

@article{arxiv.cs/0012015,
  title  = {Well-Typed Logic Programs Are not Wrong},
  author = {Pierre Deransart and Jan-Georg Smaus},
  journal= {arXiv preprint arXiv:cs/0012015},
  year   = {2007}
}

备注

21 pages, 7 figures