1

Coq defines the multiplicative inverse function 1/x as a total function R -> R, both in Rdefinitions.v and in Field_theory.v. The value 1/0 is left undefined, all calculation axioms ignore it.

However this is a problem in constructive mathematics, because all total functions R -> R must be continuous. And we cannot connect the positive and negative infinities at zero. Therefore the constructive inverse is rather a partial function :

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

This is for example how it is defined in the C-CoRN library.

Now is there a way to use the field tactic with those partial inverse functions ? A direct Add Field does not work.

V. Semeria
  • 3,128
  • 1
  • 10
  • 25

1 Answers1

2

The answer is no. The Add Field command relies on a function of type R -> R that represents the inverse and such a function cannot be defined constructively.

Yves
  • 3,808
  • 12
  • 12