:: ARMSTRNG semantic presentation
theorem Th1: :: ARMSTRNG:1
theorem Th2: :: ARMSTRNG:2
proof
let c
1 be non
empty antisymmetric transitive Relation;
let c
2 be
finite Subset of
(field c1);
assume E4:
c
2 <> {}
;
reconsider c
3 = c
1 as
Relation of
field c
1 by POLYNOM1:4;
set c
4 =
RelStr(#
(field c1),c
3 #);
set c
5 = the
carrier of
RelStr(#
(field c1),c
3 #);
set c
6 = the
InternalRel of
RelStr(#
(field c1),c
3 #);
E5:
the
carrier of
RelStr(#
(field c1),c
3 #) is
(C1)
by E4, XBOOLE_1:3;
E6:
c
1 is_antisymmetric_in field c
1
by RELAT_2:def 12;
E7:
RelStr(#
(field c1),c
3 #) is
antisymmetric
E8:
c
1 is_transitive_in field c
1
by RELAT_2:def 16;
RelStr(#
(field c1),c
3 #) is
transitive
proof
let c
7, c
8, c
9 be
Element of
RelStr(#
(field c1),c
3 #);
:: according to YELLOW_0:def 2
assume
( c
7 <= c
8 & c
8 <= c
9 )
;
then
(
[c7,c8] in the
InternalRel of
RelStr(#
(field c1),c
3 #) &
[c8,c9] in the
InternalRel of
RelStr(#
(field c1),c
3 #) )
by ORDERS_2:def 9;
then
[c7,c9] in the
InternalRel of
RelStr(#
(field c1),c
3 #)
by E5, E8, RELAT_2:def 8;
hence
c
7 <= c
9
by ORDERS_2:def 9;
end;
then reconsider c
7 =
RelStr(#
(field c1),c
3 #) as non
empty transitive antisymmetric RelStr by E5, E7, STRUCT_0:def 1;
reconsider c
8 = c
2 as
finite Subset of the
carrier of
RelStr(#
(field c1),c
3 #) ;
consider c
9 being
Element of c
7 such that E9:
( c
9 in c
8 & c
9 is_maximal_wrt c
8,the
InternalRel of c
7 )
by E4, BAGORDER:7;
reconsider c
10 = c
9 as
Element of c
2 by E9;
take
c
10
;
thus
c
10 in c
2
by E9;
:: according to WAYBEL_4:def 24
given c
11 being
set such that E10:
( c
11 in c
2 & c
11 <> c
10 &
[c10,c11] in c
1 )
;
thus
not verum
by E9, E10, WAYBEL_4:def 24;
end;
scheme :: ARMSTRNG:sch 1
s1{ F
1()
-> set , P
1[
set ] } :
for b
1, b
2 being
Subset of F
1() holds
( ( for b
3 being
set holds
( b
3 in b
1 iff P
1[b
3] ) ) & ( for b
3 being
set holds
( b
3 in b
2 iff P
1[b
3] ) ) implies b
1 = b
2 )
proof
let c
1, c
2 be
Subset of F
1();
assume that E4:
for b
1 being
set holds
( b
1 in c
1 iff P
1[b
1] )
and E5:
for b
1 being
set holds
( b
1 in c
2 iff P
1[b
1] )
;
for b
1 being
set holds
( b
1 in c
1 iff b
1 in c
2 )
proof
let c
3 be
set ;
hereby
assume
c
3 in c
1
;
then
P
1[c
3]
by E4;
hence
c
3 in c
2
by E5;
end;
assume
c
3 in c
2
;
then
P
1[c
3]
by E5;
hence
c
3 in c
1
by E4;
end;
hence
c
1 = c
2
by TARSKI:2;
end;
:: deftheorem Def1 defines Maximal_in ARMSTRNG:def 1 :
:: deftheorem Def2 defines is_/\-irreducible_in ARMSTRNG:def 2 :
:: deftheorem Def3 defines /\-IRR ARMSTRNG:def 3 :
theorem Th3: :: ARMSTRNG:3
:: deftheorem Def4 defines (B1) ARMSTRNG:def 4 :
theorem Th4: :: ARMSTRNG:4
:: deftheorem Def5 defines '&' ARMSTRNG:def 5 :
theorem Th5: :: ARMSTRNG:5
proof
let c
1 be
Nat;
let c
2 be
Tuple of c
1,
BOOLEAN ;
set c
3 = c
1 -BinarySequence 0;
now
let c
4 be
set ;
E12:
dom ((c1 -BinarySequence 0) '&' c2) = Seg c
1
by Lemma1;
hence
dom ((c1 -BinarySequence 0) '&' c2) = dom (c1 -BinarySequence 0)
by Lemma1;
let c
5 be
set ;
assume E13:
c
5 in dom ((c1 -BinarySequence 0) '&' c2)
;
E14:
dom (c1 -BinarySequence 0) = Seg c
1
by Lemma1;
E15: c
1 -BinarySequence 0 =
0* c
1
by BINARI_3:26
.=
c
1 |-> 0
by EUCLID:def 4
;
then
(c1 -BinarySequence 0) . c
5 = 0
by E12, E13, FUNCOP_1:13;
then
(c1 -BinarySequence 0) /. c
5 = FALSE
by E12, E13, E14, FINSEQ_4:def 4, MARGREL1:def 13;
hence ((c1 -BinarySequence 0) '&' c2) . c
5 =
FALSE '&' (c2 /. c5)
by E12, E13, Def5
.=
FALSE
by MARGREL1:49
.=
(c1 -BinarySequence 0) . c
5
by E12, E13, E15, FUNCOP_1:13, MARGREL1:def 13
;
end;
hence
(c1 -BinarySequence 0) '&' c
2 = c
1 -BinarySequence 0
by FUNCT_1:9;
end;
theorem Th6: :: ARMSTRNG:6
proof
let c
1 be
Nat;
let c
2 be
Tuple of c
1,
BOOLEAN ;
set c
3 = c
1 -BinarySequence 0;
set c
4 =
'not' (c1 -BinarySequence 0);
now
let c
5 be
set ;
E12:
dom (('not' (c1 -BinarySequence 0)) '&' c2) = Seg c
1
by Lemma1;
hence E13:
dom (('not' (c1 -BinarySequence 0)) '&' c2) = dom c
2
by Lemma1;
let c
6 be
set ;
assume E14:
c
6 in dom (('not' (c1 -BinarySequence 0)) '&' c2)
;
E15: c
1 -BinarySequence 0 =
0* c
1
by BINARI_3:26
.=
c
1 |-> 0
by EUCLID:def 4
;
E16:
dom (c1 -BinarySequence 0) = Seg c
1
by Lemma1;
(c1 -BinarySequence 0) . c
6 = 0
by E12, E14, E15, FUNCOP_1:13;
then E17:
(c1 -BinarySequence 0) /. c
6 = FALSE
by E12, E14, E16, FINSEQ_4:def 4, MARGREL1:def 13;
('not' (c1 -BinarySequence 0)) /. c
6 =
'not' ((c1 -BinarySequence 0) /. c6)
by E12, E14, BINARITH:def 4
.=
TRUE
by E17, MARGREL1:def 16
;
hence (('not' (c1 -BinarySequence 0)) '&' c2) . c
6 =
TRUE '&' (c2 /. c6)
by E12, E14, Def5
.=
c
2 /. c
6
by MARGREL1:50
.=
c
2 . c
6
by E13, E14, FINSEQ_4:def 4
;
end;
hence
('not' (c1 -BinarySequence 0)) '&' c
2 = c
2
by FUNCT_1:9;
end;
theorem Th7: :: ARMSTRNG:7
canceled;
theorem Th8: :: ARMSTRNG:8