Reference · Finite types, distributions and Markov chains
rainbow.math.finite.bellman-signed-greedy-policy
Greedy policy extraction from a signed Bellman fixed point. For the concrete Bellman model with ordinary nnrat transitions and arbitrary signed rewards/values, the runtime finite argmax defines a statewise policy. The policy is admissible whenever the fallback is admissible. At an assumed Bellman fixed value, the backup selected by that policy is pointwise equivalent to the fixed value, because the signed optimality operator is definitionally the backup at its greedy action. This is a mathematical optimal-action certificate. It does not construct a fixed point, verify a policy-evaluation executable, or connect to running Clojure code. Native, kernel-checked, and axiom-free on D63.
value/nnrat-transition-signed-greedy-policy-is-admissible
value/nnrat-transition-signed-greedy-policy-is-admissible.{u, v} :
(S : Type u) (A : Type v) (states : Finset S) (actions : Finset A)
(transition : S → A → S → ℚ≥0) (reward : S → A → ℚ) (discount : ℚ≥0)
(fallback : S → A)
(fallback-admissible : ∀ (state : S), fallback state ∈ actions)
(fixed-value : S → ℚ) (state : S)
→ (fun state₁ => value/signed-greedy-action S A actions fallback (fun value => fun state₂ => fun action => backup value state₂ action) fixed-value state₁) state ∈ actions
where backup := bellman/signed-action-backup S A states (fun state₃ => fun action₁ => fun next-state => signed/from-nnrat (transition state₃ action₁ next-state)) reward (signed/from-nnrat discount)Finset = finset-data/Finsetℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational∈ = finset-data/to-set: membership in a finite set
value/nnrat-transition-signed-greedy-policy-attains-fixed-value
value/nnrat-transition-signed-greedy-policy-attains-fixed-value.{u, v} :
(S : Type u) (A : Type v) (states : Finset S) (actions : Finset A)
(transition : S → A → S → ℚ≥0) (reward : S → A → ℚ) (discount : ℚ≥0)
(fallback : S → A) (fixed-value : S → ℚ)
(fixed-point : ∀ (state : S), value/signed-optimality-step S A actions fallback (fun value => fun state₁ => fun action => backup value state₁ action) fixed-value state = fixed-value state)
(state : S)
→ (fun value => fun state₁ => fun action => backup value state₁ action) fixed-value state ((fun state₁ => value/signed-greedy-action S A actions fallback (fun value => fun state₂ => fun action => backup₁ value state₂ action) fixed-value state₁) state) = fixed-value state
where backup := bellman/signed-action-backup S A states (fun state₂ => fun action₁ => fun next-state => signed/from-nnrat (transition state₂ action₁ next-state)) reward (signed/from-nnrat discount)
where backup₁ := bellman/signed-action-backup S A states (fun state₃ => fun action₁ => fun next-state => signed/from-nnrat (transition state₃ action₁ next-state)) reward (signed/from-nnrat discount)= = signed/equivalent: equality of rational valuesFinset = finset-data/Finsetℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
value/nnrat-transition-signed-greedy-fixed-point-policy-certificate
value/nnrat-transition-signed-greedy-fixed-point-policy-certificate.{u, v} :
(S : Type u) (A : Type v) (states : Finset S) (actions : Finset A)
(transition : S → A → S → ℚ≥0) (reward : S → A → ℚ) (discount : ℚ≥0)
(fallback : S → A)
(fallback-admissible : ∀ (state : S), fallback state ∈ actions)
(fixed-value : S → ℚ)
(fixed-point : ∀ (state : S), value/signed-optimality-step S A actions fallback (fun value => fun state₁ => fun action => backup value state₁ action) fixed-value state = fixed-value state)
→ proposition/conjunction (∀ (state : S), (fun state₁ => action state₁) state ∈ actions) (∀ (state : S), (fun value => fun state₁ => fun action => backup value state₁ action) fixed-value state ((fun state₁ => action₁ state₁) state) = fixed-value state)
where action := value/signed-greedy-action S A actions fallback (fun value => fun state₂ => fun action => bellman/signed-action-backup S A states (fun state₃ => fun action₁ => fun next-state => signed/from-nnrat (…⟨1⟩ …⟨1⟩ …⟨1⟩ …⟨1⟩)) reward (signed/from-nnrat discount) value state₂ action) fixed-value
where action₁ := value/signed-greedy-action S A actions fallback (fun value => fun state₂ => fun action => bellman/signed-action-backup S A states (fun state₃ => fun action₁ => fun next-state => …⟨1⟩ …⟨7⟩) reward (signed/from-nnrat discount) value state₂ action) fixed-value
where backup := bellman/signed-action-backup S A states (fun state₂ => fun action₁ => fun next-state => signed/from-nnrat (transition state₂ action₁ next-state)) reward (signed/from-nnrat discount)= = signed/equivalent: equality of rational valuesFinset = finset-data/Finsetℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational∈ = finset-data/to-set: membership in a finite set