Funkcja tolower zwraca int, znak ASCII czyli tak naprawdę char, a ty ten zwrócony char porównujesz ze stringiem. Nazwa tablicy jest adresem do jej zerowego elementy czyli nie musisz pisać tolower(string[element_ciągu_znaków]), a po prostu tak jak zrobiłeś. W twoim przypadku musisz zrobić pętle for(int i = 0; i < tablica.size(); i++) {tablica[i] = tolower(tablica[i]);} a potem porównujesz już bez tolower.
Tu możesz przeczytać jak ta funkcja działa:
http://cpp0x.pl/dokumentacja/standard-C/tolower/260