Skip to content
Rainbow docs menu

Reference · The Applied Higher-Order Functions catalogue

rainbow.algorithms.proofs.ahof.projection-methods

The Applied Higher-Order Functions cataloguesrc/rainbow/algorithms/proofs/ahof/projection_methods.clj3 definitions, 6 theorems

Kochenderfer constrained/rounded update rules as higher-order-function compositions, proved axiom-free, extending the 222 AHoF catalog: O10.1 projected gradient descent : project the updated point onto a box [lo,hi] D12.3 restricted policy gradient : clip the update to a trust region [lo,hi] O22.2 LP-relaxation-and-round : round a fractional LP value by a 1/2 threshold Both projection/clipping rules are clamp compositions; the feasibility guarantees (result lies in [lo,hi]) reuse rainbow.math.logic.clamp-range (clamp-at-most-hi, lo-at-most-clamp). Rounding uses the decidable order + if-data. Native and axiom-free; chains clamp-range (-> nnrat-minmax) on d63.

Depends onmath.rational.nnrat.minmaxmath.logic.clamp-range

opt/projected-gradient-step

DefinitionSource, line 46

opt/projected-gradient-step :
  (x₁ x₂ x₃ : ℚ≥0)
  → ℚ≥0

ℚ≥0 = nnrat/NonnegativeRational

policy/restricted-gradient-step

DefinitionSource, line 69

policy/restricted-gradient-step :
  (x₁ x₂ x₃ : ℚ≥0)
  → ℚ≥0

ℚ≥0 = nnrat/NonnegativeRational

opt/lp-round

DefinitionSource, line 93

opt/lp-round :
  (x₁ : ℚ≥0)
  → ℚ≥0

ℚ≥0 = nnrat/NonnegativeRational

opt/projected-below-hi

TheoremFor all inputsNo axiomsSource, line 51

opt/projected-below-hi :
  (x lo hi : ℚ≥0)
  → opt/projected-gradient-step x lo hi ≤ hi

ℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

opt/projected-above-lo

TheoremFor all inputsNo axiomsSource, line 59

opt/projected-above-lo :
  (x lo hi : ℚ≥0)
  (ordered : lo ≤ hi)
  → lo ≤ opt/projected-gradient-step x lo hi

ℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

policy/restricted-within-trust-hi

TheoremFor all inputsNo axiomsSource, line 74

policy/restricted-within-trust-hi :
  (raw lo hi : ℚ≥0)
  → opt/projected-gradient-step raw lo hi ≤ hi

ℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

policy/restricted-within-trust-lo

TheoremFor all inputsNo axiomsSource, line 82

policy/restricted-within-trust-lo :
  (raw lo hi : ℚ≥0)
  (ordered : lo ≤ hi)
  → lo ≤ opt/projected-gradient-step raw lo hi

ℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

opt/lp-round-up-example

TheoremWorked exampleNo axiomsSource, line 101

opt/lp-round-up-example :
  → opt/lp-round 3/4 = 1

1 = nnrat/one= = equality/Eq

opt/lp-round-down-example

TheoremWorked exampleNo axiomsSource, line 107

opt/lp-round-down-example :
  → opt/lp-round 1/4 = 0

0 = nnrat/zero= = equality/Eq