Types Coq:归纳类型的简化定义

Types Coq:归纳类型的简化定义,types,syntax,definition,coq,abbreviation,Types,Syntax,Definition,Coq,Abbreviation,假设我有一个归纳类型w/相同类型的构造函数,例如 Inductive A := a (x:nat)(y:Set) | b (x:nat)(y:Set). 是否可以简化它的定义,这样我就不必为每个构造函数重复(可能是参数化的)类型,例如 Inductive A := (a | b) (x:nat)(y:Set). YMMV,但在本例中,我要做的是使用一个带布尔标志的构造函数。@ejgallego:好。。。如果有许多构造函数,则使用nat标志?可能是顺序标志'I_k请记住,您可以使用符号来破解显

假设我有一个归纳类型w/相同类型的构造函数,例如

Inductive A := a (x:nat)(y:Set) | b (x:nat)(y:Set).
是否可以简化它的定义,这样我就不必为每个构造函数重复(可能是参数化的)类型,例如

Inductive A := (a | b) (x:nat)(y:Set).

YMMV,但在本例中,我要做的是使用一个带布尔标志的构造函数。@ejgallego:好。。。如果有许多构造函数,则使用
nat
标志?可能是顺序标志
'I_k
请记住,您可以使用符号来破解显示,因此
true
false
案例可以显示(并解析!)为不同的归纳形式,例如,请参阅,但SO.YMMV中有更多的示例,但在本例中,我要做的是使用一个带布尔标志的构造函数。@ejgallego:Good。。。如果有许多构造函数,则使用
nat
标志?可能是顺序标志
'I_k
请记住,您可以使用符号来破解显示,因此
true
false
案例可以显示(并解析!)为不同的归纳形式,例如,请参见,但SO中有更多的示例。