TorchLean API

NN.Runtime.RL.Numerics.Float32.Returns

Checked Float32 Discounted Returns #

This module contains the value-learning recurrences that need explicit finite-intermediate checks: discounted backups and fixed-horizon discounted returns. The public names stay in Runtime.RL.Numerics.Float32; this file only separates the implementation so the runtime tree is easier to audit.

Reference: Sutton and Barto, Reinforcement Learning: An Introduction.

Checked RL core transforms (configured binary32) #

Require that an ExecFloat.Binary 8 23 value is finite, producing a tagged error on failure.

Instances For

    Checked configured binary32 primitives #

    The checked RL helpers below are intentionally written in terms of a few small “checked primitive” combinators (checkedAdd, checkedMul, …). Larger routines (GAE, PPO objectives, …) remain readable while still producing precise error locations when non-finite values occur.

    Exponential and logarithm use FloatLib's configured deterministic approximations. Their checks reject nonfinite results; they do not certify correct rounding or a real-error bound.

    Checked configured binary32 addition.

    Instances For

      Checked configured binary32 subtraction.

      Instances For

        Checked configured binary32 multiplication.

        Instances For

          Checked configured binary32 division.

          Instances For

            Approximate in binary32 and reject a nonfinite result.

            Instances For

              Approximate the natural logarithm in binary32 and reject a nonfinite result.

              Instances For

                Checked configured binary32 square root.

                Instances For

                  Checked configured binary32 min using IEEE-754 minimum.

                  Instances For

                    Checked configured binary32 max using IEEE-754 maximum.

                    Instances For

                      Checked version of the one-step discounted backup

                      reward + γ * (1-done) * bootstrap

                      specialized to ExecFloat.Binary 8 23.

                      The runtime return type is Except String so training code can choose to:

                      • fail fast, or
                      • fall back to a safer scalar backend (interval/oracle), or
                      • log and skip a bad sample.
                      Instances For

                        Checked preconditions → proof hypotheses #

                        The NN/Proofs/RL/Floats/* bridge theorems for ExecFloat.Binary 8 23 are usually stated with explicit isFinite … = true hypotheses for each intermediate.

                        The lemma below is the glue between runtime safety checks and those proof hypotheses:

                        If the checked routine returns .ok, then all the finiteness side-conditions needed by the semantic bridge theorems hold automatically.

                        If discountedBackupChecked returns .ok out, then:

                        • every configured binary32 intermediate used by the refinement theorem is finite, and
                        • out agrees with the spec-layer discountedBackup formula.

                        Checked fixed-horizon discounted returns (no done flags), specialized to ExecFloat.Binary 8 23.

                        This is the checked/finite counterpart to Runtime.RL.Core.discountedReturnsFrom.

                        Instances For