An object relational map verification system is described. In some
embodiments, the object relational map verification system can verify
object relational maps and identify counterexamples when an object
relational map cannot be verified. The object relational map verification
system can verify an object relational map by (1) receiving objects,
database schemas, query views, and update views; (2) generating first
order logic formulae corresponding to the received objects, database
schemas, query views, and update views; and (3) proving theorems
indicated by the generated first order logic formulae. When the theorems
are proved, the object relational map is verified. In some embodiments,
the object relational map verification system can also generate models
illustrating counterexamples when the theorem cannot be proved. The
counterexamples provide data that the object relational map does not
consistently store and then retrieve.