Becoming aware of Finite Model Theory. Part 2 of n.
Just a word on the different usages of ‘model’ in (Software) Engineering and mathematical Model Theory.
Consider a (finite) hotel with a room schedule, i.e. a table Room X Day where a “x” stands for “this room is occupied that day”, O(room, day) for short. Moreover a field without a “x” means “this room is available that day”, what requires that the schedule is maintained properly, i.e. each time someone books a room it is actually marked in the table. Here the schedule table is expressed in a formalized language, so we can call it a model, in the sense of Business Process Model or Entity Relationship Model.
Such a schedule table can be seen as partially isomorphic to reality, i.e. certain parts of the real world have just been extracted, without any change. Furthermore, the schedule defines a structure which can assumed to be finite, since one cannot book a room say two years in advance. Thus the schedule can be described in a single statement like O(24, 10th Nov) AND O(24, 11th Nov) AND O(32, 9th Nov) and so on. Also negations on an atomic level can be expressed by empty fields, e.g. NOT O(24, 12th Nov). Thus there is an extract of reality that is a model for the schedule, in the sense of Model Theory.
Thus the schedule is a model of reality as well the reality provides (by extraction) a model of the schedule. Notice that statements true for the schedule do not have to be true in reality, what we leave to be examined later.