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

Uses (7)

Used by (2)