rename algebra.real to algebra.number
add CommutativeSemigroup
Added Priority[F, P] as per Oscar's email.