QueueProof.key_trans: def of bend-kit-scheduler@0.4.1.0 Import: import bend-kit-scheduler@0.4.1.0/queue_proof.bend as QueueProof Lines 68-85 of bend-kit-scheduler@0.4.1.0/queue_proof.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-scheduler@0.4.1.0/queue_proof.bend&start_line=68&end_line=85 import Base import bend-mathlib@0.7.4.0/nat.bend as MNat import bend-mathlib@0.7.4.0/bool.bend as MBool import bend-kit-scheduler@0.4.1.0/queue.bend as Q def key_trans(+d: Nat, +e: Nat, +f: Nat, +i: Nat, +j: Nat, +k: Nat, p: {Q.le.same(Nat.is_eq(d, e), i, j, d, e) == True{} : Bool}, q: {Q.le.same(Nat.is_eq(e, f), j, k, e, f) == True{} : Bool}) -> {Q.le.same(Nat.is_eq(d, f), i, k, d, f) == True{} : Bool}: match d e f: case 0n 0n 0n: MNat.le_trans(i, j, k, p, q) case 0n 0n 1n+r: {==} case 0n 1n+s 0n: Empty.absurd({Nat.is_le(i, k) == True{} : Bool}, MBool.false_ne_true()(q)) case 0n 1n+s 1n+r: {==} case 1n+r 0n 0n: Empty.absurd({False{} == True{} : Bool}, MBool.false_ne_true()(p)) case 1n+r 0n 1n+t: Empty.absurd({Q.le.same(Nat.is_eq(1n+r, 1n+t), i, k, 1n+r, 1n+t) == True{} : Bool}, MBool.false_ne_true()(p)) case 1n+r 1n+s 0n: Empty.absurd({False{} == True{} : Bool}, MBool.false_ne_true()(q)) case 1n+r 1n+s 1n+t: key_succ.conclusion(r, t, i, k, key_trans(r, s, t, i, j, k, key_succ.premise(r, s, i, j, True{}, p), key_succ.premise(s, t, j, k, True{}, q))) Uses (10): 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=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_le https://jend.leeeet.dev/definition.txt?path=bend-kit-scheduler@0.4.1.0/queue.bend&name=le.same https://jend.leeeet.dev/definition.txt?path=bend-kit-scheduler@0.4.1.0/queue_proof.bend&name=key_succ.conclusion https://jend.leeeet.dev/definition.txt?path=bend-kit-scheduler@0.4.1.0/queue_proof.bend&name=key_succ.premise https://jend.leeeet.dev/definition.txt?path=bend-mathlib@0.8.1.0/bool.bend&name=false_ne_true https://jend.leeeet.dev/definition.txt?path=bend-mathlib@0.8.1.0/nat.bend&name=le_trans