In abstract algebra, a semiheap is an algebraic structure consisting of a non-empty set H with a ternary operation denoted [ x, y, z ] ∈ H {\displaystyle [x,y,z]\in H} that satisfies a modified associativity property: A biunitary element h of a semiheap satisfies [h,h,k] = k = [k,h,h] for every k in H.: 75, 6 A heap is a semiheap in which every element is biunitary.