:- object(joePerson). :- public(getOlder/0). :- public(address/1). :- public(age/1). :- dynamic(age/1). :- public(name/1). :- public(phone/1). :- public(score/1). :- dynamic(score/1). :- public(setScore/1). getOlder :- retract(age(Old)), New is Old + 1, asserta(age(New)). address('8 Octave Street'). age(30). name('John'). phone(11-11-11-11). score(0). setScore(Score) :- ::retractall(score(_)), ::asserta(score(Score)). :- end_object.