在 Coq 中部分计算目标的策略
Tactic to partially compute goal in Coq
我有目标
quad X Y
,但我不记得 "quad" 的定义,我不想开始搜索它的定义。
是否有一种策略可以让我用它的定义快速替换 quad?
Record quad (X Y:Type):= { x:X; y:Y}.
或者我必须记住并使用
refine (@Build_quad _ _).
?
你有点误会了,Build_quad
不是quad
的定义,而是它的构造函数。它创建 quad
类型的术语。
正如@ejgallego 所说,在这种情况下你应该使用 constructor
策略。
您的目标是提供 quad X Y
类型的术语,从头开始构建此类术语的唯一方法是使用 forall X Y: Type, X -> Y -> quad X Y
类型的构造函数 Build_quad
。
我有目标
quad X Y
,但我不记得 "quad" 的定义,我不想开始搜索它的定义。
是否有一种策略可以让我用它的定义快速替换 quad?
Record quad (X Y:Type):= { x:X; y:Y}.
或者我必须记住并使用
refine (@Build_quad _ _).
?
你有点误会了,Build_quad
不是quad
的定义,而是它的构造函数。它创建 quad
类型的术语。
正如@ejgallego 所说,在这种情况下你应该使用 constructor
策略。
您的目标是提供 quad X Y
类型的术语,从头开始构建此类术语的唯一方法是使用 forall X Y: Type, X -> Y -> quad X Y
类型的构造函数 Build_quad
。