let X be finite set ; :: thesis: for C being Subset-Family of X
for B being set st C is (C1) & C is without_proper_subsets & B = { b where b is Subset of X : for K being Subset of X st K in C holds
not K c= b } holds
C = candidate-keys (X deps_encl_by B)
let C be Subset-Family of X; :: thesis: for B being set st C is (C1) & C is without_proper_subsets & B = { b where b is Subset of X : for K being Subset of X st K in C holds
not K c= b } holds
C = candidate-keys (X deps_encl_by B)
let B be set ; :: thesis: ( C is (C1) & C is without_proper_subsets & B = { b where b is Subset of X : for K being Subset of X st K in C holds
not K c= b } implies C = candidate-keys (X deps_encl_by B) )
assume that
A1:
C is (C1)
and
A2:
C is without_proper_subsets
and
A3:
B = { b where b is Subset of X : for K being Subset of X st K in C holds
not K c= b }
; :: thesis: C = candidate-keys (X deps_encl_by B)
set F = X deps_encl_by B;
B c= bool X
then reconsider BB = B as Subset-Family of X ;
A4:
[#] X = X
;
A5:
now let x be
set ;
:: thesis: ( x in C implies [x,X] in Maximal_wrt (X deps_encl_by B) )assume A6:
x in C
;
:: thesis: [x,X] in Maximal_wrt (X deps_encl_by B)then reconsider x' =
x as
Subset of
X ;
then
[x',X] in X deps_encl_by B
by A4;
then consider a,
b being
Subset of
X such that A8:
[a,b] in Maximal_wrt (X deps_encl_by B)
and A9:
[a,b] >= [x',([#] X)]
by Th28;
A10:
a c= x'
by A9, Th15;
X c= b
by A9, Th15;
then A11:
b = X
by XBOOLE_0:def 10;
assume A12:
not
[x,X] in Maximal_wrt (X deps_encl_by B)
;
:: thesis: contradictionthen
a in BB
by A3;
then
X c= a
by A8, A11, Lm2;
then
X = a
by XBOOLE_0:def 10;
hence
contradiction
by A8, A10, A11, A12, XBOOLE_0:def 10;
:: thesis: verum end;
now let x be
set ;
:: thesis: ( ( x in C implies x in candidate-keys (X deps_encl_by B) ) & ( x in candidate-keys (X deps_encl_by B) implies x in C ) )assume
x in candidate-keys (X deps_encl_by B)
;
:: thesis: x in Cthen consider A being
Subset of
X such that A16:
x = A
and A17:
[A,X] in Maximal_wrt (X deps_encl_by B)
;
A18:
for
c being
set holds
( not
c in BB or
c = X or not
A c= c )
assume A22:
not
x in C
;
:: thesis: contradictionnow given K being
Subset of
X such that A23:
K in C
and A24:
K c= A
;
:: thesis: contradictionA25:
[K,X] in Maximal_wrt (X deps_encl_by B)
by A5, A23;
A26:
A ^|^ X,
X deps_encl_by B
by A17, Def18;
[K,([#] X)] >= [A,([#] X)]
by A24, Th15;
hence
contradiction
by A16, A22, A23, A25, A26, Th29;
:: thesis: verum end; then
A in BB
by A3;
then
X in BB
by A18;
then consider b being
Subset of
X such that A27:
b = X
and A28:
for
K being
Subset of
X st
K in C holds
not
K c= b
by A3;
for
K being
set holds not
K in C
by A27, A28;
hence
contradiction
by A1, XBOOLE_0:def 1;
:: thesis: verum end;
hence
C = candidate-keys (X deps_encl_by B)
by TARSKI:2; :: thesis: verum