TorchLean API

FloatLib.Floats.Formats.BinaryInterchange.Configured.Operations.Proof

Packing correctness for configured standard operations #

Every decoding theorem states that decoding a configured result recovers the single descriptor-model operation used to compute it. Results with status := true keep all five indicators, and the projection theorems value_remainder through value_nextDown state that their value is the configured operation without status.

The arithmetic properties are proved for the descriptor-model operations. These theorems transport their results through the storage codec, giving the same equations for values and exception flags with every storage plan.

@[simp]

Decoding configured IEEE remainder gives the descriptor-model remainder.

@[simp]

Decoding configured remainder preserves its value, status indicators, and ternary value.

@[simp]

Decoding configured integral rounding gives integral rounding in the descriptor model.

@[simp]

Decoding configured power-of-two scaling gives descriptor-model scaling.

@[simp]

Configured power-of-two scaling preserves the model value, status, and ternary value.

@[simp]

The integer exponent query is the descriptor-model query on the decoded value.

@[simp]

Decoding configured binaryExponent gives the descriptor-model leading binary exponent.

@[simp]

Configured binaryExponent preserves the model value, status, and ternary value.

@[simp]

Decoding configured sign copying gives descriptor-model sign copying.

@[simp]

Decoding configured absolute value gives descriptor-model absolute value.

@[simp]

Decoding the configured upward neighbor gives the descriptor-model upward neighbor.

@[simp]

The configured upward neighbor preserves the model value, status, and ternary value.

@[simp]

Decoding the configured downward neighbor gives the descriptor-model downward neighbor.

@[simp]

The configured downward neighbor preserves the model value, status, and ternary value.

@[simp]

Decoding configured minNum gives descriptor-model minNum.

@[simp]

Decoding configured maxNum gives descriptor-model maxNum.

@[simp]

Configured remainder with status := true delivers the value of configured remainder.

@[simp]

Configured integral rounding with status := true delivers the value of configured integral rounding.

@[simp]

Configured scaling with status := true delivers the value of configured scaling.

@[simp]

Configured binaryExponent with status := true delivers the value of configured binaryExponent.

@[simp]

The configured upward neighbor with status := true delivers the upward neighbor.

@[simp]

The configured downward neighbor with status := true delivers the downward neighbor.

@[simp]

The integer value is absent exactly for the values that are not finite.