Languages used for logic programming are called declarative languages, because
programs written in them consist of declarations rather than assignments and
control flow statements. These declarations are actually statements, or propositions,
in symbolic logic.
One of the essential characteristics of logic programming languages is their
semantics, which is called declarative semantics. The basic concept of this
semantics is that there is a simple way to determine the meaning of each statement,
and it does not depend on how the statement might be used to solve a