Firstorder logic consists of a set of statements, from which one can prove other statements.
Truth Values
The values are T (for “true”) and F (for “false).
Variables
We use variables (e.g. X, Y1, C_{i}) to denote truth values. Variables are known to be such by context. In general, if the reader does not see “T” or “F”, it is a variable. Variables can have the value T or F, i.e. be true or false.
Atomic Formulae
An atomic formula can be the values T or F, or a variable V.
Complex Formulae
A complex formula is any atomic formula, or if C
_{1} and C
_{2} are any formulae, complex or atomic, it can be

¬ C_{1} or “not C_{1}”

C_{1} ∧ C_{2} or “C_{1} and C_{2}”

C_{1} ∨ C_{2} or “C_{1} or C_{2}”

(C_{1}), which is used to define which subformulae must be evaluated first
Note that these are recursive, in the sense that we may use complex formulae to build others.
For convenience, we define
This formula is derivable from the first three, but the proof is outside the scope of this paper. We also write
This formula is the same as (C_{1} ⊃ C_{2}) ∧ (C_{2} ⊃ C_{1}), but the proof is outside the scope of this paper.
Let X
_{i} be any atomic formulae for i = 1, 2, …, n. Let C be a complex formula containing these atomic formulae. A
logical statement or simply
statement is of the form
which means that C is true for all values of X
_{1}, X
_{2},…, X
_{n} (∀ is the “for all” symbol). By convention, we will omit the ∀s with the understanding that they are there. That is, we may write the statement above simply as C.
If C is a formula as above, then a satisfying truth assigment of C is an assignment of true or false to the variables X_{1}, X_{2},…, X_{n} such that C is true. Note that we treat C as a formula here, not as a statement.
A
logic is a set of statements, known as
axioms, such as
$$\begin{array}{*{20}l} {{\text{C}}_{1} } \hfill \\ {{\text{C}}_{1} } \hfill \\ \vdots \hfill \\ {{\text{C}}_{\text{n}} } \hfill \\ \end{array}$$
which means the statement C
_{1} ∧ C
_{2} ∧ … ∧ C
_{n}. Let us call this logic L. We say that L ⊨ C for some statement C if the truth of the statements in L requires that C be true. This is the same as saying that
$$({\text{C}}_{1} \wedge {\text{C}}_{2} \wedge \cdots \wedge {\text{C}}_{\text{n}} ) \supset {\text{C}}$$
An example of a statement, true in all of firstorder logic, that we will use to generate questionnaires is
or “if C
_{1} then C
_{2}” implies “if not C
_{2} then not C
_{1}”. Note the reversal of the order of C
_{1} and C
_{2}; without the reversal, the statement is not true.
In our paper, we will consider two predicates, i.e. functions of complex formulae, which also have values true (T) or false (F). Let the predicate B(C_{1} ⊃ C_{2}) mean that “I, the patient, believe that if C_{1} is true, then I believe that C_{2} is true”. The predicate B is a patient’s belief. Let the predicate W(C_{1}) mean that “I, the patient, want C_{1} to be true”. The predicate W is a patient’s want. Note that beliefs and wants are based on complex formulae, but are not themselves complex formulae—they are one level above. Note also that wants and beliefs cannot be based on other wants or beliefs. We call statements including complex formulae, beliefs and wants highorder statements. This paper is based upon wants and beliefs.
Example
Let X_{1} mean “I drink heavily”, X_{2} mean “I will be bad at studies” and X_{3} mean “I will have a low income”. Then B(X_{1} ⊃ X_{2}) means “I believe that drinking heavily means that my studies will be bad”, B(X_{2} ⊃ X_{3}) means that “I believe that if my studies are bad then my income will be bad”, and W(¬ X_{3}) means that “I want my income to be high”.