def add_rot

bend-collections-laws-crypto@1.0.0.0 · proofs/lib/u32alg.bend:32

import bend-collections-laws-crypto@1.0.0.0/proofs/lib/u32alg.bend as U32alg
import Base
import bend-collections-laws-crypto@1.0.0.0/proofs/lib/nat.bend as N

32# (a + b) + c == (a + c) + b
33def add_rot(+a: Nat, +b: Nat, +c: Nat) -> {Nat.add(Nat.add(a, b), c) == Nat.add(Nat.add(a, c), b) : Nat}:
34  %Equal.sym(Nat, Nat.add(Nat.add(a, b), c), Nat.add(a, Nat.add(b, c)), N.add_assoc(a, b, c)) : {_ == Nat.add(Nat.add(a, c), b) : Nat}
35  %Equal.sym(Nat, Nat.add(Nat.add(a, c), b), Nat.add(a, Nat.add(c, b)), N.add_assoc(a, c, b)) : {Nat.add(a, Nat.add(b, c)) == _ : Nat}
36  %N.add_comm(c, b) : {Nat.add(a, _) == Nat.add(a, Nat.add(c, b)) : Nat}
37  {==}

Uses (5)

Used by (6)