def above_false

bendtorch-core@0.1.0.0 · src/autograd/reduce_replayed_proof.bend:160

import bendtorch-core@0.1.0.0/src/autograd/reduce_replayed_proof.bend as ReduceReplayedProof
import Base
import bendtorch-core@0.1.0.0/src/storage/arith.bend as Arith

160# k < b gives b < 1 + k false.
161def above_false(+k: Nat, +b: Nat, h: {Nat.is_lt(k, b) == True{} : Bool}) -> {Nat.is_lt(b, 1n+k) == False{} : Bool}:
162  match k b:
163    case 0n 0n:
164      Empty.absurd({Nat.is_lt(0n, 1n) == False{} : Bool}, Arith.clash(h))
165    case 0n 1n+q:
166      lt_zero_false(q)
167    case 1n+p 0n:
168      Empty.absurd({Nat.is_lt(0n, 1n+(1n+p)) == False{} : Bool}, Arith.clash(h))
169    case 1n+p 1n+q:
170      above_false(p, q, h)

Uses (6)

Used by (1)