Atom Bond Representation in Prolog 1. The Atoms a. each atom receives an unique identifier, e.g. atom('mycompound','mycompound_1'). b. an element is assigned to each atom, e.g. element('mycompound_1', c). c. it is possible to assign additional properties, e.g. charge('mycompound_1', 0). 2. The Bonds a. each bond receives an unique identifier, e.g. bond('mycompound','mycompound_1_2'). b. it connects two atoms, e.g. connected('mycompound_1','mycompound_2','mycompound_1_2'). connected('mycompound_2','mycompound_1','mycompound_1_2'). NB explicitly stating both connections is just an efficiency issue ` c. and has a bond type, e.g. bond_type('mycompound_1_2',-). - single bond = double bond # triple bond ~ resonant bond d. it is possible to assign additional properties, e.g. bond_order('mycompound_1_2',0.93). -- helma@informatik.uni-freiburg.de (31/08/2000)