![](bg3.png)
2.2 Order Clausal Form
Automated theorem provers in classical propositional
logic are mostly known to require the input formu-
lae to be in a canonical form, usually the conjunc-
tive or disjunctive normal form. Such also applies to
the product propositional solver. To facilitate uniform
and efficient processing using the fuzzy extension of
the DPLL procedure over Π
∆
, the input is expected
to be in the order clausal form. As in the case of
Boolean normal forms, there exists a method of trans-
lation of an arbitrary formula into this form, which
will be described in Section 3. Here we enumerate the
building blocks of the form, staying consistent with
its proposal (Guller, 2013), and we will refer to them
later in the text.
The set of propositional atoms PropAtoms and the
truth constants 0, 1 have already been defined.
The power of atom in the form a
n
is the n-th power
of atom a interpreted by the · operator.
The conjunction Cn is the set of powers of atoms
given in the form a
p
1
1
&. . . & a
p
n
n
, n ≥ 1. The atoms a
i
in the expression must be unique (cannot occur more
than once). PropConj is the set of all conjunctions.
The expression of the form ε
1
ε
2
where ∈ {P
, ≺} and ε
i
∈ PropConj ∪ {0, 1} is called the order lit-
eral. More specifically, the literal associated with the
connective P is the equality literal and ≺ the strict
order literal. A literal is pure iff it does not contain
any of the constants 0, 1.
The set of literals l
1
∨ ··· ∨ l
n
is the order clause.
will denote the empty clause, and we refer to {l} as
the unit clause.
A set of clauses constructs the order clausal the-
ory. Further, an order clausal theory is {pure, unit} iff
it contains only {pure, unit} clauses.
A more comprehensive list of formal definitions
of terms may be found in (Guller, 2013, Sect. 3), to-
gether with the interpolation rules used to perform the
translation, the discussion of technical aspects, and
the complexity of the algorithm.
2.3 Product DPLL Procedure
The original DPLL procedure (Davis et al., 1962)
on classical propositional logic is a popular, well-
established backtracking search algorithm that solves
the satisfiability problem given a formula by attempt-
ing to find its model (or proving its unsatisfiability).
The procedure may be thought of as a tree-traversing
algorithm, where the tree is split into two branches
according to the possible valuations of literals. More-
over, the method uses two rules at each step to con-
strain the search space: unit propagation and pure lit-
eral elimination.
For the sake of visualizing analogy, the branching
step of DPLL may be written in the following form:
S
S ∪ {l}
S ∪ {¬l}
(Branching rule)
for literal l occurring in theory S.
The core idea of the fuzzy extension of the pro-
cedure introduced by (Guller, 2013) and refined in
(Guller, 2020) lies in a similar kind of branching—
instead of assigning one of two truth values to a literal,
the branching is based on the valuation trichotomy of
atoms:
S
S ∪ {a P 0}
S ∪ {0 ≺ a, a ≺ 1}
S ∪ {a P 1}
for atom a occurring in theory S.
The search-space constraining rules in classi-
cal DPLL also have their product-logic counterparts
(Guller, 2020); however, in the latter case, the list of
applicable rules grows longer: there are thirteen rules
necessary for the procedure to be refutation-complete,
and four admissible rules that further constrain the
search space.
The main idea of using the rules to prove a prop-
erty (satisfiability, validity) of a theory is similar to
that of classical DPLL: the inference starts at the root
node of the tree, and the rules are recursively ap-
plied to split and simplify the tree. After the traver-
sal, the input theory is satisfiable iff there exists an
open branch. In the positive case, the model may be
calculated based on the path of traversal.
The papers (Guller, 2013; Guller, 2020) propose
and describe the product fuzzy DPLL rules, prove the
refutational soundness and completeness of the pro-
cedure, explore into detail the results of applying the
individual rules, and provide examples of proving the
satisfiability and validity of product propositional for-
mulae.
Before we list the rules of the procedure, we re-
call some of the concepts of (Guller, 2020) in order to
better grasp the following notation.
C is a guard iff either C = a P 0, C = 0 ≺ a, C =
a ≺ 1, or C = a P 1. Let S be an order propositional
clause. We denote guards(a) = {a P 0, 0 ≺ a, a ≺
1, a P 1} and guards(S) = {C |C ∈ S is a guard}.
Atom a is fully guarded in theory T iff the theory con-
tains either the literal a P 0, the literal a P 1, or both
of the literals 0 ≺ a, a ≺ 1.
Next, we list the definitions of two auxiliary func-
tions. The function simplify in Definition 1 modifies
an expression by replacing the occurrences of atoms
with their truth constants and returns a simplified ex-
FCTA 2020 - 12th International Conference on Fuzzy Computation Theory and Applications
254