One standard predefined Prolog predicate is called "name". It is a two argument rule that converts an atom (e.g. matthew), being the first argument, into a list of ASCII codes (matthew being [109,97,116,116,104,101,119]), and vice-versa. e.g. name(bill,Name). Name=[98,105,108,108]. Yes. name(Isem,[108,101,108,105]). Isem=leli. Yes. name(Char,[97]). Char=a. Yes. Problem: Write a rule 'caps' with two arguments (denoted as caps/2) which converts a character entered by the user as a first argument, to uppercase (the second argument), if its' lowercase - otherwise leaves it alone. unchanged. e.g. caps(a,X). X='A'. Yes caps(3,X). X=3. Yes.