def shc

bend-collections-laws-math@1.0.0.0 · proofs/math/typed/f64adda.bend:93

import bend-collections-laws-math@1.0.0.0/proofs/math/typed/f64adda.bend as F64adda
import Base
import bend-collections-laws-math@1.0.0.0/spec/lib/common.bend as C
import bend-collections-laws-math@1.0.0.0/proofs/lib/lemmas/proofs/nat_algebra.bend as NA
import bend-collections-laws-math@1.0.0.0/proofs/math/typed/width.bend as WW

93def shc(+a: Nat, +b: Nat, +m: Nat) -> {C.shift(a, C.shift(b, m)) == C.shift(b, C.shift(a, m)) : Nat}:
94  Equal.trans(Nat, C.shift(a, C.shift(b, m)), C.shift(Nat.add(a, b), m), C.shift(b, C.shift(a, m)), Equal.sym(Nat, C.shift(Nat.add(a, b), m), C.shift(a, C.shift(b, m)), WW.shift_comp(a, b, m)), Equal.trans(Nat, C.shift(Nat.add(a, b), m), C.shift(Nat.add(b, a), m), C.shift(b, C.shift(a, m)), Equal.cong(Nat, Nat, z => C.shift(z, m), Nat.add(a, b), Nat.add(b, a), NA.add_comm(a, b)), WW.shift_comp(b, a, m)))

Uses (8)

Used by (4)