def min_le

bend-collections-laws-math@1.0.0.0 · proofs/math/random/lemire.bend:271

import bend-collections-laws-math@1.0.0.0/proofs/math/random/lemire.bend as Lemire
import Base
import bend-collections-laws-math@1.0.0.0/proofs/lib/logic.bend as L

271def min_le(+n: Nat, +c: Nat, +h: {Nat.is_le(c, n) == True{} : Bool}) -> {Nat.min(n, c) == c : Nat}:
272  match n c:
273    case _ 0n:
274      min_zero(n)
275    case 0n 1n+q:
276      Empty.absurd({Nat.min(0n, 1n+q) == 1n+q : Nat}, L.false_true(h))
277    case 1n+p 1n+q:
278      Equal.cong(Nat, Nat, z => 1n+z, Nat.min(p, q), q, min_le(p, q, h))

Uses (8)

Used by (1)