Correctness of division backends #
word_eq_spec identifies the complete dispatcher with Spec.div for every descriptor and
operand pair. The equality includes rounding, signed zeros, infinities, and NaNs.
The specialized kernels provide refinements on their accepted inputs. When an operand or
intermediate lies outside a kernel's supported domain, the dispatcher uses generic, which is
correct by generic_eq_spec.
theorem
FloatLib.Floats.Formats.BinaryInterchange.Model.DivBackend.generic_eq_spec
{fmt : FloatFormat}
(x y : Model fmt)
:
Compact generic division preserves the public exact-dyadic operation.
theorem
FloatLib.Floats.Formats.BinaryInterchange.Model.DivBackend.word_eq_spec
{fmt : FloatFormat}
(x y : Model fmt)
:
Structurally selected specialized dispatch preserves format-generic division.