def min_right
bendtorch-core@0.1.0.0 · src/tensor/slice_PROOF.bend:34
import bendtorch-core@0.1.0.0/src/tensor/slice_PROOF.bend as SlicePROOF
import Base
import bendtorch-core@0.1.0.0/src/storage/arith.bend as Arith
34def min_right(+a: Nat, +b: Nat, h: {Nat.is_le(b, a) == True{} : Bool}) -> {Nat.min(a, b) == b : Nat}:
35 match a b:
36 case 0n 0n:
37 {==}
38 case 0n 1n+q:
39 Empty.absurd({Nat.min(0n, 1n+q) == 1n+q : Nat}, Arith.clash(h))
40 case 1n+p 0n:
41 {==}
42 case 1n+p 1n+q:
43 Equal.cong(Nat, Nat, x => 1n+x, Nat.min(p, q), q, min_right(p, q, h))