<div dir="ltr"><div>Hi everyone,</div><div><br></div><div>This is the kind of functionality I'm trying to develop:</div><div><br></div><div>There are three types (person, door, room). Each person has three Boolean properties (<i>is_alive, is_awake, is_free</i>). Each door has two Boolean properties (<i>is_open, is_destroyed</i>). Rooms do not have properties. The properties are used to determine the value of two more predicates through rules (<i>is_mobile, can_pass</i>). A person can move via the <i>try_move</i> predicate, which moves the person if the move is permitted. I still don't know how to program this app in Mercury and C#, but I'm attaching a Mercury file that shows what I <i>think </i>I need to do. I'd appreciate any pointers people have to offer. There is likely an entirely better way to approach this--one that also permits non-Boolean properties.<br></div><div><br></div><div>-david<br></div></div>