def sub_zero_le

bendtorch-core@0.1.0.0 · src/tensor/slice_PROOF.bend:131

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

131# stop - low = 0 gives stop <= low.
132def sub_zero_le(+stop: Nat, +low: Nat, e: {Nat.sub(stop, low) == 0n : Nat}) -> {Nat.is_le(stop, low) == True{} : Bool}:
133  match stop low:
134    case 0n _:
135      Arith.le_zero(low)
136    case 1n+ap 0n:
137      Empty.absurd({Nat.is_le(1n+ap, 0n) == True{} : Bool}, nat_clash(ap, e))
138    case 1n+ap 1n+lp:
139      sub_zero_le(ap, lp, e)

Uses (7)

Used by (1)