PROOF.pk.add_sub: def of bend-osdev-pkcs7@0.1.0.0 Import: import bend-osdev-pkcs7@0.1.0.0/PROOF.bend as PROOF Lines 48-56 of bend-osdev-pkcs7@0.1.0.0/PROOF.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-pkcs7@0.1.0.0/PROOF.bend&start_line=48&end_line=56 import Base import bend-osdev-u32@0.1.0.0/LAWS.bend as UL # (L + k) - k is L def pk.add_sub(+l: Nat, +k: Nat) -> {Nat.sub(Nat.add(l, k), k) == l : Nat}: match k: case 0n: %UL.nat_add_zero(l) : {Nat.sub(Nat.add(l, 0n), 0n) == _ : Nat} pk.sub_zero(Nat.add(l, 0n)) case 1n+kp: %Equal.sym(Nat, Nat.add(l, 1n+kp), 1n+Nat.add(l, kp), UL.nat_add_succ(l, kp)) : {Nat.sub(_, 1n+kp) == l : Nat} pk.add_sub(l, kp) Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.sub https://jend.leeeet.dev/definition.txt?path=bend-osdev-pkcs7@0.1.0.0/PROOF.bend&name=pk.sub_zero https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=nat_add_succ https://jend.leeeet.dev/definition.txt?path=bend-osdev-u32@0.1.0.0/LAWS.bend&name=nat_add_zero