Reference · The Applied Higher-Order Functions catalogue
rainbow.algorithms.proofs.ahof.multiobjective
Kochenderfer 'Algorithms for Optimization' Ch.15-16 multiobjective / sampling-plan selection rules as higher-order-function compositions, proved axiom-free, extending the 222 AHoF catalog: O15.3 non-dominated sorting : a Pareto-dominates b iff a1>=b1 AND a2>=b2 O15.4 VEGA : per-objective subpopulation selection = max fitness O16.8 greedy subset select : pick the point of minimum distance metric O16.9 exchange subset select: accept a swap only when it reduces the metric Pareto dominance is a boolean-AND of two decidable >= tests; its soundness (dominates=true entails both objective inequalities) reuses rainbow.math.logic.boolean-and exactly as interval-membership-soundness does. Selection reuses nnrat-minmax. Native and axiom-free; chains boolean-and and nnrat-minmax on d63.
mo/dominates
mo/dominates : (x₁ x₂ x₃ x₄ : ℚ≥0) → data/Bool
ℚ≥0 = nnrat/NonnegativeRational
mo/vega-select
mo/vega-select : (x₁ x₂ : ℚ≥0) → ℚ≥0
ℚ≥0 = nnrat/NonnegativeRational
mo/greedy-nearest
mo/greedy-nearest : (x₁ x₂ : ℚ≥0) → ℚ≥0
ℚ≥0 = nnrat/NonnegativeRational
mo/exchange-step
mo/exchange-step : (x₁ : data/Bool) (x₂ x₃ : ℚ≥0) → ℚ≥0
ℚ≥0 = nnrat/NonnegativeRational
mo/dominates-sound
mo/dominates-sound : (a1 a2 b1 b2 : ℚ≥0) (h : mo/dominates a1 a2 b1 b2 = data/true) → proposition/conjunction (b1 ≤ a1) (b2 ≤ a2)
= = equality/Eqℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most
mo/vega-keeps-fittest-left
mo/vega-keeps-fittest-left : (fa fb : ℚ≥0) → fa ≤ mo/vega-select fa fb
ℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most
mo/vega-keeps-fittest-right
mo/vega-keeps-fittest-right : (fa fb : ℚ≥0) → fb ≤ mo/vega-select fa fb
ℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most
mo/greedy-nearest-below-left
mo/greedy-nearest-below-left : (d0 d1 : ℚ≥0) → opt/ldp-min-norm d0 d1 ≤ d0
ℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most
mo/greedy-nearest-below-right
mo/greedy-nearest-below-right : (d0 d1 : ℚ≥0) → opt/ldp-min-norm d0 d1 ≤ d1
ℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most
mo/exchange-accepts
mo/exchange-accepts : (candidate current : ℚ≥0) → mo/exchange-step data/true candidate current = candidate
= = equality/Eqℚ≥0 = nnrat/NonnegativeRational
mo/exchange-rejects
mo/exchange-rejects : (candidate current : ℚ≥0) → mo/exchange-step data/false candidate current = current
= = equality/Eqℚ≥0 = nnrat/NonnegativeRational