Article MCART_1, MML version 4.99.1005
:: MCART_1:th 1
theorem
for b1 being set
st b1 <> {}
holds ex b2 being set st
b2 in b1 & b2 misses b1;
:: MCART_1:th 2
theorem
for b1 being set
st b1 <> {}
holds ex b2 being set st
b2 in b1 &
(for b3 being set
st b3 in b2
holds b3 misses b1);
:: MCART_1:th 3
theorem
for b1 being set
st b1 <> {}
holds ex b2 being set st
b2 in b1 &
(for b3, b4 being set
st b3 in b4 & b4 in b2
holds b3 misses b1);
:: MCART_1:th 4
theorem
for b1 being set
st b1 <> {}
holds ex b2 being set st
b2 in b1 &
(for b3, b4, b5 being set
st b3 in b4 & b4 in b5 & b5 in b2
holds b3 misses b1);
:: MCART_1:th 5
theorem
for b1 being set
st b1 <> {}
holds ex b2 being set st
b2 in b1 &
(for b3, b4, b5, b6 being set
st b3 in b4 & b4 in b5 & b5 in b6 & b6 in b2
holds b3 misses b1);
:: MCART_1:th 6
theorem
for b1 being set
st b1 <> {}
holds ex b2 being set st
b2 in b1 &
(for b3, b4, b5, b6, b7 being set
st b3 in b4 & b4 in b5 & b5 in b6 & b6 in b7 & b7 in b2
holds b3 misses b1);
:: MCART_1:funcnot 1 => MCART_1:func 1
definition
let a1 be set;
assume ex b1, b2 being set st
a1 = [b1,b2];
func A1 `1 -> set means
for b1, b2 being set
st a1 = [b1,b2]
holds it = b1;
end;
:: MCART_1:def 1
theorem
for b1 being set
st ex b2, b3 being set st
b1 = [b2,b3]
for b2 being set holds
b2 = b1 `1
iff
for b3, b4 being set
st b1 = [b3,b4]
holds b2 = b3;
:: MCART_1:funcnot 2 => MCART_1:func 2
definition
let a1 be set;
assume ex b1, b2 being set st
a1 = [b1,b2];
func A1 `2 -> set means
for b1, b2 being set
st a1 = [b1,b2]
holds it = b2;
end;
:: MCART_1:def 2
theorem
for b1 being set
st ex b2, b3 being set st
b1 = [b2,b3]
for b2 being set holds
b2 = b1 `2
iff
for b3, b4 being set
st b1 = [b3,b4]
holds b2 = b4;
:: MCART_1:th 7
theorem
for b1, b2 being set holds
[b1,b2] `1 = b1 & [b1,b2] `2 = b2;
:: MCART_1:th 8
theorem
for b1 being set
st ex b2, b3 being set st
b1 = [b2,b3]
holds [b1 `1,b1 `2] = b1;
:: MCART_1:th 9
theorem
for b1 being set
st b1 <> {}
holds ex b2 being set st
b2 in b1 &
(for b3, b4 being set
st (b3 in b1 or b4 in b1)
holds b2 <> [b3,b4]);
:: MCART_1:th 10
theorem
for b1, b2, b3 being set
st b1 in [:b2,b3:]
holds b1 `1 in b2 & b1 `2 in b3;
:: MCART_1:th 11
theorem
for b1, b2, b3 being set
st (ex b4, b5 being set st
b1 = [b4,b5]) &
b1 `1 in b2 &
b1 `2 in b3
holds b1 in [:b2,b3:];
:: MCART_1:th 12
theorem
for b1, b2, b3 being set
st b1 in [:{b2},b3:]
holds b1 `1 = b2 & b1 `2 in b3;
:: MCART_1:th 13
theorem
for b1, b2, b3 being set
st b1 in [:b2,{b3}:]
holds b1 `1 in b2 & b1 `2 = b3;
:: MCART_1:th 14
theorem
for b1, b2, b3 being set
st b1 in [:{b2},{b3}:]
holds b1 `1 = b2 & b1 `2 = b3;
:: MCART_1:th 15
theorem
for b1, b2, b3, b4 being set
st b1 in [:{b2,b3},b4:]
holds (b1 `1 = b2 or b1 `1 = b3) & b1 `2 in b4;
:: MCART_1:th 16
theorem
for b1, b2, b3, b4 being set
st b1 in [:b2,{b3,b4}:]
holds b1 `1 in b2 & (b1 `2 = b3 or b1 `2 = b4);
:: MCART_1:th 17
theorem
for b1, b2, b3, b4 being set
st b1 in [:{b2,b3},{b4}:]
holds (b1 `1 = b2 or b1 `1 = b3) & b1 `2 = b4;
:: MCART_1:th 18
theorem
for b1, b2, b3, b4 being set
st b1 in [:{b2},{b3,b4}:]
holds b1 `1 = b2 & (b1 `2 = b3 or b1 `2 = b4);
:: MCART_1:th 19
theorem
for b1, b2, b3, b4, b5 being set
st b1 in [:{b2,b3},{b4,b5}:]
holds (b1 `1 = b2 or b1 `1 = b3) & (b1 `2 = b4 or b1 `2 = b5);
:: MCART_1:th 20
theorem
for b1 being set
st ex b2, b3 being set st
b1 = [b2,b3]
holds b1 <> b1 `1 & b1 <> b1 `2;
:: MCART_1:th 23
theorem
for b1, b2, b3 being set
st b1 in [:b2,b3:]
holds b1 = [b1 `1,b1 `2];
:: MCART_1:th 24
theorem
for b1, b2 being set
st b1 <> {} & b2 <> {}
for b3 being Element of [:b1,b2:] holds
b3 = [b3 `1,b3 `2];
:: MCART_1:th 25
theorem
for b1, b2, b3, b4 being set holds
[:{b1,b2},{b3,b4}:] = {[b1,b3],[b1,b4],[b2,b3],[b2,b4]};
:: MCART_1:th 26
theorem
for b1, b2 being set
st b1 <> {} & b2 <> {}
for b3 being Element of [:b1,b2:] holds
b3 <> b3 `1 & b3 <> b3 `2;
:: MCART_1:funcnot 3 => MCART_1:func 3
definition
let a1, a2, a3 be set;
func [A1,A2,A3] -> set equals
[[a1,a2],a3];
end;
:: MCART_1:def 3
theorem
for b1, b2, b3 being set holds
[b1,b2,b3] = [[b1,b2],b3];
:: MCART_1:th 28
theorem
for b1, b2, b3, b4, b5, b6 being set
st [b1,b2,b3] = [b4,b5,b6]
holds b1 = b4 & b2 = b5 & b3 = b6;
:: MCART_1:th 29
theorem
for b1 being set
st b1 <> {}
holds ex b2 being set st
b2 in b1 &
(for b3, b4, b5 being set
st (b3 in b1 or b4 in b1)
holds b2 <> [b3,b4,b5]);
:: MCART_1:funcnot 4 => MCART_1:func 4
definition
let a1, a2, a3, a4 be set;
func [A1,A2,A3,A4] -> set equals
[[a1,a2,a3],a4];
end;
:: MCART_1:def 4
theorem
for b1, b2, b3, b4 being set holds
[b1,b2,b3,b4] = [[b1,b2,b3],b4];
:: MCART_1:th 31
theorem
for b1, b2, b3, b4 being set holds
[b1,b2,b3,b4] = [[[b1,b2],b3],b4];
:: MCART_1:th 32
theorem
for b1, b2, b3, b4 being set holds
[b1,b2,b3,b4] = [[b1,b2],b3,b4];
:: MCART_1:th 33
theorem
for b1, b2, b3, b4, b5, b6, b7, b8 being set
st [b1,b2,b3,b4] = [b5,b6,b7,b8]
holds b1 = b5 & b2 = b6 & b3 = b7 & b4 = b8;
:: MCART_1:th 34
theorem
for b1 being set
st b1 <> {}
holds ex b2 being set st
b2 in b1 &
(for b3, b4, b5, b6 being set
st (b3 in b1 or b4 in b1)
holds b2 <> [b3,b4,b5,b6]);
:: MCART_1:th 35
theorem
for b1, b2, b3 being set holds
b1 <> {} & b2 <> {} & b3 <> {}
iff
[:b1,b2,b3:] <> {};
:: MCART_1:th 36
theorem
for b1, b2, b3, b4, b5, b6 being set
st b1 <> {} &
b2 <> {} &
b3 <> {} &
[:b1,b2,b3:] = [:b4,b5,b6:]
holds b1 = b4 & b2 = b5 & b3 = b6;
:: MCART_1:th 37
theorem
for b1, b2, b3, b4, b5, b6 being set
st [:b1,b2,b3:] <> {} &
[:b1,b2,b3:] = [:b4,b5,b6:]
holds b1 = b4 & b2 = b5 & b3 = b6;
:: MCART_1:th 38
theorem
for b1, b2 being set
st [:b1,b1,b1:] = [:b2,b2,b2:]
holds b1 = b2;
:: MCART_1:th 39
theorem
for b1, b2, b3 being set holds
[:{b1},{b2},{b3}:] = {[b1,b2,b3]};
:: MCART_1:th 40
theorem
for b1, b2, b3, b4 being set holds
[:{b1,b2},{b3},{b4}:] = {[b1,b3,b4],[b2,b3,b4]};
:: MCART_1:th 41
theorem
for b1, b2, b3, b4 being set holds
[:{b1},{b2,b3},{b4}:] = {[b1,b2,b4],[b1,b3,b4]};
:: MCART_1:th 42
theorem
for b1, b2, b3, b4 being set holds
[:{b1},{b2},{b3,b4}:] = {[b1,b2,b3],[b1,b2,b4]};
:: MCART_1:th 43
theorem
for b1, b2, b3, b4, b5 being set holds
[:{b1,b2},{b3,b4},{b5}:] = {[b1,b3,b5],[b2,b3,b5],[b1,b4,b5],[b2,b4,b5]};
:: MCART_1:th 44
theorem
for b1, b2, b3, b4, b5 being set holds
[:{b1,b2},{b3},{b4,b5}:] = {[b1,b3,b4],[b2,b3,b4],[b1,b3,b5],[b2,b3,b5]};
:: MCART_1:th 45
theorem
for b1, b2, b3, b4, b5 being set holds
[:{b1},{b2,b3},{b4,b5}:] = {[b1,b2,b4],[b1,b3,b4],[b1,b2,b5],[b1,b3,b5]};
:: MCART_1:th 46
theorem
for b1, b2, b3, b4, b5, b6 being set holds
[:{b1,b2},{b3,b4},{b5,b6}:] = {[b1,b3,b5],[b1,b4,b5],[b1,b3,b6],[b1,b4,b6],[b2,b3,b5],[b2,b4,b5],[b2,b3,b6],[b2,b4,b6]};
:: MCART_1:funcnot 5 => MCART_1:func 5
definition
let a1, a2, a3 be set;
let a4 be Element of [:a1,a2,a3:];
assume a1 <> {} & a2 <> {} & a3 <> {};
func A4 `1 -> Element of a1 means
for b1, b2, b3 being set
st a4 = [b1,b2,b3]
holds it = b1;
end;
:: MCART_1:def 5
theorem
for b1, b2, b3 being set
st b1 <> {} & b2 <> {} & b3 <> {}
for b4 being Element of [:b1,b2,b3:]
for b5 being Element of b1 holds
b5 = b4 `1
iff
for b6, b7, b8 being set
st b4 = [b6,b7,b8]
holds b5 = b6;
:: MCART_1:funcnot 6 => MCART_1:func 6
definition
let a1, a2, a3 be set;
let a4 be Element of [:a1,a2,a3:];
assume a1 <> {} & a2 <> {} & a3 <> {};
func A4 `2 -> Element of a2 means
for b1, b2, b3 being set
st a4 = [b1,b2,b3]
holds it = b2;
end;
:: MCART_1:def 6
theorem
for b1, b2, b3 being set
st b1 <> {} & b2 <> {} & b3 <> {}
for b4 being Element of [:b1,b2,b3:]
for b5 being Element of b2 holds
b5 = b4 `2
iff
for b6, b7, b8 being set
st b4 = [b6,b7,b8]
holds b5 = b7;
:: MCART_1:funcnot 7 => MCART_1:func 7
definition
let a1, a2, a3 be set;
let a4 be Element of [:a1,a2,a3:];
assume a1 <> {} & a2 <> {} & a3 <> {};
func A4 `3 -> Element of a3 means
for b1, b2, b3 being set
st a4 = [b1,b2,b3]
holds it = b3;
end;
:: MCART_1:def 7
theorem
for b1, b2, b3 being set
st b1 <> {} & b2 <> {} & b3 <> {}
for b4 being Element of [:b1,b2,b3:]
for b5 being Element of b3 holds
b5 = b4 `3
iff
for b6, b7, b8 being set
st b4 = [b6,b7,b8]
holds b5 = b8;
:: MCART_1:th 47
theorem
for b1, b2, b3 being set
st b1 <> {} & b2 <> {} & b3 <> {}
for b4 being Element of [:b1,b2,b3:]
for b5, b6, b7 being set
st b4 = [b5,b6,b7]
holds b4 `1 = b5 & b4 `2 = b6 & b4 `3 = b7;
:: MCART_1:th 48
theorem
for b1, b2, b3 being set
st b1 <> {} & b2 <> {} & b3 <> {}
for b4 being Element of [:b1,b2,b3:] holds
b4 = [b4 `1,b4 `2,b4 `3];
:: MCART_1:th 49
theorem
for b1, b2, b3 being set
st (not b1 c= [:b1,b2,b3:] & not b1 c= [:b2,b3,b1:] implies b1 c= [:b3,b1,b2:])
holds b1 = {};
:: MCART_1:th 50
theorem
for b1, b2, b3 being set
st b1 <> {} & b2 <> {} & b3 <> {}
for b4 being Element of [:b1,b2,b3:] holds
b4 `1 = b4 `1 `1 & b4 `2 = b4 `1 `2 & b4 `3 = b4 `2;
:: MCART_1:th 51
theorem
for b1, b2, b3 being set
st b1 <> {} & b2 <> {} & b3 <> {}
for b4 being Element of [:b1,b2,b3:] holds
b4 <> b4 `1 & b4 <> b4 `2 & b4 <> b4 `3;
:: MCART_1:th 52
theorem
for b1, b2, b3, b4, b5, b6 being set
st [:b1,b2,b3:] meets [:b4,b5,b6:]
holds b1 meets b4 & b2 meets b5 & b3 meets b6;
:: MCART_1:th 53
theorem
for b1, b2, b3, b4 being set holds
[:b1,b2,b3,b4:] = [:[:[:b1,b2:],b3:],b4:];
:: MCART_1:th 54
theorem
for b1, b2, b3, b4 being set holds
[:[:b1,b2:],b3,b4:] = [:b1,b2,b3,b4:];
:: MCART_1:th 55
theorem
for b1, b2, b3, b4 being set holds
b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
iff
[:b1,b2,b3,b4:] <> {};
:: MCART_1:th 56
theorem
for b1, b2, b3, b4, b5, b6, b7, b8 being set
st b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
[:b1,b2,b3,b4:] = [:b5,b6,b7,b8:]
holds b1 = b5 & b2 = b6 & b3 = b7 & b4 = b8;
:: MCART_1:th 57
theorem
for b1, b2, b3, b4, b5, b6, b7, b8 being set
st [:b1,b2,b3,b4:] <> {} &
[:b1,b2,b3,b4:] = [:b5,b6,b7,b8:]
holds b1 = b5 & b2 = b6 & b3 = b7 & b4 = b8;
:: MCART_1:th 58
theorem
for b1, b2 being set
st [:b1,b1,b1,b1:] = [:b2,b2,b2,b2:]
holds b1 = b2;
:: MCART_1:funcnot 8 => MCART_1:func 8
definition
let a1, a2, a3, a4 be set;
let a5 be Element of [:a1,a2,a3,a4:];
assume a1 <> {} & a2 <> {} & a3 <> {} & a4 <> {};
func A5 `1 -> Element of a1 means
for b1, b2, b3, b4 being set
st a5 = [b1,b2,b3,b4]
holds it = b1;
end;
:: MCART_1:def 8
theorem
for b1, b2, b3, b4 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
for b5 being Element of [:b1,b2,b3,b4:]
for b6 being Element of b1 holds
b6 = b5 `1
iff
for b7, b8, b9, b10 being set
st b5 = [b7,b8,b9,b10]
holds b6 = b7;
:: MCART_1:funcnot 9 => MCART_1:func 9
definition
let a1, a2, a3, a4 be set;
let a5 be Element of [:a1,a2,a3,a4:];
assume a1 <> {} & a2 <> {} & a3 <> {} & a4 <> {};
func A5 `2 -> Element of a2 means
for b1, b2, b3, b4 being set
st a5 = [b1,b2,b3,b4]
holds it = b2;
end;
:: MCART_1:def 9
theorem
for b1, b2, b3, b4 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
for b5 being Element of [:b1,b2,b3,b4:]
for b6 being Element of b2 holds
b6 = b5 `2
iff
for b7, b8, b9, b10 being set
st b5 = [b7,b8,b9,b10]
holds b6 = b8;
:: MCART_1:funcnot 10 => MCART_1:func 10
definition
let a1, a2, a3, a4 be set;
let a5 be Element of [:a1,a2,a3,a4:];
assume a1 <> {} & a2 <> {} & a3 <> {} & a4 <> {};
func A5 `3 -> Element of a3 means
for b1, b2, b3, b4 being set
st a5 = [b1,b2,b3,b4]
holds it = b3;
end;
:: MCART_1:def 10
theorem
for b1, b2, b3, b4 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
for b5 being Element of [:b1,b2,b3,b4:]
for b6 being Element of b3 holds
b6 = b5 `3
iff
for b7, b8, b9, b10 being set
st b5 = [b7,b8,b9,b10]
holds b6 = b9;
:: MCART_1:funcnot 11 => MCART_1:func 11
definition
let a1, a2, a3, a4 be set;
let a5 be Element of [:a1,a2,a3,a4:];
assume a1 <> {} & a2 <> {} & a3 <> {} & a4 <> {};
func A5 `4 -> Element of a4 means
for b1, b2, b3, b4 being set
st a5 = [b1,b2,b3,b4]
holds it = b4;
end;
:: MCART_1:def 11
theorem
for b1, b2, b3, b4 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
for b5 being Element of [:b1,b2,b3,b4:]
for b6 being Element of b4 holds
b6 = b5 `4
iff
for b7, b8, b9, b10 being set
st b5 = [b7,b8,b9,b10]
holds b6 = b10;
:: MCART_1:th 59
theorem
for b1, b2, b3, b4 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
for b5 being Element of [:b1,b2,b3,b4:]
for b6, b7, b8, b9 being set
st b5 = [b6,b7,b8,b9]
holds b5 `1 = b6 & b5 `2 = b7 & b5 `3 = b8 & b5 `4 = b9;
:: MCART_1:th 60
theorem
for b1, b2, b3, b4 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
for b5 being Element of [:b1,b2,b3,b4:] holds
b5 = [b5 `1,b5 `2,b5 `3,b5 `4];
:: MCART_1:th 61
theorem
for b1, b2, b3, b4 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
for b5 being Element of [:b1,b2,b3,b4:] holds
b5 `1 = b5 `1 `1 `1 & b5 `2 = b5 `1 `1 `2 & b5 `3 = b5 `1 `2 & b5 `4 = b5 `2;
:: MCART_1:th 62
theorem
for b1, b2, b3, b4 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
for b5 being Element of [:b1,b2,b3,b4:] holds
b5 <> b5 `1 & b5 <> b5 `2 & b5 <> b5 `3 & b5 <> b5 `4;
:: MCART_1:th 63
theorem
for b1, b2, b3, b4 being set
st (not b1 c= [:b1,b2,b3,b4:] & not b1 c= [:b2,b3,b4,b1:] & not b1 c= [:b3,b4,b1,b2:] implies b1 c= [:b4,b1,b2,b3:])
holds b1 = {};
:: MCART_1:th 64
theorem
for b1, b2, b3, b4, b5, b6, b7, b8 being set
st [:b1,b2,b3,b4:] meets [:b5,b6,b7,b8:]
holds b1 meets b5 & b2 meets b6 & b3 meets b7 & b4 meets b8;
:: MCART_1:th 65
theorem
for b1, b2, b3, b4 being set holds
[:{b1},{b2},{b3},{b4}:] = {[b1,b2,b3,b4]};
:: MCART_1:th 66
theorem
for b1, b2 being set
st [:b1,b2:] <> {}
for b3 being Element of [:b1,b2:] holds
b3 <> b3 `1 & b3 <> b3 `2;
:: MCART_1:th 67
theorem
for b1, b2, b3 being set
st b1 in [:b2,b3:]
holds b1 <> b1 `1 & b1 <> b1 `2;
:: MCART_1:th 68
theorem
for b1, b2, b3 being set
for b4 being Element of [:b1,b2,b3:]
st b1 <> {} & b2 <> {} & b3 <> {}
for b5, b6, b7 being set
st b4 = [b5,b6,b7]
holds b4 `1 = b5 & b4 `2 = b6 & b4 `3 = b7;
:: MCART_1:th 69
theorem
for b1, b2, b3, b4 being set
for b5 being Element of [:b1,b2,b3:]
st b1 <> {} &
b2 <> {} &
b3 <> {} &
(for b6 being Element of b1
for b7 being Element of b2
for b8 being Element of b3
st b5 = [b6,b7,b8]
holds b4 = b6)
holds b4 = b5 `1;
:: MCART_1:th 70
theorem
for b1, b2, b3, b4 being set
for b5 being Element of [:b1,b2,b3:]
st b1 <> {} &
b2 <> {} &
b3 <> {} &
(for b6 being Element of b1
for b7 being Element of b2
for b8 being Element of b3
st b5 = [b6,b7,b8]
holds b4 = b7)
holds b4 = b5 `2;
:: MCART_1:th 71
theorem
for b1, b2, b3, b4 being set
for b5 being Element of [:b1,b2,b3:]
st b1 <> {} &
b2 <> {} &
b3 <> {} &
(for b6 being Element of b1
for b7 being Element of b2
for b8 being Element of b3
st b5 = [b6,b7,b8]
holds b4 = b8)
holds b4 = b5 `3;
:: MCART_1:th 72
theorem
for b1, b2, b3, b4 being set
st b1 in [:b2,b3,b4:]
holds ex b5, b6, b7 being set st
b5 in b2 & b6 in b3 & b7 in b4 & b1 = [b5,b6,b7];
:: MCART_1:th 73
theorem
for b1, b2, b3, b4, b5, b6 being set holds
[b1,b2,b3] in [:b4,b5,b6:]
iff
b1 in b4 & b2 in b5 & b3 in b6;
:: MCART_1:th 74
theorem
for b1, b2, b3, b4 being set
st for b5 being set holds
b5 in b1
iff
ex b6, b7, b8 being set st
b6 in b2 & b7 in b3 & b8 in b4 & b5 = [b6,b7,b8]
holds b1 = [:b2,b3,b4:];
:: MCART_1:th 75
theorem
for b1, b2, b3, b4, b5, b6 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {} & b5 <> {} & b6 <> {}
for b7 being Element of [:b1,b2,b3:]
for b8 being Element of [:b4,b5,b6:]
st b7 = b8
holds b7 `1 = b8 `1 & b7 `2 = b8 `2 & b7 `3 = b8 `3;
:: MCART_1:th 76
theorem
for b1, b2, b3 being set
for b4 being Element of bool b1
for b5 being Element of bool b2
for b6 being Element of bool b3
for b7 being Element of [:b1,b2,b3:]
st b7 in [:b4,b5,b6:]
holds b7 `1 in b4 & b7 `2 in b5 & b7 `3 in b6;
:: MCART_1:th 77
theorem
for b1, b2, b3, b4, b5, b6 being set
st b1 c= b2 & b3 c= b4 & b5 c= b6
holds [:b1,b3,b5:] c= [:b2,b4,b6:];
:: MCART_1:th 78
theorem
for b1, b2, b3, b4 being set
for b5 being Element of [:b1,b2,b3,b4:]
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {}
for b6, b7, b8, b9 being set
st b5 = [b6,b7,b8,b9]
holds b5 `1 = b6 & b5 `2 = b7 & b5 `3 = b8 & b5 `4 = b9;
:: MCART_1:th 79
theorem
for b1, b2, b3, b4, b5 being set
for b6 being Element of [:b1,b2,b3,b4:]
st b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
(for b7 being Element of b1
for b8 being Element of b2
for b9 being Element of b3
for b10 being Element of b4
st b6 = [b7,b8,b9,b10]
holds b5 = b7)
holds b5 = b6 `1;
:: MCART_1:th 80
theorem
for b1, b2, b3, b4, b5 being set
for b6 being Element of [:b1,b2,b3,b4:]
st b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
(for b7 being Element of b1
for b8 being Element of b2
for b9 being Element of b3
for b10 being Element of b4
st b6 = [b7,b8,b9,b10]
holds b5 = b8)
holds b5 = b6 `2;
:: MCART_1:th 81
theorem
for b1, b2, b3, b4, b5 being set
for b6 being Element of [:b1,b2,b3,b4:]
st b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
(for b7 being Element of b1
for b8 being Element of b2
for b9 being Element of b3
for b10 being Element of b4
st b6 = [b7,b8,b9,b10]
holds b5 = b9)
holds b5 = b6 `3;
:: MCART_1:th 82
theorem
for b1, b2, b3, b4, b5 being set
for b6 being Element of [:b1,b2,b3,b4:]
st b1 <> {} &
b2 <> {} &
b3 <> {} &
b4 <> {} &
(for b7 being Element of b1
for b8 being Element of b2
for b9 being Element of b3
for b10 being Element of b4
st b6 = [b7,b8,b9,b10]
holds b5 = b10)
holds b5 = b6 `4;
:: MCART_1:th 83
theorem
for b1, b2, b3, b4, b5 being set
st b1 in [:b2,b3,b4,b5:]
holds ex b6, b7, b8, b9 being set st
b6 in b2 & b7 in b3 & b8 in b4 & b9 in b5 & b1 = [b6,b7,b8,b9];
:: MCART_1:th 84
theorem
for b1, b2, b3, b4, b5, b6, b7, b8 being set holds
[b1,b2,b3,b4] in [:b5,b6,b7,b8:]
iff
b1 in b5 & b2 in b6 & b3 in b7 & b4 in b8;
:: MCART_1:th 85
theorem
for b1, b2, b3, b4, b5 being set
st for b6 being set holds
b6 in b1
iff
ex b7, b8, b9, b10 being set st
b7 in b2 & b8 in b3 & b9 in b4 & b10 in b5 & b6 = [b7,b8,b9,b10]
holds b1 = [:b2,b3,b4,b5:];
:: MCART_1:th 86
theorem
for b1, b2, b3, b4, b5, b6, b7, b8 being set
st b1 <> {} & b2 <> {} & b3 <> {} & b4 <> {} & b5 <> {} & b6 <> {} & b7 <> {} & b8 <> {}
for b9 being Element of [:b1,b2,b3,b4:]
for b10 being Element of [:b5,b6,b7,b8:]
st b9 = b10
holds b9 `1 = b10 `1 & b9 `2 = b10 `2 & b9 `3 = b10 `3 & b9 `4 = b10 `4;
:: MCART_1:th 87
theorem
for b1, b2, b3, b4 being set
for b5 being Element of bool b1
for b6 being Element of bool b2
for b7 being Element of bool b3
for b8 being Element of bool b4
for b9 being Element of [:b1,b2,b3,b4:]
st b9 in [:b5,b6,b7,b8:]
holds b9 `1 in b5 & b9 `2 in b6 & b9 `3 in b7 & b9 `4 in b8;
:: MCART_1:th 88
theorem
for b1, b2, b3, b4, b5, b6, b7, b8 being set
st b1 c= b2 & b3 c= b4 & b5 c= b6 & b7 c= b8
holds [:b1,b3,b5,b7:] c= [:b2,b4,b6,b8:];
:: MCART_1:funcnot 12 => MCART_1:func 12
definition
let a1, a2 be set;
let a3 be Element of bool a1;
let a4 be Element of bool a2;
redefine func [:a3, a4:] -> Element of bool [:a1,a2:];
end;
:: MCART_1:funcnot 13 => MCART_1:func 13
definition
let a1, a2, a3 be set;
let a4 be Element of bool a1;
let a5 be Element of bool a2;
let a6 be Element of bool a3;
redefine func [:a4, a5, a6:] -> Element of bool [:a1,a2,a3:];
end;
:: MCART_1:funcnot 14 => MCART_1:func 14
definition
let a1, a2, a3, a4 be set;
let a5 be Element of bool a1;
let a6 be Element of bool a2;
let a7 be Element of bool a3;
let a8 be Element of bool a4;
redefine func [:a5, a6, a7, a8:] -> Element of bool [:a1,a2,a3,a4:];
end;
:: MCART_1:funcnot 15 => MCART_1:func 15
definition
let a1 be Relation-like Function-like set;
func pr1 A1 -> Relation-like Function-like set means
proj1 it = proj1 a1 &
(for b1 being set
st b1 in proj1 a1
holds it . b1 = (a1 . b1) `1);
end;
:: MCART_1:def 12
theorem
for b1, b2 being Relation-like Function-like set holds
b2 = pr1 b1
iff
proj1 b2 = proj1 b1 &
(for b3 being set
st b3 in proj1 b1
holds b2 . b3 = (b1 . b3) `1);
:: MCART_1:funcnot 16 => MCART_1:func 16
definition
let a1 be Relation-like Function-like set;
func pr2 A1 -> Relation-like Function-like set means
proj1 it = proj1 a1 &
(for b1 being set
st b1 in proj1 a1
holds it . b1 = (a1 . b1) `2);
end;
:: MCART_1:def 13
theorem
for b1, b2 being Relation-like Function-like set holds
b2 = pr2 b1
iff
proj1 b2 = proj1 b1 &
(for b3 being set
st b3 in proj1 b1
holds b2 . b3 = (b1 . b3) `2);
:: MCART_1:funcnot 17 => MCART_1:func 17
definition
let a1 be set;
func A1 `11 -> set equals
a1 `1 `1;
end;
:: MCART_1:def 14
theorem
for b1 being set holds
b1 `11 = b1 `1 `1;
:: MCART_1:funcnot 18 => MCART_1:func 18
definition
let a1 be set;
func A1 `12 -> set equals
a1 `1 `2;
end;
:: MCART_1:def 15
theorem
for b1 being set holds
b1 `12 = b1 `1 `2;
:: MCART_1:funcnot 19 => MCART_1:func 19
definition
let a1 be set;
func A1 `21 -> set equals
a1 `2 `1;
end;
:: MCART_1:def 16
theorem
for b1 being set holds
b1 `21 = b1 `2 `1;
:: MCART_1:funcnot 20 => MCART_1:func 20
definition
let a1 be set;
func A1 `22 -> set equals
a1 `2 `2;
end;
:: MCART_1:def 17
theorem
for b1 being set holds
b1 `22 = b1 `2 `2;
:: MCART_1:th 89
theorem
for b1, b2, b3, b4, b5, b6 being set holds
[[b1,b2],b3] `11 = b1 &
[[b1,b2],b3] `12 = b2 &
[b6,[b4,b5]] `21 = b4 &
[b6,[b4,b5]] `22 = b5;
:: MCART_1:th 90
theorem
for b1 being set
for b2 being Relation-like set
st b1 in b2
holds b1 = [b1 `1,b1 `2];
:: MCART_1:th 91
theorem
for b1 being set
for b2 being Relation-like set
st b1 in b2
holds b1 `1 in proj1 b2 & b1 `2 in proj2 b2;