let D be DB-Rel ; Dependency-str D is full_family
set S = Dependency-str D;
set T = the Attributes of D;
set R = the Relationship of D;
A1:
now let A,
B,
C be
Subset of the
Attributes of
D;
( [A,B] in Dependency-str D & [B,C] in Dependency-str D implies [A,C] in Dependency-str D )assume that A2:
[A,B] in Dependency-str D
and A3:
[B,C] in Dependency-str D
;
[A,C] in Dependency-str DA4:
B >|> C,
D
by A3, Th12;
A5:
A >|> B,
D
by A2, Th12;
A >|> C,
D
hence
[A,C] in Dependency-str D
;
verum end;
then A6:
Dependency-str D is (F2)
by Th20;
A7:
Dependency-str D is (DC3)
hence
Dependency-str D is (F1)
by A6; ARMSTRNG:def 15 ( Dependency-str D is (F2) & Dependency-str D is (F3) & Dependency-str D is (F4) )
thus
Dependency-str D is (F2)
by A1, Th20; ( Dependency-str D is (F3) & Dependency-str D is (F4) )
thus
Dependency-str D is (F3)
by A7, A6; Dependency-str D is (F4)
thus
Dependency-str D is (F4)
verumproof
let A,
B,
A9,
B9 be
Subset of the
Attributes of
D;
ARMSTRNG:def 14 ( [A,B] in Dependency-str D & [A9,B9] in Dependency-str D implies [(A \/ A9),(B \/ B9)] in Dependency-str D )
assume that A10:
[A,B] in Dependency-str D
and A11:
[A9,B9] in Dependency-str D
;
[(A \/ A9),(B \/ B9)] in Dependency-str D
A12:
A9 >|> B9,
D
by A11, Th12;
A13:
A >|> B,
D
by A10, Th12;
A \/ A9 >|> B \/ B9,
D
proof
let f,
g be
Element of the
Relationship of
D;
ARMSTRNG:def 8 ( f | (A \/ A9) = g | (A \/ A9) implies f | (B \/ B9) = g | (B \/ B9) )
assume A14:
f | (A \/ A9) = g | (A \/ A9)
;
f | (B \/ B9) = g | (B \/ B9)
f | A9 =
(f | (A \/ A9)) | A9
by RELAT_1:103, XBOOLE_1:7
.=
g | A9
by A14, RELAT_1:103, XBOOLE_1:7
;
then A15:
f | B9 = g | B9
by A12, Def8;
f | A =
(f | (A \/ A9)) | A
by RELAT_1:103, XBOOLE_1:7
.=
g | A
by A14, RELAT_1:103, XBOOLE_1:7
;
then A16:
f | B = g | B
by A13, Def8;
thus f | (B \/ B9) =
(f | B) \/ (f | B9)
by RELAT_1:107
.=
g | (B \/ B9)
by A16, A15, RELAT_1:107
;
verum
end;
hence
[(A \/ A9),(B \/ B9)] in Dependency-str D
;
verum
end;