:: MCART_2 semantic presentation
Lemma1:
for b1, b2 being set st b1 <> {} & b2 <> {} holds
for b3 being Element of [:b1,b2:] ex b4 being Element of b1ex b5 being Element of b2 st b3 = [b4,b5]
Lemma2:
for b1, b2, b3 being set st b1 <> {} & b2 <> {} & b3 <> {} holds
for b4 being Element of [:b1,b2,b3:] ex b5 being Element of b1ex b6 being Element of b2ex b7 being Element of b3 st b4 = [b5,b6,b7]
Lemma3:
for b1, b2, b3, b4 being set st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {} holds
for b5 being Element of [:b1,b2,b3,b4:] ex b6 being Element of b1ex b7 being Element of b2ex b8 being Element of b3ex b9 being Element of b4 st b5 = [b6,b7,b8,b9]
theorem Th1: :: MCART_2:1
for
b1 being
set st
b1 <> {} holds
ex
b2 being
set st
(
b2 in b1 & ( for
b3,
b4,
b5,
b6,
b7,
b8 being
set st
b3 in b4 &
b4 in b5 &
b5 in b6 &
b6 in b7 &
b7 in b8 &
b8 in b2 holds
b3 misses b1 ) )
theorem Th2: :: MCART_2:2
for
b1 being
set st
b1 <> {} holds
ex
b2 being
set st
(
b2 in b1 & ( for
b3,
b4,
b5,
b6,
b7,
b8,
b9 being
set st
b3 in b4 &
b4 in b5 &
b5 in b6 &
b6 in b7 &
b7 in b8 &
b8 in b9 &
b9 in b2 holds
b3 misses b1 ) )
definition
let c1,
c2,
c3,
c4,
c5 be
set ;
func [c1,c2,c3,c4,c5] -> set equals :: MCART_2:def 1
[[a1,a2,a3,a4],a5];
correctness
coherence
[[c1,c2,c3,c4],c5] is set ;
;
end;
:: deftheorem Def1 defines [ MCART_2:def 1 :
for
b1,
b2,
b3,
b4,
b5 being
set holds
[b1,b2,b3,b4,b5] = [[b1,b2,b3,b4],b5];
theorem Th3: :: MCART_2:3
for
b1,
b2,
b3,
b4,
b5 being
set holds
[b1,b2,b3,b4,b5] = [[[[b1,b2],b3],b4],b5]
theorem Th4: :: MCART_2:4
canceled;
theorem Th5: :: MCART_2:5
for
b1,
b2,
b3,
b4,
b5 being
set holds
[b1,b2,b3,b4,b5] = [[b1,b2,b3],b4,b5]
theorem Th6: :: MCART_2:6
for
b1,
b2,
b3,
b4,
b5 being
set holds
[b1,b2,b3,b4,b5] = [[b1,b2],b3,b4,b5]
theorem Th7: :: MCART_2:7
for
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
b9,
b10 being
set st
[b1,b2,b3,b4,b5] = [b6,b7,b8,b9,b10] holds
(
b1 = b6 &
b2 = b7 &
b3 = b8 &
b4 = b9 &
b5 = b10 )
theorem Th8: :: MCART_2:8
for
b1 being
set st
b1 <> {} holds
ex
b2 being
set st
(
b2 in b1 & ( for
b3,
b4,
b5,
b6,
b7 being
set holds
( ( not
b3 in b1 & not
b4 in b1 ) or not
b2 = [b3,b4,b5,b6,b7] ) ) )
definition
let c1,
c2,
c3,
c4,
c5 be
set ;
func [:c1,c2,c3,c4,c5:] -> set equals :: MCART_2:def 2
[:[:a1,a2,a3,a4:],a5:];
correctness
coherence
[:[:c1,c2,c3,c4:],c5:] is set ;
;
end;
:: deftheorem Def2 defines [: MCART_2:def 2 :
for
b1,
b2,
b3,
b4,
b5 being
set holds
[:b1,b2,b3,b4,b5:] = [:[:b1,b2,b3,b4:],b5:];
theorem Th9: :: MCART_2:9
for
b1,
b2,
b3,
b4,
b5 being
set holds
[:b1,b2,b3,b4,b5:] = [:[:[:[:b1,b2:],b3:],b4:],b5:]
theorem Th10: :: MCART_2:10
canceled;
theorem Th11: :: MCART_2:11
for
b1,
b2,
b3,
b4,
b5 being
set holds
[:b1,b2,b3,b4,b5:] = [:[:b1,b2,b3:],b4,b5:]
theorem Th12: :: MCART_2:12
for
b1,
b2,
b3,
b4,
b5 being
set holds
[:b1,b2,b3,b4,b5:] = [:[:b1,b2:],b3,b4,b5:]
theorem Th13: :: MCART_2:13
theorem Th14: :: MCART_2:14
for
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
b9,
b10 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} &
[:b1,b2,b3,b4,b5:] = [:b6,b7,b8,b9,b10:] holds
(
b1 = b6 &
b2 = b7 &
b3 = b8 &
b4 = b9 &
b5 = b10 )
theorem Th15: :: MCART_2:15
for
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
b9,
b10 being
set st
[:b1,b2,b3,b4,b5:] <> {} &
[:b1,b2,b3,b4,b5:] = [:b6,b7,b8,b9,b10:] holds
(
b1 = b6 &
b2 = b7 &
b3 = b8 &
b4 = b9 &
b5 = b10 )
theorem Th16: :: MCART_2:16
for
b1,
b2 being
set st
[:b1,b1,b1,b1,b1:] = [:b2,b2,b2,b2,b2:] holds
b1 = b2
theorem Th17: :: MCART_2:17
for
b1,
b2,
b3,
b4,
b5 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} holds
for
b6 being
Element of
[:b1,b2,b3,b4,b5:] ex
b7 being
Element of
b1ex
b8 being
Element of
b2ex
b9 being
Element of
b3ex
b10 being
Element of
b4ex
b11 being
Element of
b5 st
b6 = [b7,b8,b9,b10,b11]
definition
let c1,
c2,
c3,
c4,
c5 be
set ;
assume E14:
(
c1 <> {} &
c2 <> {} &
c3 <> {} &
c4 <> {} &
c5 <> {} )
;
let c6 be
Element of
[:c1,c2,c3,c4,c5:];
func c6 `1 -> Element of
a1 means :
Def3:
:: MCART_2:def 3
for
b1,
b2,
b3,
b4,
b5 being
set st
a6 = [b1,b2,b3,b4,b5] holds
a7 = b1;
existence
ex b1 being Element of c1 st
for b2, b3, b4, b5, b6 being set st c6 = [b2,b3,b4,b5,b6] holds
b1 = b2
uniqueness
for b1, b2 being Element of c1 st ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b1 = b3 ) & ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b2 = b3 ) holds
b1 = b2
func c6 `2 -> Element of
a2 means :
Def4:
:: MCART_2:def 4
for
b1,
b2,
b3,
b4,
b5 being
set st
a6 = [b1,b2,b3,b4,b5] holds
a7 = b2;
existence
ex b1 being Element of c2 st
for b2, b3, b4, b5, b6 being set st c6 = [b2,b3,b4,b5,b6] holds
b1 = b3
uniqueness
for b1, b2 being Element of c2 st ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b1 = b4 ) & ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b2 = b4 ) holds
b1 = b2
func c6 `3 -> Element of
a3 means :
Def5:
:: MCART_2:def 5
for
b1,
b2,
b3,
b4,
b5 being
set st
a6 = [b1,b2,b3,b4,b5] holds
a7 = b3;
existence
ex b1 being Element of c3 st
for b2, b3, b4, b5, b6 being set st c6 = [b2,b3,b4,b5,b6] holds
b1 = b4
uniqueness
for b1, b2 being Element of c3 st ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b1 = b5 ) & ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b2 = b5 ) holds
b1 = b2
func c6 `4 -> Element of
a4 means :
Def6:
:: MCART_2:def 6
for
b1,
b2,
b3,
b4,
b5 being
set st
a6 = [b1,b2,b3,b4,b5] holds
a7 = b4;
existence
ex b1 being Element of c4 st
for b2, b3, b4, b5, b6 being set st c6 = [b2,b3,b4,b5,b6] holds
b1 = b5
uniqueness
for b1, b2 being Element of c4 st ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b1 = b6 ) & ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b2 = b6 ) holds
b1 = b2
func c6 `5 -> Element of
a5 means :
Def7:
:: MCART_2:def 7
for
b1,
b2,
b3,
b4,
b5 being
set st
a6 = [b1,b2,b3,b4,b5] holds
a7 = b5;
existence
ex b1 being Element of c5 st
for b2, b3, b4, b5, b6 being set st c6 = [b2,b3,b4,b5,b6] holds
b1 = b6
uniqueness
for b1, b2 being Element of c5 st ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b1 = b7 ) & ( for b3, b4, b5, b6, b7 being set st c6 = [b3,b4,b5,b6,b7] holds
b2 = b7 ) holds
b1 = b2
end;
:: deftheorem Def3 defines `1 MCART_2:def 3 :
for
b1,
b2,
b3,
b4,
b5 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} holds
for
b6 being
Element of
[:b1,b2,b3,b4,b5:] for
b7 being
Element of
b1 holds
(
b7 = b6 `1 iff for
b8,
b9,
b10,
b11,
b12 being
set st
b6 = [b8,b9,b10,b11,b12] holds
b7 = b8 );
:: deftheorem Def4 defines `2 MCART_2:def 4 :
for
b1,
b2,
b3,
b4,
b5 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} holds
for
b6 being
Element of
[:b1,b2,b3,b4,b5:] for
b7 being
Element of
b2 holds
(
b7 = b6 `2 iff for
b8,
b9,
b10,
b11,
b12 being
set st
b6 = [b8,b9,b10,b11,b12] holds
b7 = b9 );
:: deftheorem Def5 defines `3 MCART_2:def 5 :
for
b1,
b2,
b3,
b4,
b5 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} holds
for
b6 being
Element of
[:b1,b2,b3,b4,b5:] for
b7 being
Element of
b3 holds
(
b7 = b6 `3 iff for
b8,
b9,
b10,
b11,
b12 being
set st
b6 = [b8,b9,b10,b11,b12] holds
b7 = b10 );
:: deftheorem Def6 defines `4 MCART_2:def 6 :
for
b1,
b2,
b3,
b4,
b5 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} holds
for
b6 being
Element of
[:b1,b2,b3,b4,b5:] for
b7 being
Element of
b4 holds
(
b7 = b6 `4 iff for
b8,
b9,
b10,
b11,
b12 being
set st
b6 = [b8,b9,b10,b11,b12] holds
b7 = b11 );
:: deftheorem Def7 defines `5 MCART_2:def 7 :
for
b1,
b2,
b3,
b4,
b5 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} holds
for
b6 being
Element of
[:b1,b2,b3,b4,b5:] for
b7 being
Element of
b5 holds
(
b7 = b6 `5 iff for
b8,
b9,
b10,
b11,
b12 being
set st
b6 = [b8,b9,b10,b11,b12] holds
b7 = b12 );
theorem Th18: :: MCART_2:18
for
b1,
b2,
b3,
b4,
b5 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} holds
for
b6 being
Element of
[:b1,b2,b3,b4,b5:] for
b7,
b8,
b9,
b10,
b11 being
set st
b6 = [b7,b8,b9,b10,b11] holds
(
b6 `1 = b7 &
b6 `2 = b8 &
b6 `3 = b9 &
b6 `4 = b10 &
b6 `5 = b11 )
by Def3, Def4, Def5, Def6, Def7;
theorem Th19: :: MCART_2:19
for
b1,
b2,
b3,
b4,
b5 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} holds
for
b6 being
Element of
[:b1,b2,b3,b4,b5:] holds
b6 = [(b6 `1 ),(b6 `2 ),(b6 `3 ),(b6 `4 ),(b6 `5 )]
theorem Th20: :: MCART_2:20
theorem Th21: :: MCART_2:21
for
b1,
b2,
b3,
b4,
b5 being
set st (
b1 c= [:b1,b2,b3,b4,b5:] or
b1 c= [:b2,b3,b4,b5,b1:] or
b1 c= [:b3,b4,b5,b1,b2:] or
b1 c= [:b4,b5,b1,b2,b3:] or
b1 c= [:b5,b1,b2,b3,b4:] ) holds
b1 = {}
theorem Th22: :: MCART_2:22
for
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
b9,
b10 being
set st
[:b1,b2,b3,b4,b5:] meets [:b6,b7,b8,b9,b10:] holds
(
b1 meets b6 &
b2 meets b7 &
b3 meets b8 &
b4 meets b9 &
b5 meets b10 )
theorem Th23: :: MCART_2:23
for
b1,
b2,
b3,
b4,
b5 being
set holds
[:{b1},{b2},{b3},{b4},{b5}:] = {[b1,b2,b3,b4,b5]}
theorem Th24: :: MCART_2:24
for
b1,
b2,
b3,
b4,
b5 being
set for
b6 being
Element of
[:b1,b2,b3,b4,b5:] st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} holds
for
b7,
b8,
b9,
b10,
b11 being
set st
b6 = [b7,b8,b9,b10,b11] holds
(
b6 `1 = b7 &
b6 `2 = b8 &
b6 `3 = b9 &
b6 `4 = b10 &
b6 `5 = b11 )
by Def3, Def4, Def5, Def6, Def7;
theorem Th25: :: MCART_2:25
for
b1,
b2,
b3,
b4,
b5,
b6 being
set for
b7 being
Element of
[:b1,b2,b3,b4,b5:] st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} & ( for
b8 being
Element of
b1 for
b9 being
Element of
b2 for
b10 being
Element of
b3 for
b11 being
Element of
b4 for
b12 being
Element of
b5 st
b7 = [b8,b9,b10,b11,b12] holds
b6 = b8 ) holds
b6 = b7 `1
theorem Th26: :: MCART_2:26
for
b1,
b2,
b3,
b4,
b5,
b6 being
set for
b7 being
Element of
[:b1,b2,b3,b4,b5:] st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} & ( for
b8 being
Element of
b1 for
b9 being
Element of
b2 for
b10 being
Element of
b3 for
b11 being
Element of
b4 for
b12 being
Element of
b5 st
b7 = [b8,b9,b10,b11,b12] holds
b6 = b9 ) holds
b6 = b7 `2
theorem Th27: :: MCART_2:27
for
b1,
b2,
b3,
b4,
b5,
b6 being
set for
b7 being
Element of
[:b1,b2,b3,b4,b5:] st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} & ( for
b8 being
Element of
b1 for
b9 being
Element of
b2 for
b10 being
Element of
b3 for
b11 being
Element of
b4 for
b12 being
Element of
b5 st
b7 = [b8,b9,b10,b11,b12] holds
b6 = b10 ) holds
b6 = b7 `3
theorem Th28: :: MCART_2:28
for
b1,
b2,
b3,
b4,
b5,
b6 being
set for
b7 being
Element of
[:b1,b2,b3,b4,b5:] st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} & ( for
b8 being
Element of
b1 for
b9 being
Element of
b2 for
b10 being
Element of
b3 for
b11 being
Element of
b4 for
b12 being
Element of
b5 st
b7 = [b8,b9,b10,b11,b12] holds
b6 = b11 ) holds
b6 = b7 `4
theorem Th29: :: MCART_2:29
for
b1,
b2,
b3,
b4,
b5,
b6 being
set for
b7 being
Element of
[:b1,b2,b3,b4,b5:] st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} & ( for
b8 being
Element of
b1 for
b9 being
Element of
b2 for
b10 being
Element of
b3 for
b11 being
Element of
b4 for
b12 being
Element of
b5 st
b7 = [b8,b9,b10,b11,b12] holds
b6 = b12 ) holds
b6 = b7 `5
theorem Th30: :: MCART_2:30
for
b1,
b2,
b3,
b4,
b5,
b6 being
set st
b1 in [:b2,b3,b4,b5,b6:] holds
ex
b7,
b8,
b9,
b10,
b11 being
set st
(
b7 in b2 &
b8 in b3 &
b9 in b4 &
b10 in b5 &
b11 in b6 &
b1 = [b7,b8,b9,b10,b11] )
theorem Th31: :: MCART_2:31
for
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
b9,
b10 being
set holds
(
[b1,b2,b3,b4,b5] in [:b6,b7,b8,b9,b10:] iff (
b1 in b6 &
b2 in b7 &
b3 in b8 &
b4 in b9 &
b5 in b10 ) )
theorem Th32: :: MCART_2:32
for
b1,
b2,
b3,
b4,
b5,
b6 being
set st ( for
b7 being
set holds
(
b7 in b1 iff ex
b8,
b9,
b10,
b11,
b12 being
set st
(
b8 in b2 &
b9 in b3 &
b10 in b4 &
b11 in b5 &
b12 in b6 &
b7 = [b8,b9,b10,b11,b12] ) ) ) holds
b1 = [:b2,b3,b4,b5,b6:]
theorem Th33: :: MCART_2:33
for
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
b9,
b10 being
set st
b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
b5 <> {} &
b6 <> {} &
b7 <> {} &
b8 <> {} &
b9 <> {} &
b10 <> {} holds
for
b11 being
Element of
[:b1,b2,b3,b4,b5:] for
b12 being
Element of
[:b6,b7,b8,b9,b10:] st
b11 = b12 holds
(
b11 `1 = b12 `1 &
b11 `2 = b12 `2 &
b11 `3 = b12 `3 &
b11 `4 = b12 `4 &
b11 `5 = b12 `5 )
theorem Th34: :: MCART_2:34
for
b1,
b2,
b3,
b4,
b5 being
set for
b6 being
Subset of
b1 for
b7 being
Subset of
b2 for
b8 being
Subset of
b3 for
b9 being
Subset of
b4 for
b10 being
Subset of
b5 for
b11 being
Element of
[:b1,b2,b3,b4,b5:] st
b11 in [:b6,b7,b8,b9,b10:] holds
(
b11 `1 in b6 &
b11 `2 in b7 &
b11 `3 in b8 &
b11 `4 in b9 &
b11 `5 in b10 )
theorem Th35: :: MCART_2:35
for
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
b9,
b10 being
set st
b1 c= b2 &
b3 c= b4 &
b5 c= b6 &
b7 c= b8 &
b9 c= b10 holds
[:b1,b3,b5,b7,b9:] c= [:b2,b4,b6,b8,b10:]
definition
let c1,
c2,
c3,
c4,
c5 be
set ;
let c6 be
Subset of
c1;
let c7 be
Subset of
c2;
let c8 be
Subset of
c3;
let c9 be
Subset of
c4;
let c10 be
Subset of
c5;
redefine func [: as
[:c6,c7,c8,c9,c10:] -> Subset of
[:a1,a2,a3,a4,a5:];
coherence
[:c6,c7,c8,c9,c10:] is Subset of [:c1,c2,c3,c4,c5:]
by Th35;
end;
theorem Th36: :: MCART_2:36
theorem Th37: :: MCART_2:37
theorem Th38: :: MCART_2:38