具有部分反函数的场策略

Field tactic with partial inverse function

Coq 在 Rdefinitions.v 和 Field_theory.v 中将乘法反函数 1/x 定义为总函数 R -> R。值1/0未定义,所有计算公理忽略它。

然而这是构造数学中的一个问题,因为所有的总函数R -> R必须是连续的。而且我们不能在零处连接正无穷大和负无穷大。因此,建设性逆是一个偏函数:

Finv : forall x : R, (0 < x \/ x < 0) -> R

这就是 C-CoRN 库中的定义方式。

现在有没有办法对这些偏反函数使用 field 策略?直接 Add Field 行不通。

答案是否定的。 Add Field 命令依赖于类型为 R -> R 的函数,该函数表示反函数,并且无法构造性地定义此类函数。