Added formal definition and some assumtions