def Ops.add
import bend-collections-laws-math@1.0.0.0/spec/math/instances.bend as Instancesimport Base
import bend-collections-laws-math@1.0.0.0/src/math/num.bend as N
45def Ops.add(~T: Data, ~op: N.Op<T> -> T, ~test: N.Test<T> -> Bool, ~val: T -> Nat, +a: T, +b: T, +h: {test(N.AddOver{a, b}) == False{} : Bool}) -> Type:
46 {val(op(N.Add{a, b})) == Nat.add(val(a), val(b)) : Nat}