The assumption of a closed world assumption is the assumption that everything that is not explicitly known is true is false. It also refers to Raymond Reiter's logical formalism based on this assumption. The opposite is the assumption of an open world assumption, which states that a lack of knowledge does not have to mean an untruth.
The assumption of a closed world can be used if the knowledge one possesses is complete (for example, a database of a company with information from each employee) or if the knowledge (possibly) is incomplete. It is then assumed that the things that we do not know are false and we try to answer questions about knowledge as well as possible. This approach is used in logical programming languages, such as Prolog. This uses negation as failure, which denotes a predicate as false when it can not be proven that it is true. Example
Suppose a university has compiled the following student summary:
Under the assumption of a closed world, it is assumed that these are all students studying at this university: it is not explicitly known that other students study a university at this university. With similar reasoning, Alice is also the only student to follow physics, and Bob and Carol are the only mathematics students.
Under the assumption of an open world, one does not rule out that there are also other students following a study: the table is not considered complete. According to this assumption there is an unknown number of students not listed in the table and there is an unknown number of students who follow math and / or physics in addition to the mentioned students. Other studies may also be taken at this university. Also see
wiki