Reference · The Applied Higher-Order Functions catalogue
rainbow.algorithms.proofs.ahof.reliability
AHoF V-family Series-System Reliability (reliability block diagram): a series system works only if EVERY component works, so with independent components its reliability is the product of the component reliabilities, series-reliability [r0, r1, ...] = r0 * r1 * ... and the design meets its reliability requirement when this product is at least a target threshold. Proved native and axiom-free: the series reliability is the proved list-product fold over the component reliabilities; a worked reliability; the requirement decision; the certificate that a passing design really meets the target (threshold <= reliability as native nnrat/at-most); and that a system below target fails the requirement. The component reliability estimates are executable; what is proved is the series-reliability product and the requirement decision. Requires list-product/product, audit/decide-nnrat-at-most, nnrat/at-most, nnrat/decide-at-most-true-sound, and the D63 checkpoint. Scope (measured by the kernel): this module has 4 worked instances (statements about specific values). None of its theorems is a guarantee about the algorithm for all inputs; `lein verify rainbow.algorithms.proofs.ahof.reliability` prints this classification.
reliability/series
reliability/series : (x₁ : List ℚ≥0) → ℚ≥0
List = data/Listℚ≥0 = nnrat/NonnegativeRational
reliability/meets-requirement?
reliability/meets-requirement? : (x₁ x₂ : ℚ≥0) → data/Bool
ℚ≥0 = nnrat/NonnegativeRational
reliability/series-example
reliability/series-example : → reliability/series [1/2, 1/2] = 1/4
= = equality/Eq
reliability/perfect-series
reliability/perfect-series : → reliability/series [1, 1, 1] = 1
= = equality/Eq
reliability/meets-target
reliability/meets-target : → bo/is-safe 3/4 1/2 = data/true
= = equality/Eq
reliability/passing-meets-threshold
reliability/passing-meets-threshold : → 1/2 ≤ 3/4
≤ = nnrat/at-most