Coq中的单身人士名单(`A)?

时间:2017-09-10 20:03:43

标签: list coq

我正在尝试理解和编译Coq中的线性逻辑形式化:http://www.cs.nuim.ie/~jpower/Research/LinearLogic/ http://www.cs.nuim.ie/~jpower/Research/LinearLogic/ILL.v

以下是此代码:

Inductive LinCons : (list ILinProp) -> ILinProp -> Prop := 
(* Structural Rules *)
 Identity : 
  (A:ILinProp)  
  (`A |- A)
| Exchange : 
  (A,B,C : ILinProp)(D1,D2 : (list ILinProp))
  ((D1 ^ `A ^ `B ^ D2 |- C) -> (D1 ^ `B ^ `A ^ D2 |- C))
...

但是这段代码没有编译,它为代码段A提供了错误消息Syntax Error: Lexer: Undefined token

在随附的文章中说,`simbol表示由一个元素组成的单例列表,如果是列表的串联则表示^符号。

那么 - 为什么最近的(CoqIDE 8.6.1)Coq无法识别这些符号,我应该在ILL.v文件的开头导入任何附加理论吗?

1 个答案:

答案 0 :(得分:2)

文件使用的语法在作为开发一部分的moreLists文件中定义。然而,该论文写于1999年,那里使用的Coq版本与当前版本几乎没有关系。可悲的是,您现在需要大量工作才能将该开发移植到现在。例如,当时Coq有一套不同的基本策略,一个不同的标准库和一个不同的语法扩展机制。