ReducePROOF.neither_below: def of bendtorch-core@0.1.0.0 Import: import bendtorch-core@0.1.0.0/src/autograd/reduce_PROOF.bend as ReducePROOF Lines 513-523 of bendtorch-core@0.1.0.0/src/autograd/reduce_PROOF.bend: https://jend.leeeet.dev/read.txt?path=bendtorch-core@0.1.0.0/src/autograd/reduce_PROOF.bend&start_line=513&end_line=523 import Base import bendtorch-core@0.1.0.0/src/storage/arith.bend as Arith def neither_below(+left: Nat, +right: Nat, first: {Nat.is_lt(left, right) == False{} : Bool}, second: {Nat.is_lt(right, left) == False{} : Bool}) -> {left == right : Nat}: match left right: case 0n 0n: {==} case 0n 1n+r: Empty.absurd({0n == 1n+r : Nat}, Arith.clash_true(first)) case 1n+l 0n: Empty.absurd({1n+l == 0n : Nat}, Arith.clash_true(second)) case 1n+l 1n+r: Equal.cong(Nat, Nat, n => 1n+n, l, r, neither_below(l, r, first, second)) Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Empty.absurd https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.cong https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_lt https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/storage/arith.bend&name=clash_true