functional programming subgroup of programming, 3 assertions