Keywords

1 Introduction

Conventional database systems are designed with the assumption of precision of information collected in them. The problem becomes more complex if our knowledge of the fragment of reality to be modeled is imperfect. In such cases one has to apply tools for describing uncertain or imprecise information [7, 8]. One of them is the theory of possibility [1, 3]. In the possibilistic database framework attribute values are represented by means of possibility distributions. Each value x of an attribute X is assigned with a number \({\pi _X(x)}\) from the unit interval which expresses the possibility degree of its occurrence. Different ways of determination of the possibility degree have been described in [4].

One of the most important notions of the database theory is the concept of functional dependency (FD). The classical definition of functional dependency \(X\) \(\rightarrow \) \(Y\) between attributes X and Y of a relation scheme R is based on the assumption that the equality of attribute values may be evaluated formally with the use of two-valued logic. The existence of \(X\) \(\rightarrow \) \(Y\) means that X-values uniquely determine Y-values. If attribute values are imprecise one can say about a certain degree of the dependency \(X\) \(\rightarrow \) \(Y\). It contains the information to what extent X determines Y. In possibilistic databases closeness of compared values can be evaluated by means of possibility and necessity measures.

Since the notion of FD plays an important role in the design process [5], its fuzzy extension has attracted a lot of attention. Hence, different approaches concerning fuzzy functional dependencies (FFDs) have been described in professional literature. A number of different definitions emerged [2, 6, 9, 10]. In the paper we extend the definition given by Chen [2]. According to [2] the degree of the fuzzy functional dependency is evaluated by means of the possibility measure. The necessity measure is not used. The equality degree equals the maximum value 1 when the two possibility distributions have the maximum degree 1 at the same element. Thus applying of the possibility measure for evaluation of the equality of two imprecise values expressed by possibility distributions is not sufficient. In the paper evaluation of closeness of imprecise values is made by means of both possibility and necessity measures. The notion of FFD is defined with the use of the extended Gödel implication operator [9]. For such dependencies we will present inference system based on the well known set of Armstrong’s axioms which is an important property of FDs in classical databases.

The paper is organized as follows. In the next section we discuss the basic notions dealing with fuzzy functional dependencies in possibilistic databases and formulate the extended inference rules. Section 3 discusses properties of the extended Gödel implication operator. In Sect. 4 we proved the soundness and completeness of the inference rules.

2 Fuzzy Functional Dependencies in Possiblistic Databases

Let r be a relation of the scheme R(U) where U denotes a set of attributes, \(U = {\lbrace X_1,X_2,...,X_n \rbrace }\). Let \({DOM(X_i)}\) denotes a domain of \(X_i\). Let us assume that attribute values are given by means of normal possibility distributions:

$$\begin{aligned} t(X) = \lbrace {\pi _{t(X_i)} (x)/x: x \in DOM(X_i)\rbrace }\ , \quad \text {sup}_{x\in DOM(X_i)}\pi _{t(X_i)}(x)=1, \end{aligned}$$
(1)

where t is a tuple of r and \({\pi _{t(X_i)}(x)}\) is a possibility degree of t(\(X_i\)) = x. The possibility distribution takes the form: \({\lbrace {\pi _X(x_1)/x_1,\pi _X(x_2)/x_2,...,\pi _X(x_n)/x_n\rbrace }}\), where \({x_i \in }\) DOM(X). At least one value must be completely possible i.e. its possibility degree equals 1. This requirement is referred to as the normalization condition. Let \(t_1\) and \(t_2\) be tuples of r. The degrees of possibility and necessity that \(t_1\)(\(X_i\)) = \(t_2\)(\(X_i\)), denoted by Pos and Nec, respectively, are as follows:

$$\begin{aligned}&Pos(\varPi _{t_1(X_i)} = \varPi _{t_2(X_i)}) =\text {sup}_x\text {min}(\pi _{t_1(X_i)}(x), \pi _{t_2(X_i)}(x)),\nonumber \\&Nec(\varPi _{t_1(X_i)} = \varPi _{t_2(X_i)}) = 1 - \text {sup}_{x\ne y}\text {min}(\pi _{t_1(X_i)}(x), \pi _{t_2(X_i)}(y)). \end{aligned}$$
(2)

The closeness degree of \(t_1\)(\(X_i\)) and \(t_2\)(\(X_i\)), denoted by \({\approx }\) \({(t_1(X_i),t_2(X_i))}\), is expressed by two numbers \({\approx }\) \({(t_1(X_i),t_2(X_i))}_N\) and \({\approx }\) \({(t_1(X_i),t_2(X_i))}_\varPi \) from the unit interval which correspond to necessity and possibility measures. Thus \({\approx }\) \({(t_1(X_i),t_2(X_i))= (\approx (t_1(X_i),t_2(X_i))_N,\approx (t_1(X_i),t_2(X_i))_\varPi )}\). For identical values of \(t_1(X_i)\) and \(t_2(X_i)\) we have \({\approx }\) \({(t_1(X_i),t_2(X_i))}\) = (1,1). Otherwise,

$$\begin{aligned}&\approx (t_1(X_i),t_2(X_i))_N = Nec(\varPi _{t_1(X_i)}=\varPi _{t_2(X_i)}),\nonumber \\&\approx (t_1(X_i),t_2(X_i))_\varPi = Pos(\varPi _{t_1(X_i)}=\varPi _{t_2(X_i)}). \end{aligned}$$
(3)

For estimation of tuple closeness, denoted by \(=_c\) \({(t_1(X),t_2(X))}\) = (\(=_c\) \({(t_1(X),}\) \({t_2(X))}\) \(_N\), \(=_c\) \({(t_1(X),t_2(X))}\) \(_{\varPi }\)), one must consider all the components \(X_i\) of X (\(X_i\) \({\in }\) X) and apply the operation min:

