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))