There is nothing in the Prolog standard for converting case in 
textual data. The SWI-Prolog predicates code_type/2 
and char_type/2 
can be used to test and convert individual characters. We have started 
some additional support:
- downcase_atom(+AnyCase, 
-LowerCase)
 - Converts the characters of AnyCase into lowercase as char_type/2 
does (i.e. based on the defined locale if Prolog provides 
locale support on the hosting platform) and unifies the lowercase atom 
with LowerCase.
 
- upcase_atom(+AnyCase, 
-UpperCase)
 - Converts, similar to downcase_atom/2, 
an atom to uppercase.