$$\begin{aligned}&=_c(t_1(X), t_2(X))_N = \text {min}_i \approx ((t_1(X_i), t_2(X_i))_N ,\nonumber \\&=_c(t_1(X), t_2(X))_\varPi = \text {min}_i \approx ((t_1(X_i), t_2(X_i))_\varPi , \end{aligned}$$
(4)

In order to evaluate the degree of a fuzzy functional dependency by means of both possibility and necessity measures we will apply the following extension of the Gödel implication operator \(I_{G}\)(a,b) = (\(I_{G}\)(a,\(b\) \({)_N}\),\(I_{G}\)(a,\(b\) \({)_\varPi }\)), a = (\(a_N\),\({a_{\varPi }}\)), b = (\(b_N\),\({b_{\varPi }}\)), \(a_N\), \(a_\varPi \), \(b_N\), \(b_\varPi \) \({\in }\) [0,1] where

$$\begin{aligned} I_{G}(a, b)_{\varPi } = \left\{ \begin{array}{cl} \ 1 &{} \text { if } a_{\varPi } \le b_{\varPi } \\ \ b_{\varPi } &{} \text { otherwise}, \end{array}\right. \end{aligned}$$
(5)
$$\begin{aligned} I_{G}(a, b)_N = \left\{ \begin{array}{cl} \ 1 &{} \text { if } a_N \le b_N\,and\, a_{\varPi } \le b_{\varPi } \\ \ b_{\varPi } &{} \text { if } a_N \le b_N\, \text { and }\, a_{\varPi } > b_{\varPi }\\ \ b_N &{} \text { otherwise}. \end{array}\right. \end{aligned}$$
(6)

Definition 1

Let R(U) be a relation scheme where U = \({\lbrace X_1, X_2,\ ...\ , X_n\rbrace }\). Let X and Y be subsets of U: X, \({Y\subseteq }\) U. Y is functionally dependent on X in \({\theta =(\theta _N,\theta _{\varPi }})\) degree,\({\theta _N}\),\({\theta _{\varPi }}\) \({\in }\) [0,1], denoted by \({X \rightarrow _{\theta }Y}\), if and only if for every relation r of R the following conditions are met:

$$\begin{aligned} \text {min}_{t_1, t_2 \in r}I(t_1(X)=_c t_2(X),t_1(Y)=_c t_2(Y))_N \ge \theta _N,\nonumber \\ \text {min}_{t_1, t_2 \in r}I(t_1(X)=_c t_2(X),t_1(Y)=_c t_2(Y))_\varPi \ge \theta _{\varPi }, \end{aligned}$$
(7)

where \(=_c\) is the closeness measure (4) and I is the following implicator:

$$\begin{aligned} I(a, b) = \left\{ \begin{array}{cl} \ I_c &{} \text { if } t_1(X)\,\text { and }\, t_2(X) \text { are identical} \\ \ \ I_{G} &{} \text { otherwise}, \end{array}\right. \end{aligned}$$
(8)

where \({I_c}\) is the classical implication operator and \(I_G\) is the extended Gödel implicator.

Like in classical relational databases one can formulate the following inference rules known as extended Armstrong’s axioms:

  1. A1:

    \({Y \subseteq X}\) \(\Rightarrow \) \({X \rightarrow _{\theta }Y}\) for all \({\theta }\)

  2. A2:

    \({X \rightarrow _{\theta }Y}\) \(\Rightarrow \) \({XZ \rightarrow _{\theta }YZ}\)

  3. A3:

    \({X \rightarrow _{\alpha }Y}\) \(\wedge \) \({Y \rightarrow _{\beta }Z}\) \(\Rightarrow \) \({X \rightarrow _{\gamma }Z}\),    \({\gamma }\) = (min(\({\alpha _N,\beta _N}\)), min(\({\alpha _\varPi ,\beta _\varPi }\)))

where \({\theta =}\) \({\left( \theta _N,\theta _\varPi \right) }\), \({\alpha =}\) \({\left( \alpha _N,\alpha _\varPi \right) }\), \({\beta =}\) \({\left( \beta _N,\beta _\varPi \right) }\) and \({\gamma =}\) \({\left( \gamma _N,\gamma _\varPi \right) }\) are pairs of numbers belonging to the unit interval \({[0, 1 ]}\).

3 Properties of the Extended Gödel Implicator

In order to prove the correctness of the inference rules for fuzzy functional dependencies (7) we will first show certain properties of the implicator \({I_{G}}\).

Theorem 1

Let \(a =\) \({\left( a_N, a_\varPi \right) }\), \(a' =\) \({\left( a'_N, a'_\varPi \right) }\), \(b =\) \({\left( b_N, b_\varPi \right) }\), \(b' =\) \({\left( b'_N, b'_\varPi \right) }\), \(c =\) \({\left( c_N, c_\varPi \right) }\), \({\alpha =}\) \({\left( \alpha _N, \alpha _\varPi \right) }\), \({\beta =}\) \({\left( \beta _N, \beta _\varPi \right) }\), \({\gamma =}\) \({\left( \gamma _N, \gamma _\varPi \right) }\) and \({\theta =}\) \({\left( \theta _N, \theta _\varPi \right) }\) be pairs of numbers belonging to the unit interval \({[0, 1 ]}\). The implicator \(I_{G}\) satisfies the following conditions:

  1. P1:

    \({a_N \le b_N}\) \({\wedge }\) \({a_\varPi \le b_\varPi }\) \(\Rightarrow \) \(I_{G}\)(a, b) = (1, 1),

  2. P2:

    \(I_{G}\)(a,\(b\) \({ {)}_N}\) \({\ge \theta _N }\) \({\wedge }\) \(I_{G}\)(a,\(b\) \({ {)}_\varPi }\) \({\ge \theta _\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\) \({ {)}_N}\) \({\ge \theta _N }\) \({\wedge }\) \(I_{G}\)(\(a'\),\(b'\) \({ {)}_\varPi }\) \({\ge \theta _\varPi }\) for \(a'_N\) = min(\(a_N\),\(c_N\)), \(a'_\varPi \) = min(\(a_\varPi \),\(c_\varPi \)), \(b'_N\) = min(\(b_N\),\(c_N\)), \(b'_\varPi \) = min(\(b_\varPi \),\(c_\varPi \)),

  3. P3:

    \(I_{G}\)(a,\(b\) \({ {)}_N}\) \({\ge \alpha _N }\) \({\wedge }\) \(I_{G}\)(a,\(b\) \({ {)}_\varPi }\) \({\ge \alpha _\varPi }\) \({\wedge }\) \(I_{G}\)(b,\(c\) \({ {)}_N}\) \({\ge \beta _N }\) \({\wedge }\) \(I_{G}\)(b,\(c\) \({ {)}_\varPi }\) \({\ge \beta _\varPi }\) \(\Rightarrow \) \(I_{G}\)(a,\(c\) \({ {)}_N}\) \({\ge \gamma _N }\) \({\wedge }\) \(I_{G}\)(a,\(c\) \({ {)}_\varPi }\) \({\ge \gamma _\varPi }\) for \({\gamma _N}\) = min(\({\alpha _N}\),\({\beta _N}\)),\({\gamma _\varPi }\) = min(\({\alpha _\varPi }\),\({\beta _\varPi }\)).

Proof

P1: This condition directly follows from the definition of \({I_{G}}\).

P2: Let \(I_{G}\)(a,b)\({_N}\) \({\ge \theta _N}\) and \(I_{G}\)(a,b)\({_\varPi }\) \({\ge \theta _\varPi }\). If \(I_{G}\)(a,b) = (1,1) then \({a_N\le {b_N}}\) and \({a_\varPi \le {b_\varPi }}\). It follows that \({a'_N\le {b'_N}}\) and \({a'_\varPi \le b'_\varPi }\) and so \(I_{G}\)(\(a'\),\(b'\)) = (1,1). If \(I_{G}\)(a,b) \({\ne }\) (1,1) we must prove P2 for different cases of a, b and c. If \({c_N<a_N}\), \({c_\varPi <a_\varPi }\), \({c_N<b_N}\) and \({c_\varPi <b_\varPi }\) then \(a'\) = \(b'\) = c \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (1,1). If \({c_N\ge {a_N}}\), \({c_\varPi \ge {a_\varPi }}\), \({c_N\ge {b_N}}\) and \({c_\varPi \ge {b_\varPi }}\) then (\(a'\) = a and \(b'\) = b) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = \(I_{G}\)(a,b).

  1. I.

    Let \({a_N > b_N}\) and \({a_\varPi > b_\varPi }\). Thus \(I_{G}\)(a,b) = b.

  1. 1.

    \({a_N > b_N \ge c_N}\) and (\({a_\varPi > c_\varPi \ge b_\varPi }\) or \({a_\varPi \ge c_\varPi > b_\varPi }\)). \(a'_N\)=\(c_N\), \(a'_\varPi \)=\(c_\varPi \), \(b'_N\)= \(c_N\), \(b'_\varPi \)=\(b_\varPi \). If \({b_\varPi = c_\varPi }\) then \(I_{G}\)(\(a'\),\(b'\)) = (1,1), otherwise \(I_{G}\)(\(a'\),\(b'\)) = (\(b_\varPi \),\(b_\varPi \)).

  2. 2.

    \({a_N > b_N \ge c_N}\) and \({c_\varPi \ge a_\varPi > b_\varPi }\) \({a'_N = c_N}\), \({a'_\varPi = a_\varPi }\), \({b'_N = c_N}\), \({b'_\varPi = b_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (\(b_\varPi \),\(b_\varPi \)).

  3. 3.

    (\({a_N > c_N \ge b_N}\) or \({a_N \ge c_N > b_N}\)) and \({a_\varPi > b_\varPi \ge c_\varPi }\). \(a'_N\)=\(c_N\), \(a'_\varPi \)=\(c_\varPi \), \(b'_N\)= \(b_N\), \(b'_\varPi \)=\(c_\varPi \). If \({c_N = b_N}\) then \(I_{G}\)(\(a'\),\(b'\)) = (1,1), otherwise \(I_{G}\)(\(a'\),\(b'\)) = (\(b_N\),1).

  4. 4.

    (\({a_N > c_N \ge b_N}\) or \({a_N \ge c_N > b_N}\)) and (\({a_\varPi > c_\varPi \ge b_\varPi }\) or \({a_\varPi \ge c_\varPi > b_\varPi }\)) \({a'_N=c_N}\), \({a'_\varPi = c_\varPi }\), \({b'_N=b_N}\), \({b'_\varPi = b_\varPi }\). If (\({c_N>b_N}\) and \({c_\varPi >b_\varPi }\)) then \(I_{G}\)(\(a'\),\(b'\)) = b. If (\({c_N>b_N}\) and \({c_\varPi =b_\varPi }\)) then \(I_{G}\)(\(a'\),\(b'\)) = (\(b_N\),1). If (\({c_N}\) = \({b_N}\) and \({c_\varPi >b_\varPi }\)) then \(I_{G}\)(\(a'\),\(b'\)) = (\(b_\varPi \),\(b_\varPi \)). If (\({c_N}\) = \({b_N}\) and \({c_\varPi =b_\varPi }\)) then \(I_{G}\)(\(a'\),\(b'\)) = (1,1).

  5. 5.

    (\({a_N > c_N \ge b_N}\) or \({a_N \ge c_N > b_N}\)) and \({c_\varPi \ge a_\varPi > b_\varPi }\). \(a'_N\)=\(c_N\), \(a'_\varPi \)=\(a_\varPi \), \(b'_N\)= \(b_N\), \(b'_\varPi \)=\(b_\varPi \). If \({c_N > b_N}\) then \(I_{G}\)(\(a'\),\(b'\)) = b, otherwise \(I_{G}\)(\(a'\),\(b'\)) = (\(b_\varPi \),\(b_\varPi \)).

  6. 6.

    \({c_N \ge a_N > b_N}\) and \({a_\varPi > b_\varPi \ge c_\varPi }\) \({a'_N = a_N}\), \({a'_\varPi = c_\varPi }\), \({b'_N = b_N}\), \({b'_\varPi = c_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (\(b_N\),1).

  7. 7.

    \({c_N \ge a_N > b_N}\) and (\({a_\varPi > c_\varPi \ge b_\varPi }\) or \({a_\varPi \ge c_\varPi > b_\varPi }\)). \(a'_N\)=\(a_N\), \(a'_\varPi \)=\(c_\varPi \), \(b'_N\)= \(b_N\), \(b'_\varPi \)=\(b_\varPi \). If \({c_\varPi > b_\varPi }\) then \(I_{G}\)(\(a'\),\(b'\)) = b, otherwise \(I_{G}\)(\(a'\), \(b'\)) = (\(b_N\),1).

  1. II.

    Let \({a_N > b_N}\) and \({a_\varPi \le b_\varPi }\) . Thus \(I_{G}\)(a,b) = (\(b_N\),1).

  1. 1.

    \({a_N > b_N \ge c_N}\) and \({b_\varPi \ge c_\varPi \ge a_\varPi }\) \({a'_N = c_N}\), \({a'_\varPi = a_\varPi }\), \({b'_N = c_N}\), \({b'_\varPi = c_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (1,1).

  2. 2.

    \({a_N > b_N \ge c_N}\) and \({c_\varPi \ge b_\varPi \ge a_\varPi }\) \({a'_N = c_N}\), \({a'_\varPi = a_\varPi }\), \({b'_N = c_N}\), \({b'_\varPi = b_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (1,1).

  3. 3.

    (\({a_N > c_N \ge b_N}\) or \({a_N \ge c_N > b_N}\)) and \({b_\varPi \ge a_\varPi \ge c_\varPi }\). \(a'_N\)=\(c_N\), \(a'_\varPi \)=\(c_\varPi \), \(b'_N\)= \(b_N\), \(b'_\varPi \)=\(c_\varPi \). If \({c_N = b_N}\) then \(I_{G}\)(\(a'\),\(b'\)) = (1,1), otherwise \(I_{G}\)(\(a'\),\(b'\)) = (\(b_N\),1).

  4. 4.

    (\({a_N > c_N \ge b_N}\) or \({a_N \ge c_N > b_N}\)) and \({b_\varPi \ge c_\varPi \ge a_\varPi }\). \(a'_N\)=\(c_N\), \(a'_\varPi \)-\(a_\varPi \), \(b'_N\)= \(b_N\), \(b'_\varPi \)=\(c_\varPi \). If \({c_N = b_N}\) then \(I_{G}\)(\(a'\),\(b'\)) = (1,1), otherwise \(I_{G}\)(\(a'\),\(b'\)) = (\(b_N\),1).

  5. 5.

    (\({a_N > c_N \ge b_N}\) or \({a_N \ge c_N > b_N}\)) and \({c_\varPi \ge b_\varPi \ge a_\varPi }\). \(a'_N\)=\(c_N\), \(a'_\varPi \)=\(a_\varPi \), \(b'_N\)= \(b_N\), \(b'_\varPi \)=\(b_\varPi \). If \({c_N = b_N}\) then \(I_{G}\)(\(a'\),\(b'\)) = (1,1), otherwise \(I_{G}\)(\(a'\),\(b'\)) = (\(b_N\),1).

  6. 6.

    \({c_N \ge a_N > b_N}\) and \({b_\varPi \ge a_\varPi \ge c_\varPi }\) \({a'_N = a_N}\), \({a'_\varPi = c_\varPi }\), \({b'_N = b_N}\), \({b'_\varPi = c_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (\(b_N\),1).

  7. 7.

    \({c_N \ge a_N > b_N}\) and \({b_\varPi \ge c_\varPi \ge a_\varPi }\) \({a'_N = a_N}\), \({a'_\varPi = a_\varPi }\), \({b'_N = b_N}\), \({b'_\varPi = c_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (\(b_N\),1).

  1. III.

    Let \({a_N \le b_N}\) and \({a_\varPi > b_\varPi }\) . Thus \(I_{G}\)(a,b) = (\(b_\varPi \),\(b_\varPi \)).

  1. 1.

    \({b_N \ge a_N \ge c_N}\) and (\({a_\varPi > c_\varPi \ge b_\varPi }\) or \({a_\varPi \ge c_\varPi > b_\varPi }\)). \(a'_N\)=\(c_N\), \(a'_\varPi \)=\(c_\varPi \), \(b'_N\)= \(c_N\), \(b'_\varPi \)=\(b_\varPi \). If \({c_\varPi = b_\varPi }\) then \(I_{G}\)(\(a'\),\(b'\)) = (1,1), otherwise \(I_{G}\)(\(a'\),\(b'\)) = (\(b_\varPi \),\(b_\varPi \)).

  2. 2.

    \({b_N \ge a_N \ge c_N}\) and \({c_\varPi \ge a_\varPi > b_\varPi }\) \({a'_N = c_N}\), \({a'_\varPi = a_\varPi }\), \({b'_N = c_N}\), \({b'_\varPi = b_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (\(b_\varPi \),\(b_\varPi \)).

  3. 3.

    \({b_N \ge c_N \ge a_N}\) and \({a_\varPi > b_\varPi \ge c_\varPi }\) \({a'_N = a_N}\), \({a'_\varPi = c_\varPi }\), \({b'_N = c_N}\), \({b'_\varPi = c_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (1,1).

  4. 4.

    \({b_N \ge c_N \ge a_N}\) and (\({a_\varPi > c_\varPi \ge b_\varPi }\) or \({a_\varPi \ge c_\varPi > b_\varPi }\)). \(a'_N\)=\(a_N\), \(a'_\varPi \)=\(c_\varPi \), \(b'_N\)= \(c_N\), \(b'_\varPi \)=\(b_\varPi \). If \({c_\varPi = b_\varPi }\) then \(I_{G}\)(\(a'\),\(b'\)) = (1,1), otherwise \(I_{G}\)(\(a'\),\(b'\)) = (\(b_\varPi \),\(b_\varPi \)).

  5. 5.

    \({b_N \ge c_N \ge a_N}\) and \({c_\varPi \ge a_\varPi > b_\varPi }\) \({a'_N = a_N}\), \({a'_\varPi = a_\varPi }\), \({b'_N = c_N}\), \({b'_\varPi = b_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (\(b_\varPi \),\(b_\varPi \)).

  6. 6.

    \({c_N \ge b_N \ge a_N}\) and \({a_\varPi > b_\varPi \ge c_\varPi }\) \({a'_N = a_N}\), \({a'_\varPi = c_\varPi }\), \({b'_N = b_N}\), \({b'_\varPi = c_\varPi }\) \(\Rightarrow \) \(I_{G}\)(\(a'\),\(b'\)) = (1,1).

  7. 7.

    \({c_N \ge b_N \ge a_N}\) and (\({a_\varPi > c_\varPi \ge b_\varPi }\) or \({a_\varPi \ge c_\varPi > b_\varPi }\)). \(a'_N\)=\(a_N\), \(a'_\varPi \)=\(c_\varPi \), \(b'_N\)= \(b_N\), \(b'_\varPi \)=\(b_\varPi \). If \({c_\varPi = b_\varPi }\) then \(I_{G}\)(\(a'\),\(b'\)) = (1,1), otherwise \(I_{G}\)(\(a'\),\(b'\)) = (\(b_\varPi \),\(b_\varPi \)).

P3: Let \({\theta }\) = (min(\(I_{G}(a,b)_N\),\(I_{G}(b,c)_N)\), min(\(I_{G}(a,b)_\varPi \),\(I_{G}(b\),\(c\) \()_\varPi )\)).

If \({a_N \le c_N}\) and \({a_\varPi \le c_\varPi }\) then \(I_{G}\)(a,c) = (1,1). If \({a_N \le b_N}\) and \({a_\varPi \le b_\varPi }\) then \(I_{G}\)(a,b) = (1,1) \(\Rightarrow \) \({\theta }\) = \(I_{G}\)(b,c). Since the components of \(I_{G}\) are decreasing in the first argument [9], we obtain \(I_{G}\)(a,c)\(_N\) \({\ge {\theta _N}}\) and \(I_{G}\)(a,c)\(_\varPi \) \({\ge {\theta _\varPi }}\). If \({b_N \le c_N}\) and \({b_\varPi \le c_\varPi }\) then \(I_{G}\)(b,c) = (1,1) \(\Rightarrow \) \({\theta }\) = \(I_{G}\)(a,b). Since the components of \(I_{G}\) are increasing in the second argument [9], we obtain \(I_{G}\)(a,c)\(_N\) \({\ge \theta _N}\) and \(I_{G}\)(a,c)\(_\varPi \) \({\ge \theta _\varPi }\). Otherwise, we must prove P3 for different cases of a, b and c.

  1. I.

    Let \({a_N > b_N}\) and \({a_\varPi > b_\varPi }\). Thus \(I_{G}\)(a,b) = b.

  1. 1.

    \({a_N > b_N \ge c_N}\) and \({a_\varPi > b_\varPi \ge c_\varPi }\). \(I_{G}\)(a,c) = c. If (\({b_N > c_N}\) and \({b_\varPi > c_\varPi }\)) then \(I_{G}\)(b,c) = c. If (\({b_N > c_N}\) and \({b_\varPi = c_\varPi }\)) then \(I_{G}\)(b,c) = (\(c_N\),1). If (\({b_N = c_N}\) and \({b_\varPi > c_\varPi }\)) then \(I_{G}\)(b,c) = (\(c_\varPi \),\(c_\varPi \)). If (\({b_N}\) = \({c_N}\) and \({b_\varPi = c_\varPi }\)) then \(I_{G}\)(b,c) = (1,1). Thus in all cases \({\theta }\) = c \(\Rightarrow \) \(I_{G}\)(a,c) = \({\theta }\).

  2. 2.

    \({a_N > b_N \ge c_N}\) and (\({a_\varPi > c_\varPi \ge b_\varPi }\) or \({a_\varPi \ge c_\varPi > b_\varPi }\)). \(I_{G}\)(a,c)\(_N\) = \(c_N\) and \(I_{G}\)(a,c)\(_\varPi \) \({\ge }\) \({c_\varPi }\). \(I_{G}\)(b,c)\(_N\) \({\ge }\) \({c_N}\) and \(I_{G}\) \({(b,c)_\varPi }\) = 1. Thus \({\theta }\) = (\(c_N\),\(b_\varPi \)) \(\Rightarrow \) (\(I_{G}\)(a,c)\(_N\) = \({\theta _N}\) and \(I_{G}\)(a,c)\(_\varPi \) \({\ge }\) \({\theta _\varPi }\)).

  3. 3.

    \({a_N > b_N \ge c_N}\) and \({c_\varPi }\ge a_\varPi >b_\varPi \). \(I_{G}\)(a,c)=(\(c_N\),1). \(I_{G}\)(b,c)\(_N\) \({\ge }\) \({c_N}\). \(I_{G}\) \({(b,c)_\varPi }\)=1. Thus \({\theta }\)=(\(c_N\),\(b_\varPi \)) \(\Rightarrow \) (\(I_{G}\)(a,c)\(_N\)=\({\theta _N}\) and \(I_{G}\)(a,c)\(_\varPi \) \({>}\) \({\theta _\varPi }\)).

  4. 4.

    (\({a_N > c_N \ge b_N}\) or \({a_N \ge c_N > b_N}\)) and \({a_\varPi > b_\varPi \ge c_\varPi }\). \(I_{G}\)(a,c)\(_N\) \({\ge } \ c_N\). \(I_{G}\)(a,c)\(_\varPi \) = \(c_\varPi \). If \({b_\varPi > c_\varPi }\) then \(I_{G}\)(b,c) = (\(c_\varPi \),\(c_\varPi \)). If \({b_\varPi = c_\varPi }\) then \(I_{G}\)(b,c) = (1,1). Thus \({\theta }\) = (\(b_N\),\(c_\varPi \)) \(\Rightarrow \) (\(I_{G}\)(a,c)\(_N\) \({\ge }\) \({\theta _N}\) and \(I_{G}\)(a,c)\(_\varPi \) = \({\theta _\varPi }\)).

  5. 5.

    \({c_N \ge a_N > b_N}\) and \({a_\varPi > b_\varPi \ge c_\varPi }\). \(I_{G}\)(a,c) = (\(c_\varPi \),\(c_\varPi \)). If \({b_\varPi > c_\varPi }\) then \(I_{G}\)(b,c) = (\(c_\varPi \),\(c_\varPi \)) and if \({b_\varPi = c_\varPi }\) then \(I_{G}\)(b,c) = (1,1). Thus \({\theta }\) = (\(b_N\),\(c_\varPi \)) \(\Rightarrow \) (\(I_{G}\)(a,c)\(_N\) \({>}\) \({\theta _N}\) and \(I_{G}\)(a,c)\(_\varPi \) = \({\theta _\varPi }\)).

  1. II.

    Let \({a_N > b_N}\) and \({a_\varPi \le b_\varPi }\) . Thus \(I_{G}\)(a,b) = (\(b_N\),1).

  1. 1.

    \({a_N > b_N \ge c_N}\) and \({b_\varPi \ge a_\varPi \ge c_\varPi }\). \(I_{G}\) \({(a,c)}\) \(_N\) = \(c_N\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) \({\ge }\) \(c_\varPi \). If (\({b_N > c_N}\) and \({b_\varPi > c_\varPi }\)) then \(I_{G}\) \({(b,c)}\) = c \(\Rightarrow \) \({\theta }\) = c \(\Rightarrow \) (\(I_{G}\) \({(a,c)}\) \(_N\) = \(\theta _N\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) \({\ge \theta _\varPi }\)). If (\({b_N > c_N}\) and \({b_\varPi = c_\varPi }\)) then \(I_{G}\) \({(b,c)}\) = (\(c_N\),1) \(\Rightarrow \) \({\theta }\) = (\(c_N\),1). If \({b_\varPi = c_\varPi }\) then \({a_\varPi = c_\varPi }\) \(\Rightarrow \) \(I_{G}\) \({(a,c)}\) = (\(c_N\),1) = \({\theta }\). If (\({b_N = c_N}\) and \({b_\varPi > c_\varPi }\)) then \(I_{G}\) \({(b,c)}\) = (\(c_\varPi \),\(c_\varPi \)) \(\Rightarrow \) \({\theta }\) = c \(\Rightarrow \) (\(I_{G}\) \({(a,c)}\) \(_N\) = \(\theta _N\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) \({\ge \theta _\varPi }\)). If \({b = c}\) then (\(I_{G}\) \({(b,c)}\) = (1,1) and \(I_{G}\) \({(a,c)}\) = (\(c_N\),1)) \(\Rightarrow \) \({\theta }\) = (\(c_N\),1) \(\Rightarrow \) \(I_{G}\) \({(a,c)}\) \({= \theta }\).

  2. 2.

    \({a_N > b_N \ge c_N}\) and \({b_\varPi \ge c_\varPi \ge a_\varPi }\). \(I_{G}\) \({(a,c)}\) = (\(c_N\),1). \(I_{G}\) \({(b,c)_N}\) \({\ge }\) \(c_N\) \(\Rightarrow \) \({\theta _N}\) = \(c_N\) \(\Rightarrow \) \(I_{G}\) \({(a,c)_N}\) \({= \theta _N }\).

  3. 3.

    \({a_N > b_N \ge c_N}\) and \({c_\varPi \ge b_\varPi \ge a_\varPi }\). \(I_{G}\) \({(a,c)}\) = (\(c_N\),1). If \({b_N > c_N}\) then \(I_{G}\) \({(b,c)}\) = (\(c_N\),1) \(\Rightarrow \) \({\theta }\) = (\(c_N\),1) \(\Rightarrow \) \(I_{G}\) \({(a,c)}\) \({= \theta }\). If \({b_N = c_N}\) then \(I_{G}\) \({(b,c)}\) = (1,1) \(\Rightarrow \) \({\theta }\) = (\(c_N\),1) \(\Rightarrow \) \(I_{G}\) \({(a,c)}\) \({= \theta }\).

  4. 4.

    (\({a_N > c_N \ge b_N}\) or \({a_N \ge c_N > b_N}\)) and \({b_\varPi \ge a_\varPi \ge c_\varPi }\) \(I_{G}\)(a,c)\(_N\) \({\ge }\) \(c_N\) and \(I_{G}\)(a,c)\(_\varPi \) \({\ge }\) \(c_\varPi \). \(I_{G}\)(b,c)\(_N\) = 1 \(\Rightarrow \) \({\theta _N}\) = \(b_N\) \(\Rightarrow \) \(I_{G}\)(a,c)\(_N\) \({\ge }\) \(\theta _N\). If \({b_\varPi > c_\varPi }\) then \(I_{G}\)(b,c)\(_\varPi \) = \(c_\varPi \) \(\Rightarrow \) \({\theta _\varPi }\) = \(c_\varPi \) \(\Rightarrow \) \(I_{G}\)(a,c)\(_\varPi \) \({\ge }\) \(\theta _\varPi \). If \({b_\varPi = c_\varPi }\) then \(I_{G}\)(b,c)\(_\varPi \) = 1 \(\Rightarrow \) \({\theta _\varPi }\) = 1. If \({b_\varPi = c_\varPi }\) then \({a_\varPi = c_\varPi }\) \(\Rightarrow \) \(I_{G}\)(a,c)\(_\varPi \) = 1 = \({\theta _\varPi }\) .

  5. 5.

    (\({a_N > c_N \ge b_N}\) or \({a_N \ge c_N > b_N}\)) and \({b_\varPi \ge c_\varPi \ge a_\varPi }\) \(I_{G}\)(a,c)\(_N\) \({\ge }\) \(c_N\) and \(I_{G}\)(a,c)\(_\varPi \) = 1. \(I_{G}\)(b,c)\(_N\) = 1 \(\Rightarrow \) \({\theta _N}\) = \(b_N\) \(\Rightarrow \) \(I_{G}\)(a,c)\(_N\) \({\ge }\) \(\theta _N\) .

  6. 6.

    \({c_N \ge a_N > b_N}\) and \({b_\varPi \ge a_\varPi \ge c_\varPi }\). I(a,c)\(_N\) \({\ge }\) \(c_\varPi \) and I(a,c)\(_\varPi \) \({\ge }\) \(c_\varPi \). I(b,c)\(_N\) \({\ge }\) \(c_\varPi \) \(\Rightarrow \) \({\theta _N}\) = \(b_N\) \(\Rightarrow \) I(a,c)\(_N\) \({\ge }\) \(\theta _N\). If \({b_\varPi > c_\varPi }\) then \(I_{G}\)(b,c)\(_\varPi \) = \(c_\varPi \) \(\Rightarrow \) \({\theta _\varPi }\) = \(c_\varPi \) \(\Rightarrow \) \(I_{G}\)(a,c)\(_\varPi \) \({\ge }\) \(\theta _\varPi \). If \({b_\varPi = c_\varPi }\) then \(I_{G}\)(b,c)\(_\varPi \) = 1 \(\Rightarrow \) \({\theta _\varPi }\) = 1. If \({b_\varPi = c_\varPi }\) then \({a_\varPi = c_\varPi }\) \(\Rightarrow \) \(I_{G}\)(a,c)\(_\varPi \) = 1 = \({\theta _\varPi }\) .

  1. III.

    Let \({a_N \le b_N}\) and \({a_\varPi > b_\varPi }\) . Thus \(I_{G}\)(a,b) = (\(b_\varPi \),\(b_\varPi \)).

  1. 1.

    \({b_N \ge a_N \ge c_N}\) and \({a_\varPi > b_\varPi \ge c_\varPi }\) If \({a_N > c_N}\) then \(I_{G}\) \({(a,c)}\) = c, otherwise \(I_{G}\) \({(a,c)}\) = (\(c_\varPi \),\(c_\varPi \)). If (\({b_N > c_N}\) and \({b_\varPi > c_\varPi }\)) then \(I_{G}\) \({(b,c)}\) = c \(\Rightarrow \) \({\theta }\) = c \(\Rightarrow \) (\(I_{G}\) \({(a,c)}\) \(_N\) \({= \theta _N }\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) \({= \theta _\varPi }\)). If (\({b_N > c_N}\) and \({b_\varPi = c_\varPi }\)) then \(I_{G}\) \({(b,c)}\) = (\(c_N\),1) \(\Rightarrow \) \({\theta }\) = c \(\Rightarrow \) (\(I_{G}\) \({(a,c)}\) \(_N\) \({\ge \theta _N }\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) \({= \theta _\varPi }\)). If (\({b_N = c_N}\) and \({b_\varPi > c_\varPi }\)) then \(I_{G}\) \({(b,c)}\) = (\(c_\varPi \),\(c_\varPi \)) \(\Rightarrow \) \({\theta }\) = (\(c_\varPi \),\(c_\varPi \)). If \({b_N = c_N}\) then \({a_N = c_N}\) \(\Rightarrow \) \(I_{G}\) \({(a,c)}\) = (\(c_\varPi \),\(c_\varPi \)) = \({\theta }\). If \({b = c}\) then \(I_{G}\)(b,c) = (1,1) \(\Rightarrow \) \({\theta }\) = (\(c_\varPi \),\(c_\varPi \)) \(\Rightarrow \) \(I_{G}\)(a,c) = \({\theta }\).

  2. 2.

    \({b_N \ge a_N \ge c_N}\) and (\({a_\varPi > c_\varPi \ge b_\varPi }\) or \({a_\varPi \ge c_\varPi > b_\varPi }\)) \(I_{G}\) \({(a,c)}\) \(_N\) \({\ge c_N }\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) \({\ge c_\varPi }\). \(I_{G}\) \({(b, c)}\) \(_\varPi \) = 1. If \({b_N > c_N}\) then \(I_{G}\) \({(b, c)}\) = (\(c_N\),1) \(\Rightarrow \) \({\theta }\) = (\(c_N\),\(b_\varPi \)) \(\Rightarrow \) (\(I_{G}\) \({(a,c)}\) \(_N\) \({\ge \theta _N }\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) \({\ge \theta _\varPi }\)). If \(b_N\)=\(c_N\) then \(I_{G}\) \({(b,c)}\) = (1,1) \(\Rightarrow \) \({\theta }\) = (\(b_\varPi \),\(b_\varPi \)). If \(b_N\)=\(c_N\) then \(a_N\)=\(c_N\) \(\Rightarrow \) \(I_{G}\) \({(a,c)}\) \(_N\) \({\ge }\) \(c_\varPi \) \(\Rightarrow \) (\(I_{G}\) \({(a,c)}\) \(_N\) \({\ge }\) \({\theta _N }\) and \(I_{G}\) \({(a, c)}\) \(_\varPi \) \({\ge }\) \({\theta _\varPi }\)).

  3. 3.

    \({b_N \ge a_N \ge c_N}\) and \({c_\varPi \ge a_\varPi > b_\varPi }\). \(I_{G}\) \({(a,c)}\) \(_N\) \({\ge }\) \(c_N\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) = 1. \(I_{G}\) \({(b,c)}\) \(_\varPi \) = 1. If \({b_N > c_N}\) then \(I_{G}\) \({(b,c)}\) = (\(c_N\),1) \(\Rightarrow \) \({\theta }\) = (\(c_N\),\(b_\varPi \)) \(\Rightarrow \) (\(I_{G}\) \({(a,c)}\) \(_N\) \({\ge \theta _N}\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) \({> \theta _\varPi }\)). If \(b_N\)=\(c_N\) then \(I_{G}\) \({(b,c)}\) = (1,1) \(\Rightarrow \) \({\theta }\) = (\(b_\varPi \),\(b_\varPi \)). If \(b_N\)=\(c_N\) then \(a_N\)=\(c_N\) \(\Rightarrow \) \(I_{G}\) \({(a,c)}\) \(_N\) = 1 \(\Rightarrow \) (\(I_{G}\) \({(a,c)}\) \(_N\) \({> }\) \({\theta _N }\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) \({> }\) \({\theta _\varPi }\)).

  4. 4.

    \({b_N \ge c_N \ge a_N}\) and \({a_\varPi > b_\varPi \ge c_\varPi }\). \(I_{G}\) \({(a,c)}\) = (\(c_\varPi \),\(c_\varPi \)). If (\({b_N > c_N}\) and \({b_\varPi > c_\varPi }\)) then \(I_{G}\) \({(b,c)}\) = c \(\Rightarrow \) \({\theta }\) = c \(\Rightarrow \) (\(I_{G}\) \({(a, c)}\) \(_N\) \({\ge \theta _N}\) and \(I_{G}\) \({(a, c)}\) \(_\varPi \) = \({\theta _\varPi }\)). If (\({b_N > c_N}\) and \({b_\varPi = c_\varPi }\)) then \(I_{G}\) \({(b,c)}\) = (\(c_N\),1) \(\Rightarrow \) \({\theta }\) = c \(\Rightarrow \) (\(I_{G}\) \({(a,c)}\) \(_N\) \({\ge \theta _N}\) and \(I_{G}\) \({(a,c)}\) \(_\varPi \) = \({\theta _\varPi }\)). If (\({b_N = c_N}\) and \({b_\varPi > c_\varPi }\)) then \(I_{G}\) \({(b,c)}\) = (\(c_\varPi \), \(c_\varPi \)) \(\Rightarrow \) \({\theta }\) = (\(c_\varPi \),\(c_\varPi \)) \(\Rightarrow \) \(I_{G}\) \({(a,c)}\) = \({\theta }\). If \({b = c}\) then \(I_{G}\) \({(b,c)}\) = (1,1) \(\Rightarrow \) \({\theta }\) = (\(c_\varPi \),\(c_\varPi \)) \(\Rightarrow \) \(I_{G}\) \({(a,c)}\) = \({\theta }\).

  5. 5.

    \({b_N \ge c_N \ge a_N}\) and (\({a_\varPi > c_\varPi \ge b_\varPi }\) or \({a_\varPi \ge c_\varPi > b_\varPi }\)) If \({a_\varPi > c_\varPi }\) then \(I_{G}\)(a,c)=(\(c_\varPi \),\(c_\varPi \)). If \(a_\varPi \)=\(c_\varPi \) then \(I_{G}\)(a,c)=(1,1). If \({b_N > c_N}\) then \(I_{G}\)(b,c)=(\(c_N\),1) \(\Rightarrow \) \({\theta }\)=(\(c_N\),\(b_\varPi \)) \(\Rightarrow \) (\(I_{G}\)(a,c)\(_N\) \({\ge \theta _N}\) and \(I_{G}\)(a,c)\(_\varPi \) \({\ge \theta _\varPi }\)). If \(b_N\)=\(c_N\) then \(I_{G}\)(b,c)=(1,1) \(\Rightarrow \) \({\theta }\)=(\(b_\varPi \),\(b_\varPi \)) \(\Rightarrow \) (\(I_{G}\)(a,c)\(_N\) \({\ge \theta _N}\) and \(I_{G}\)(a,c)\(_\varPi \) \({\ge \theta _\varPi }\)).

  6. 6.

    \({c_N \ge b_N \ge a_N}\) and \({a_\varPi > b_\varPi \ge c_\varPi }\). \(I_{G}\)(a,c) = (\(c_\varPi \),\(c_\varPi \)).

If \({b_\varPi > c_\varPi }\) then \(I_{G}\)(b,c) = (\(c_\varPi \),\(c_\varPi \)) \(\Rightarrow \) \({\theta }\) = (\(c_\varPi \),\(c_\varPi \)) \(\Rightarrow \) \(I_{G}\)(a, c) = \({\theta }\).

If \({b_\varPi = c_\varPi }\) then \(I_{G}\)(b,c) = (1,1) \(\Rightarrow \) \({\theta }\) = (\(c_\varPi \),\(c_\varPi \)) \(\Rightarrow \) \(I_{G}\)(a,c) = \({\theta }\).    \(\Box \)

Moreover, the extended Gödel implicator has the following properties [9]:

P4: \({a_N \le a'_N}\) \({\wedge }\) \({a_\varPi \le a'_\varPi }\) \(\Rightarrow \) \({I_{G}(a,b)_N \ge I_{G}(a',b)_N}\) \({\wedge }\) \({I_{G}(a,b)_\varPi \ge I_{G}(a',b)_\varPi }\),

P5: \({b_N \ge b'_N}\) \({\wedge }\) \({b_\varPi \ge b'_\varPi }\) \(\Rightarrow \) \({I_{G}(a,b)_N \ge I_{G}(a,b')_N}\) \({\wedge }\) \({I_{G}(a,b)_\varPi \ge I_{G}(a,b')_\varPi }\),

P6: \({I_{G}(1,b)_N}\) = \(b_N\) and \({I_{G}(1,b)_\varPi }\) = \(b_\varPi \),

P7: \({I_{G}(a,b)_N \ge b_N}\) and \({I_{G}(a,b)_\varPi \ge b_\varPi }\),

P8: \({I_{G}(a,I_{G}(b,c))_N}\) = \({I_{G}(b,I_{G}(a,c))_N}\) and \({I_{G}(a,I_{G}(b,c))_\varPi }\) = \({I_{G}(b,I_{G}(a,c))_\varPi }\).

4 Soundness and Completeness of the Inference Rules

The set of extended Armstrong’s axioms can be used to derive new fuzzy functional dependencies implied by a given set of FFDs. Let F be a set of FFDs (7) with respect to the relation scheme R (U). Let us denote by \(F^+\) the set of all FFDs which can be derived from F by means of the extended Armstrong’s axioms:

$$\begin{aligned} F^{+} = \lbrace { X \rightarrow _{\theta } Y, \theta = (\theta _N, \theta _{\varPi }) : F \vDash X \rightarrow _{\theta } Y \rbrace }. \end{aligned}$$
(9)

Theorem 2

The extended Armstrong’s axioms are sound.

Proof

Let F be a set of FFDs for the relation scheme R(U). Let \(t_1\) and \(t_2\) be tuples of r, where r is relation of R(U). Let X, Y, Z \({\subseteq U}\).

Let a = \({=_c(t_1(X), t_2(X))}\), b = \({=_c(t_1(Y), t_2(Y))}\), c = \({=_c(t_1(Z), t_2(Z))}\).

A1: If Y \({\subseteq X}\) then by (4) \({a_N \le b_N}\) and \({a_\varPi \le b_\varPi }\). Since \(I_{G}\) satisfies P1, we get \(I_{G}(a,b)\) = (1, 1) and so

$$\begin{aligned} I_{G}(=_c(t_1(X), t_2(X)),=_c(t_1(Y), t_2(Y)))_N = 1 \ge \theta _N, \\ I_{G}(=_c(t_1(X), t_2(X)),=_c(t_1(Y), t_2(Y)))_{\varPi } = 1 \ge \theta _{\varPi }. \end{aligned}$$

A2: Since \({X \rightarrow _{\theta } Y}\) holds, we have \(I_{G}(a,b)_N\) \({\ge \theta _N}\) and \(I_{G}(a,b)_{\varPi }\) \({\ge \theta _{\varPi }}\). Let \(a'\) = \({=_c(t_1(XZ), t_2(XZ))}\) and \(b'\) = \({=_c(t_1(YZ), t_2(YZ))}\). From (4) we get \(a'_N\) = min(\(a_N\),\(c_N\)), \(a'_{\varPi }\) = min(\(a_{\varPi }\),\(c_{\varPi }\)) and \(b'_N\) = min(\(b_N\),\(c_N\)), \(b'_{\varPi }\) = min(\(b_{\varPi }\),\(c_{\varPi }\)). Since \(I_{G}\) satisfies P2, we obtain \(I_{G}(a',b')_N\) \({\ge \theta _N}\) and \(I_{G}(a',b')_{\varPi }\) \({\ge \theta _{\varPi }}\) and so

$$\begin{aligned} I_{G}(=_c(t_1(XZ), t_2(XZ)),=_c(t_1(YZ), t_2(YZ)))_N \ge \theta _N, \\ I_{G}(=_c(t_1(XZ), t_2(XZ)),=_c(t_1(YZ), t_2(YZ)))_{\varPi } \ge \theta _{\varPi }. \end{aligned}$$

Thus, if \({X \rightarrow _{\theta } Y \in F^+}\) then \({XZ \rightarrow _{\theta } YZ \in F^+}\).

A3: Since \({X \rightarrow _{\alpha } Y}\) and \({Y \rightarrow _{\beta } Z}\) hold, we have: \(I_{G}(a,b)_N\) \({\ge \alpha _N}\), \(I_{G}(a,b)_{\varPi }\) \({\ge \alpha _{\varPi }}\) and \(I_{G}(b,c)_N\) \({\ge \beta _N}\), \(I_{G}(b,c)_{\varPi }\) \({\ge \beta _{\varPi }}\). By P3 we obtain \(I_{G}(a,c)_N\) \({\ge \gamma _N}\) and \(I_{G}(a,c)_{\varPi }\) \({\ge \gamma _{\varPi }}\), where \({\gamma _N}\) = min(\({\alpha _N,\beta _N}\)) and \({\gamma _{\varPi }}\) = min(\({\alpha _{\varPi },\beta _{\varPi }}\)) and so

$$\begin{aligned} I_{G}(=_c(t_1(X), t_2(X)),=_c(t_1(Z), t_2(Z)))_N \ge \gamma _N, \\ I_{G}(=_c(t_1(X), t_2(X)),=_c(t_1(Z), t_2(Z)))_{\varPi } \ge \gamma _{\varPi }. \end{aligned}$$

Thus, if \({X \rightarrow _{\alpha } Y \in F^+}\) and \({Y \rightarrow _{\beta } Z \in F^+}\) then \({X \rightarrow _{\gamma } Z \in F^+}\) for \({\gamma }\)=(min(\({\alpha _N,}\) \({\beta _N}\)), min(\({\alpha _\varPi ,\beta _\varPi }\))).   \(\Box \)

The following rules result from Armstrong’s axioms:

D1:\({X \rightarrow _{\alpha }Y}\) \(\wedge \) \({X \rightarrow _{\beta }Z}\) \(\Rightarrow \) \({X \rightarrow _{\lambda }YZ}\) for \({\gamma }\) = (min(\({\alpha _N,\beta _N}\)), min(\({\alpha _\varPi ,\beta _\varPi }\)))

Proof

By A2 we have \({X \rightarrow _\alpha }\) \({Y}\) \({\Rightarrow X \rightarrow _\alpha }\) \({XY}\) and \({X \rightarrow _\beta }\) \({Z}\) \({\Rightarrow XY \rightarrow _\beta }\) \({ZY}\). Then by A3 we obtain \({X \rightarrow _\alpha }\) \({XY}\) \({\wedge }\) \({XY \rightarrow _\beta }\) \({YZ}\) \({\Rightarrow X \rightarrow _\gamma }\) \({YZ}\) for \(\gamma \) = (min(\({\alpha _N}\),\({\beta _N}\)), min(\({\alpha _\varPi }\),\({\beta _\varPi }\))).    \(\Box \)

D2:\({X \rightarrow _{\alpha }Y}\) \(\wedge \) \({WY \rightarrow _{\beta }Z}\) \(\Rightarrow \) \({XW \rightarrow _{\lambda }Z}\) for \({\gamma }\) = (min(\({\alpha _N,\beta _N}\)), min(\({\alpha _\varPi ,\beta _\varPi }\)))

Proof

By A2 we have \({X \rightarrow _\alpha }\) \(Y\) \({\Rightarrow XW \rightarrow _\alpha }\) \({YW}\). Then by A3 we obtain \({XW \rightarrow _\alpha }\) YW \({\wedge }\) \({WY \rightarrow _\beta }\) \(Z\) \({\Rightarrow XW \rightarrow _\gamma }\) \({Z}\) for \(\gamma \) = (min(\({\alpha _N}\),\({\beta _N}\)), min(\({\alpha _\varPi }\),\({\beta _\varPi }\))).    \(\Box \)

D3: \({X \rightarrow _{\alpha }Y}\) \(\wedge \) \({Z\subseteq Y}\) \(\Rightarrow \) \({X \rightarrow _{\alpha } Z}\)

Proof

By A1 we have \({Z\subseteq Y}\) \(\Rightarrow \) \({Y \rightarrow _{\alpha } Z}\) for every \(\alpha \) = (\({\alpha _N, \alpha _\varPi }\)), \({\alpha _N, \alpha _\varPi \in }\) [0,1]. Then by A3 we obtain \({X \rightarrow _\alpha Y \wedge Y \rightarrow _\alpha Z \Rightarrow X \rightarrow _\alpha Z}\).    \(\Box \)

D4: \({X \rightarrow _{\alpha }Y}\) \(\Rightarrow \) \({X \rightarrow _{\beta } Y}\) for \({\beta _N \le \alpha _N}\) and \({\beta _\varPi \le \alpha _\varPi }\)

Proof

By A1 we have \({Y \rightarrow _{\theta }}\) \({Y}\) for every \(\theta \)=(\({\theta _N,\theta _\varPi }\)), \({\theta _N,\theta _\varPi \in }\) [0,1]. Then by A3 we obtain \({X \rightarrow _\alpha }\) \({Y}\) \({\wedge }\) \({Y \rightarrow _\theta }\) \(Y\) \({\Rightarrow }\) \({X \rightarrow _\beta }\) \({Y}\) for \(\beta \)=(min(\({\alpha _N}\),\({\theta _N}\)),min(\({\alpha _\varPi }\),\({\theta _\varPi }\))).    \(\Box \)

The closure of a set of attributes \({X \subseteq U}\) with respect to the set F of FFDs, denoted by \({X^{+}_{F}}\), is defined as a set of triples (\({A, \theta _N, \theta _\varPi }\)), where \({A \in U}\), \({\theta _N}\) = \({\text {sup} \left\{ \alpha : X \rightarrow _{(\alpha , \beta )} A \in F^+\right\} }\) and \({\theta _\varPi }\) = \({\text {sup} \left\{ \beta : X \rightarrow _{(\alpha , \beta )} A \in F^+\right\} }\). The set of attributes occurring in \({X^{+}_{F}}\) will be denoted by DOM(\({X^{+}_{F}}\)):

$$\begin{aligned} DOM(X^{+}_{F}) = \left\{ A:(A,\theta _N, \theta _\varPi ) \in X^{+}_{F}\right\} . \end{aligned}$$

Lemma 1

Let F be a set of FFDs defined over a relation scheme R(U). Let \({X,Y \subseteq U}\) and \({Y = \left\{ A_1, A_2,...,A_k\right\} ,\ A_i \in U}\). Then \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y}\) is deduced by means of the extended Armstrong’s axioms if and only if \({\forall i (A_i,\theta _{i,N}, \theta _{i,\varPi })}\) \({ \in {X^{+}_{F}}}\), where \({\theta _{i,N} \ge \theta _N}\) and \({\theta _{i,\varPi } \ge \theta _\varPi }\).

Proof

Necessity: If \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y}\) is deduced by means of the extended Armstrong’s axioms then by D3 we obtain \({X \rightarrow _{(\theta _N,\theta _\varPi )} A_i}\) for i = 1, 2,...,k. Thus there exist \({\theta _{i,N} \ge \theta _N}\) and \({\theta _{i,\varPi } \ge \theta _\varPi }\) such that \({(A_i,\theta _{i,N}, \theta _{i,\varPi })}\) \({ \in {X^{+}_{F}}}\) (definition of \({X^{+}_{F}}\)).

Sufficiency: If \({(A_i,\theta _{i,N}, \theta _{i,\varPi })}\) \({ \in {X^{+}_{F}}}\) where \({\theta _{i,N} \ge \theta _N}\) and \({\theta _{i,\varPi } \ge \theta _\varPi }\) for i = 1, 2,...,k, then \({X \rightarrow _{(\theta _{i,N},\theta _{i\varPi })} A_i \in F^+}\). By D1 we obtain \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y}\), where \({\theta _N}\) = \({\text {min}_i(\theta _{i,N})}\) and \({\theta _\varPi }\) = \({\text {min}_i(\theta _{i,\varPi })}\).    \(\Box \)

Theorem 3

The extended Armstrong’s axioms are complete.

Proof

In order to prove the theorem we will show that if \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y}\) \({\notin F^+}\), then it is possible to construct a relation where all FFDs in F are satisfied and \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y}\) does not hold, which means that \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y}\) cannot be derived from F. Let F be a set of FFDs for relation scheme R(U). Suppose that \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y}\) \({\notin F^+}\). Let X = \({\left\{ X_1, X_2,...,X_k\right\} }\) and DOM(\({X^{+}_{F}}\)) = \({\{X_1, X_2,...,}\) \({X_k,A_1,A_2,...,}\) \({A_l\}}\). Let us construct a relation r of the scheme R(U), U = \({\{\text {DOM( }X^{+}_{F}),B_1,B_2,...,B_m\}}\), consisting of two tuples \(t_1\) and \(t_2\) such that:

$$\begin{aligned}&t_1(X) = t_2(X) = 1,\\&t_1(A_i) = c_i, \quad t_2(A_i) = d_i \quad \text { for } \quad A_i \in DOM(X^{+}_{F}) - X,\quad i = 1,2,...,l \\&t_1(B_i) = 0, \quad t_2(B_i) = 1 \quad \text { for } \quad B_i \in U -DOM(X^{+}_{F}),\quad i = 1,2,...,m \end{aligned}$$

where \(c_i\) and \(d_i\) are possibility distributions with degrees of closeness \({\phi _{i,N}}\) and \({\phi _{i,\varPi }}\). Let \({\phi _{0,N} = \text {min}_i \phi _{i,N}}\) and \({\phi _{0,\varPi } = \text {min}_i \phi _{i,\varPi }}\).

We will show that each FFD \(V\) \({\rightarrow _{(\gamma _N,\gamma _\varPi )}}\) \(W\) \({\in F}\) holds in r. One should consider only the case when \({V \subseteq }\) \({\text {DOM(}X^{+}_{F})}\) and \({W \subseteq \text {DOM(}X^{+}_{F})}\) \(-\) \(X\). (If V \({\nsubseteq \text {DOM(}X^{+}_{F})}\) then \(t_1\)(V) \({\ne }\) \(t_2\)(V) and so \(V\) \({\rightarrow _{(1,1)}}\) \(W\). Similarly, if \({W \subseteq X}\) then \(t_1\)(W) = \(t_2\)(W) and so \(V\) \({\rightarrow _{(1,1)}}\) \(W\). Suppose that \({V \subseteq \text {DOM(}X^{+}_{F})}\) and \({W \subseteq U}\)\({\text {DOM(}X^{+}_{F})}\). Degrees of closeness of \(t_1\)(W) and \(t_2\)(W) are equal to 0. By Lemma 1 we obtain \(X\) \({\rightarrow _{(\phi _{0,N},\phi _{0,\varPi })}}\) \(V\) \({\in F}\). Since \(V\) \({\rightarrow _{(\gamma _N,\gamma _\varPi )}}\) \(W\) \({\in F}\) we have \(X\) \({\rightarrow _{(\psi _N,\psi _\varPi )}}\) W \({\in F}\), where \({\psi _N = \text {min}(\phi _{0,N}, \gamma _N)}\) and \({\psi _\varPi =}\) \({\text {min}(\phi _{0,\varPi }, \gamma _\varPi )}\). Thus W \({\subseteq }\) \({\text {DOM(}X^{+}_{F})}\): a contradiction.)

Suppose that there exists \(V\) \({\rightarrow _{(\gamma _N,\gamma _\varPi )}}\) \(W\) \({\in F}\), which does not hold in r. Let \({V \subseteq }\) \({\text {DOM(}X^{+}_{F})}\), \(V\) \(-\) \(X\) = \({\{A_{p_1},A_{p_2},...,A_{p_r}\}}\), \({W \subseteq \text {DOM(}X^{+}_{F})}\)X and \({W =}\) \({\{A_{s_1}, A_{s_2},...,A_{s_t}\}}\), where \({p_1,p_2, ...,p_r,s_1,s_2, ...,s_t \in \{1,2,...,l\}}\). Let \({\phi _{V,N}}\) = \({\text {min}_i}\) \({\phi _{p_i,N}}\), \({\phi _{V,\varPi } =}\) \({\text {min}_i\phi _{p_i,\varPi }}\) and \({\phi _{W,N} =}\) \({\text {min}_i\phi _{s_i,N}}\), \({\phi _{W,\varPi } =}\) \({\text {min}_i\phi _{s_i,\varPi }}\). Thus, \({=_c(t_1(V),t_2(V))}\) = (\({\phi _{V,N}, \phi _{V,\varPi }}\)) and \({=_c(t_1(W),t_2(W))}\) = (\({\phi _{W,N}, \phi _{W,\varPi }}\)). If \(V\) \({\rightarrow _{(\gamma _N,\gamma _\varPi )}}\) \(W\) does not hold in r, then \({\phi _{W,N} <}\) min(\({\gamma _N, \phi _{V,N}}\)) or \({\phi _{W,\varPi } <}\) min(\({\gamma _\varPi ,}\) \({\phi _{V,\varPi }}\)). Thus, \({\phi _{p_i,N} >}\) \({\phi _{W,N}}\) or \({\phi _{p_i,\varPi } > \phi _{W,\varPi }}\) for every \(p_i\). By Lemma 1 we obtain \(X\) \({\rightarrow _{(\phi _{V,N},\phi _{V,\varPi })}}\) \(V\) \({\in }\) \({F^{+}}\). Since \(V\) \({\rightarrow _{(\gamma _N,\gamma _\varPi )}}\) \(W\) \({\in F}\) we have \(X\) \({\rightarrow }\) \({_{(\psi _N,\psi _\varPi )}}\) \(W\) \({\in }\) \({F^{+}}\), where \({\psi _N = \text {min}(\phi _{V,N},\gamma _N)}\) and \({\psi _\varPi =}\) \({\text {min}(\phi _{V,\varPi },\gamma _\varPi )}\). Since \({W \subseteq \text {DOM(}X^{+}_{F})}\)X then \({(A_{s_i},}\) \({\phi _{s_i,N},\phi _{s_i,\varPi })}\) \({\in X^{+}_{F}}\) for every \(s_i\). According to the definition of \({X^{+}_{F}}\), \({\phi _{s_i,N}}\) and \({\phi _{s_i,\varPi }}\) are upper bounds. Thus, conditions \({\phi _{p_i,N} > \phi _{W,N}}\) or \({\phi _{p_i,\varPi } > \phi _{W,\varPi }}\) for every \(p_i\) are not satisfied. We obtained a contradiction. Thus, \(V\) \({\rightarrow _{(\gamma _N,\gamma _\varPi )}}\) \(W\) holds in r.

Now we prove that \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y \notin F^{+}}\) does not hold in r. We should consider only the case when \({Y \subseteq }\) \({\text {DOM(}X^{+}_{F})}\). (If Y \({\nsubseteq \text {DOM(}X^{+}_{F})}\) then \({=_c(t_1(Y),}\) \({t_2(Y))_N =}\) \({=_c(t_1(Y),t_2(Y))_\varPi }\) = 0 and so \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y}\) does not hold). Let \({Y \subseteq }\) \({\left\{ A_1, A_2,...,A_l\right\} }\). Let \({\phi _{Y,N} =}\) \({\text {min}_i\phi _{i,N}}\) and \({\phi _{Y,\varPi } =}\) \({\text {min}_i\phi _{i,\varPi }}\). By Lemma 1, it follows that \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y}\) holds in r for \({ \phi _{Y,N} \ge \theta _N}\) and \({\phi _{Y,\varPi } \ge }\) \({\theta _\varPi }\) and \({X \rightarrow _{(\theta _N,\theta _\varPi )} Y \in F^{+}}\) which is a contradiction to the assumption.   \(\Box \)

Example 1

Let us consider relation scheme R(A,B,C,D) with the following set of FFDs: F = \({\{}\) \({{ABC}\rightarrow _{(0,0.8)}}\) \(D\), \({{BCD}\rightarrow _{(0.5,1)}}\) \(A\), \({{ACD}\rightarrow _{(1,1)}}\) \(B\), \({{ABD}\rightarrow _{(0.8,1)}}\) C, \({A\rightarrow _{(0,0.7)}}\) \(C\), \({A\rightarrow _{(1,1)}}\) \(D\), \({B\rightarrow _{(0,0.6)}}\) \({AC}\) \({\}}\). By D2 we obtain: \(AB\) \({\rightarrow _{(0,0.7)}}\) \(D\), \(AD\) \({\rightarrow _{(0,0.7)}}\) \(B\), \(AC\) \({\rightarrow _{(1,1)}}\) \(B\), \(AB\) \({\rightarrow _{(0.8,1)}}\) \(C\) and \(B\) \({\rightarrow _{(0,0.6)}}\) \(D\). Since \(A\) \({\rightarrow _{(1,1)}}\) \(D\) \({\Rightarrow }\) \(AB\) \({\rightarrow _{(1,1)}}\) \(D\) (by A2 and D3) and \(AB\) \({\rightarrow _{(1,1)}}\) \(D\) \({\Rightarrow }\) \(AB\) \({\rightarrow _{(0,0.7)}}\) \(D\) (by D4) we conclude that \(AB\) \({\rightarrow }\) \({_{(0,0.7)}}\) \(D\) is redundant. Similarly \({{ABC}\rightarrow _{(0,0.8)}}\) \(D\), \({{ACD}\rightarrow _{(1,1)}}\) \(B\), \({{ABD}\rightarrow _{(0.8,1)}C}\) are also redundant. By D3 we have \(B\) \({\rightarrow _{(0,0.6)}}\) \(A\) and \(B\) \({\rightarrow _{(0,0.6)}}\) \(C\). Thus \(F_{m}\) = \({\{{BCD}\rightarrow _{(0.5,1)}A, {AD}\rightarrow _{(0,0.7)}B, {AC}\rightarrow _{(1,1)}B, {AB}\rightarrow _{(0.8,1)}C, A\rightarrow }\) \({_{(0,0.7)}C, A\rightarrow _{(1,1)}D, B\rightarrow _{(0,0.6)}A, B\rightarrow _{(0,0.6)}C, B\rightarrow _{(0,0.6)}D \}}\) is a minimal set of FFDs for the scheme R.

5 Conclusions

The paper deals with data dependencies in possibilistic databases. We applied and extended the definition of fuzzy functional dependency which was formulated by Chen [2]. Its level is evaluated by measures of possibility and necessity. For FFDs we have established inference rules which are an extension of Armstrong’s axioms for conventional databases and showed that they form a sound and complete system. Similar results may be expected for other approaches. The obtained results could be generalized when using t-norms. Another line of future work is an extension of the presented considerations by taking into account unknown and inapplicable (missing) values.