将无穷大添加到偶数集?

Adding infiinity to set of even numbers?

我已经通过以下格式定义了偶数:

Inductive even : nat -> Prop :=
| ev0: even 0
| evSS: forall n, even n -> even S (S n) .

我想在列表中添加无穷大,所以像 (even inf) 这样的命题。我该怎么做?

Coq 中 nat 的定义没有无穷大的值。因此,第一步是添加这样一个元素。这是一种可能的定义:

Inductive nat_inf :=
| Fin : nat -> nat_inf
| Inf.

您现在可以按如下方式定义均匀度:

Inductive even : nat_inf -> Prop :=
| ev0   : even (Fin 0)
| evSS  : forall n, even (Fin n) -> even (Fin (S (S n)))
| evInf : even Inf.