我正在Software Foundations中进行以下练习:
(** **** Exercise: 2 stars (baz_num_elts) *)
(** Consider the following inductive definition: *)
Inductive baz : Type :=
| x : baz -> baz
| y : baz -> bool -> baz.
(** How _many_ elements does the type [baz] have?
(* FILL IN HERE *)
[] *)
我在互联网上看到的所有答案都说答案是2,元素是x和y。如果是这种情况,那么对我来说,不清楚element是什么意思。当然有两个构造函数,但是实际上无法创建类型baz的值。
baz
由于x
具有type,因此无法创建type的值baz -> baz
。y
具有类型baz -> bool -> baz
。为了获得type的值,baz
我们需要将type的值传递baz
给x
或y
。在没有type值的baz
情况下,我们无法获得type 的值baz
。
到目前为止,我已经解释元素,以平均数值。因此(cons nat 1 nil)
,(cons nat 1 (cons nat 2 nil))
并且都将是type的元素,list nat
并且将有无限多个type的元素list nat
。将有两个type元素bool
,分别是true
和false
。根据这种解释,我认为type的元素为零baz
。
我是正确的,还是有人可以解释我的误解?
真好 那就是我以为你在想的。谢谢,Twernmilt。对于它的价值,我的反应与您相同:我也希望答案是type的元素为零
—
DW
baz
。
baz
。