quotient_type警告"no map function"



使用setient_type命令时,我会收到以下警告:"例如,未定义的地图函数。这是触发警告的最小示例(用Isabelle2017测试(。

theory Example
imports
Main
begin
datatype 'a A = B "'a A" | C
  (*for map: map *) (* uncommenting doesn't fix the warning*)
quotient_type 'a Q = "'a A" / "op ="
  by (rule identity_equivp)
end

所以我的问题是:在此上下文中,地图函数的含义是什么(我只知道函数编程中函数的映射函数的概念(?它与Datatype软件包映射功能有什么关系,例如评论行生成的函数?以后会出现哪些问题?

默认情况下,datatype命令不会带有商软件包生成的映射功能,因为可能会有更多的通用映射器(如果有死类型变量(。因此,您必须手动执行函数声明:

functor map_A
   by(simp_all add: A.map_id0 A.map_comp o_def)

如果您以后想通过商类型提起定义,则需要映射器及其定理。这已在isabelle邮件列表中进行了讨论。

相关内容

最新更新