## sum

1. <theory> In domain theory, the sum A + B of two domains contains all elements of both domains, modified to indicate which part of the union they come from, plus a new bottom element. There are two constructor functions associated with the sum:

inA : A -> A+B inB : B -> A+B inA(a) = (0,a) inB(b) = (1,b)

and a disassembly operation:

case d of {isA(x) -> E1; isB(x) -> E2}

This can be generalised to arbitrary numbers of domains.

See also smash sum, disjoint union.

2. <tool> A Unix utility to calculate a 16-bit checksum of the data in a file. It also displays the size of the file, either in kilobytes or in 512-byte blocks. The checksum may differ on machines with 16-bit and 32-bit ints.

Unix manual page: sum(1).