def pk.add_sub

bend-osdev-pkcs7@0.1.0.0 · PROOF.bend:48

import bend-osdev-pkcs7@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-u32@0.1.0.0/LAWS.bend as UL

48# (L + k) - k is L
49def pk.add_sub(+l: Nat, +k: Nat) -> {Nat.sub(Nat.add(l, k), k) == l : Nat}:
50  match k:
51    case 0n:
52      %UL.nat_add_zero(l) : {Nat.sub(Nat.add(l, 0n), 0n) == _ : Nat}
53      pk.sub_zero(Nat.add(l, 0n))
54    case 1n+kp:
55      %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}
56      pk.add_sub(l, kp)

Uses (7)

Used by (1)