Article ORDINAL3, MML version 4.99.1005
:: ORDINAL3:th 1
theorem
for b1 being set holds
b1 c= succ b1;
:: ORDINAL3:th 2
theorem
for b1, b2 being set
st succ b1 c= b2
holds b1 c= b2;
:: ORDINAL3:th 5
theorem
for b1, b2 being ordinal set holds
b1 in b2
iff
succ b1 in succ b2;
:: ORDINAL3:th 6
theorem
for b1 being ordinal set
for b2 being set
st b2 c= b1
holds union b2 is ordinal set;
:: ORDINAL3:th 7
theorem
for b1 being set holds
union On b1 is ordinal set;
:: ORDINAL3:th 8
theorem
for b1 being ordinal set
for b2 being set
st b2 c= b1
holds On b2 = b2;
:: ORDINAL3:th 9
theorem
for b1 being ordinal set holds
On {b1} = {b1};
:: ORDINAL3:th 10
theorem
for b1 being ordinal set
st b1 <> {}
holds {} in b1;
:: ORDINAL3:th 11
theorem
for b1 being ordinal set holds
inf b1 = {};
:: ORDINAL3:th 12
theorem
for b1 being ordinal set holds
inf {b1} = b1;
:: ORDINAL3:th 13
theorem
for b1 being ordinal set
for b2 being set
st b2 c= b1
holds meet b2 is ordinal set;
:: ORDINAL3:funcreg 1
registration
let a1, a2 be ordinal set;
cluster a1 \/ a2 -> ordinal;
end;
:: ORDINAL3:funcreg 2
registration
let a1, a2 be ordinal set;
cluster a1 /\ a2 -> ordinal;
end;
:: ORDINAL3:th 15
theorem
for b1, b2 being ordinal set
st b1 \/ b2 <> b1
holds b1 \/ b2 = b2;
:: ORDINAL3:th 16
theorem
for b1, b2 being ordinal set
st b1 /\ b2 <> b1
holds b1 /\ b2 = b2;
:: ORDINAL3:th 17
theorem
for b1 being ordinal set
st b1 in 1
holds b1 = {};
:: ORDINAL3:th 18
theorem
1 = {{}};
:: ORDINAL3:th 19
theorem
for b1 being ordinal set
st b1 c= 1 & b1 <> {}
holds b1 = 1;
:: ORDINAL3:th 20
theorem
for b1, b2, b3, b4 being ordinal set
st (b1 c= b2 or b1 in b2) & b3 in b4
holds b1 +^ b3 in b2 +^ b4;
:: ORDINAL3:th 21
theorem
for b1, b2, b3, b4 being ordinal set
st b1 c= b2 & b3 c= b4
holds b1 +^ b3 c= b2 +^ b4;
:: ORDINAL3:th 22
theorem
for b1, b2, b3, b4 being ordinal set
st b1 in b2 & (b3 c= b4 & b4 <> {} or b3 in b4)
holds b1 *^ b3 in b2 *^ b4;
:: ORDINAL3:th 23
theorem
for b1, b2, b3, b4 being ordinal set
st b1 c= b2 & b3 c= b4
holds b1 *^ b3 c= b2 *^ b4;
:: ORDINAL3:th 24
theorem
for b1, b2, b3 being ordinal set
st b1 +^ b2 = b1 +^ b3
holds b2 = b3;
:: ORDINAL3:th 25
theorem
for b1, b2, b3 being ordinal set
st b1 +^ b2 in b1 +^ b3
holds b2 in b3;
:: ORDINAL3:th 26
theorem
for b1, b2, b3 being ordinal set
st b1 +^ b2 c= b1 +^ b3
holds b2 c= b3;
:: ORDINAL3:th 27
theorem
for b1, b2 being ordinal set holds
b1 c= b1 +^ b2 & b2 c= b1 +^ b2;
:: ORDINAL3:th 28
theorem
for b1, b2, b3 being ordinal set
st b1 in b2
holds b1 in b2 +^ b3 & b1 in b3 +^ b2;
:: ORDINAL3:th 29
theorem
for b1, b2 being ordinal set
st b1 +^ b2 = {}
holds b1 = {} & b2 = {};
:: ORDINAL3:th 30
theorem
for b1, b2 being ordinal set
st b1 c= b2
holds ex b3 being ordinal set st
b2 = b1 +^ b3;
:: ORDINAL3:th 31
theorem
for b1, b2 being ordinal set
st b1 in b2
holds ex b3 being ordinal set st
b2 = b1 +^ b3 & b3 <> {};
:: ORDINAL3:th 32
theorem
for b1, b2 being ordinal set
st b1 <> {} & b1 is being_limit_ordinal
holds b2 +^ b1 is being_limit_ordinal;
:: ORDINAL3:th 33
theorem
for b1, b2, b3 being ordinal set holds
(b1 +^ b2) +^ b3 = b1 +^ (b2 +^ b3);
:: ORDINAL3:th 34
theorem
for b1, b2 being ordinal set
st b1 *^ b2 = {} & b1 <> {}
holds b2 = {};
:: ORDINAL3:th 35
theorem
for b1, b2, b3 being ordinal set
st b1 in b2 & b3 <> {}
holds b1 in b2 *^ b3 & b1 in b3 *^ b2;
:: ORDINAL3:th 36
theorem
for b1, b2, b3 being ordinal set
st b1 *^ b2 = b3 *^ b2 & b2 <> {}
holds b1 = b3;
:: ORDINAL3:th 37
theorem
for b1, b2, b3 being ordinal set
st b1 *^ b2 in b3 *^ b2
holds b1 in b3;
:: ORDINAL3:th 38
theorem
for b1, b2, b3 being ordinal set
st b1 *^ b2 c= b3 *^ b2 & b2 <> {}
holds b1 c= b3;
:: ORDINAL3:th 39
theorem
for b1, b2 being ordinal set
st b1 <> {}
holds b2 c= b2 *^ b1 & b2 c= b1 *^ b2;
:: ORDINAL3:th 41
theorem
for b1, b2 being ordinal set
st b1 *^ b2 = 1
holds b1 = 1 & b2 = 1;
:: ORDINAL3:th 42
theorem
for b1, b2, b3 being ordinal set
st b1 in b2 +^ b3 & not b1 in b2
holds ex b4 being ordinal set st
b4 in b3 & b1 = b2 +^ b4;
:: ORDINAL3:funcnot 1 => ORDINAL3:func 1
definition
let a1 be ordinal set;
let a2 be Relation-like Function-like T-Sequence-like Ordinal-yielding set;
func A1 +^ A2 -> Relation-like Function-like T-Sequence-like Ordinal-yielding set means
proj1 it = proj1 a2 &
(for b1 being ordinal set
st b1 in proj1 a2
holds it . b1 = a1 +^ (a2 . b1));
end;
:: ORDINAL3:def 2
theorem
for b1 being ordinal set
for b2, b3 being Relation-like Function-like T-Sequence-like Ordinal-yielding set holds
b3 = b1 +^ b2
iff
proj1 b3 = proj1 b2 &
(for b4 being ordinal set
st b4 in proj1 b2
holds b3 . b4 = b1 +^ (b2 . b4));
:: ORDINAL3:funcnot 2 => ORDINAL3:func 2
definition
let a1 be ordinal set;
let a2 be Relation-like Function-like T-Sequence-like Ordinal-yielding set;
func A2 +^ A1 -> Relation-like Function-like T-Sequence-like Ordinal-yielding set means
proj1 it = proj1 a2 &
(for b1 being ordinal set
st b1 in proj1 a2
holds it . b1 = (a2 . b1) +^ a1);
end;
:: ORDINAL3:def 3
theorem
for b1 being ordinal set
for b2, b3 being Relation-like Function-like T-Sequence-like Ordinal-yielding set holds
b3 = b2 +^ b1
iff
proj1 b3 = proj1 b2 &
(for b4 being ordinal set
st b4 in proj1 b2
holds b3 . b4 = (b2 . b4) +^ b1);
:: ORDINAL3:funcnot 3 => ORDINAL3:func 3
definition
let a1 be ordinal set;
let a2 be Relation-like Function-like T-Sequence-like Ordinal-yielding set;
func A1 *^ A2 -> Relation-like Function-like T-Sequence-like Ordinal-yielding set means
proj1 it = proj1 a2 &
(for b1 being ordinal set
st b1 in proj1 a2
holds it . b1 = a1 *^ (a2 . b1));
end;
:: ORDINAL3:def 4
theorem
for b1 being ordinal set
for b2, b3 being Relation-like Function-like T-Sequence-like Ordinal-yielding set holds
b3 = b1 *^ b2
iff
proj1 b3 = proj1 b2 &
(for b4 being ordinal set
st b4 in proj1 b2
holds b3 . b4 = b1 *^ (b2 . b4));
:: ORDINAL3:funcnot 4 => ORDINAL3:func 4
definition
let a1 be ordinal set;
let a2 be Relation-like Function-like T-Sequence-like Ordinal-yielding set;
func A2 *^ A1 -> Relation-like Function-like T-Sequence-like Ordinal-yielding set means
proj1 it = proj1 a2 &
(for b1 being ordinal set
st b1 in proj1 a2
holds it . b1 = (a2 . b1) *^ a1);
end;
:: ORDINAL3:def 5
theorem
for b1 being ordinal set
for b2, b3 being Relation-like Function-like T-Sequence-like Ordinal-yielding set holds
b3 = b2 *^ b1
iff
proj1 b3 = proj1 b2 &
(for b4 being ordinal set
st b4 in proj1 b2
holds b3 . b4 = (b2 . b4) *^ b1);
:: ORDINAL3:th 47
theorem
for b1, b2 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b3 being ordinal set
st {} <> proj1 b1 &
proj1 b1 = proj1 b2 &
(for b4, b5 being ordinal set
st b4 in proj1 b1 & b5 = b1 . b4
holds b2 . b4 = b3 +^ b5)
holds sup b2 = b3 +^ sup b1;
:: ORDINAL3:th 48
theorem
for b1, b2 being ordinal set
st b1 is being_limit_ordinal
holds b1 *^ b2 is being_limit_ordinal;
:: ORDINAL3:th 49
theorem
for b1, b2, b3 being ordinal set
st b1 in b2 *^ b3 & b2 is being_limit_ordinal
holds ex b4 being ordinal set st
b4 in b2 & b1 in b4 *^ b3;
:: ORDINAL3:th 50
theorem
for b1, b2 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b3 being ordinal set
st {} <> proj1 b1 &
proj1 b1 = proj1 b2 &
b3 <> {} &
sup b1 is being_limit_ordinal &
(for b4, b5 being ordinal set
st b4 in proj1 b1 & b5 = b1 . b4
holds b2 . b4 = b5 *^ b3)
holds sup b2 = (sup b1) *^ b3;
:: ORDINAL3:th 51
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
st {} <> proj1 b1
holds sup (b2 +^ b1) = b2 +^ sup b1;
:: ORDINAL3:th 52
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
st {} <> proj1 b1 & b2 <> {} & sup b1 is being_limit_ordinal
holds sup (b1 *^ b2) = (sup b1) *^ b2;
:: ORDINAL3:th 53
theorem
for b1, b2 being ordinal set
st b1 <> {}
holds union (b2 +^ b1) = b2 +^ union b1;
:: ORDINAL3:th 54
theorem
for b1, b2, b3 being ordinal set holds
(b1 +^ b2) *^ b3 = (b1 *^ b3) +^ (b2 *^ b3);
:: ORDINAL3:th 55
theorem
for b1, b2 being ordinal set
st b1 <> {}
holds ex b3, b4 being ordinal set st
b2 = (b3 *^ b1) +^ b4 & b4 in b1;
:: ORDINAL3:th 56
theorem
for b1, b2, b3, b4, b5 being ordinal set
st (b2 *^ b1) +^ b3 = (b4 *^ b1) +^ b5 &
b3 in b1 &
b5 in b1
holds b2 = b4 & b3 = b5;
:: ORDINAL3:th 57
theorem
for b1, b2 being ordinal set
st 1 in b1 & b2 <> {} & b2 is being_limit_ordinal
for b3 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
st proj1 b3 = b2 &
(for b4 being ordinal set
st b4 in b2
holds b3 . b4 = b4 *^ b1)
holds b2 *^ b1 = sup b3;
:: ORDINAL3:th 58
theorem
for b1, b2, b3 being ordinal set holds
(b1 *^ b2) *^ b3 = b1 *^ (b2 *^ b3);
:: ORDINAL3:funcnot 5 => ORDINAL3:func 5
definition
let a1, a2 be ordinal set;
func A1 -^ A2 -> ordinal set means
a1 = a2 +^ it
if a2 c= a1
otherwise it = {};
end;
:: ORDINAL3:def 6
theorem
for b1, b2, b3 being ordinal set holds
(b2 c= b1 implies (b3 = b1 -^ b2
iff
b1 = b2 +^ b3)) &
(b2 c= b1 or (b3 = b1 -^ b2
iff
b3 = {}));
:: ORDINAL3:funcnot 6 => ORDINAL3:func 6
definition
let a1, a2 be ordinal set;
func A1 div^ A2 -> ordinal set means
ex b1 being ordinal set st
a1 = (it *^ a2) +^ b1 & b1 in a2
if a2 <> {}
otherwise it = {};
end;
:: ORDINAL3:def 7
theorem
for b1, b2, b3 being ordinal set holds
(b2 = {} or (b3 = b1 div^ b2
iff
ex b4 being ordinal set st
b1 = (b3 *^ b2) +^ b4 & b4 in b2)) &
(b2 = {} implies (b3 = b1 div^ b2
iff
b3 = {}));
:: ORDINAL3:funcnot 7 => ORDINAL3:func 7
definition
let a1, a2 be ordinal set;
func A1 mod^ A2 -> ordinal set equals
a1 -^ ((a1 div^ a2) *^ a2);
end;
:: ORDINAL3:def 8
theorem
for b1, b2 being ordinal set holds
b1 mod^ b2 = b1 -^ ((b1 div^ b2) *^ b2);
:: ORDINAL3:th 60
theorem
for b1, b2 being ordinal set
st b1 in b2
holds b2 = b1 +^ (b2 -^ b1);
:: ORDINAL3:th 65
theorem
for b1, b2 being ordinal set holds
(b1 +^ b2) -^ b1 = b2;
:: ORDINAL3:th 66
theorem
for b1, b2, b3 being ordinal set
st b1 in b2 & (b3 c= b1 or b3 in b1)
holds b1 -^ b3 in b2 -^ b3;
:: ORDINAL3:th 67
theorem
for b1 being ordinal set holds
b1 -^ b1 = {};
:: ORDINAL3:th 68
theorem
for b1, b2 being ordinal set
st b1 in b2
holds b2 -^ b1 <> {} & {} in b2 -^ b1;
:: ORDINAL3:th 69
theorem
for b1 being ordinal set holds
b1 -^ {} = b1 & {} -^ b1 = {};
:: ORDINAL3:th 70
theorem
for b1, b2, b3 being ordinal set holds
b1 -^ (b2 +^ b3) = (b1 -^ b2) -^ b3;
:: ORDINAL3:th 71
theorem
for b1, b2, b3 being ordinal set
st b1 c= b2
holds b3 -^ b2 c= b3 -^ b1;
:: ORDINAL3:th 72
theorem
for b1, b2, b3 being ordinal set
st b1 c= b2
holds b1 -^ b3 c= b2 -^ b3;
:: ORDINAL3:th 73
theorem
for b1, b2, b3 being ordinal set
st b1 <> {} & b2 in b3 +^ b1
holds b2 -^ b3 in b1;
:: ORDINAL3:th 74
theorem
for b1, b2, b3 being ordinal set
st b1 +^ b2 in b3
holds b2 in b3 -^ b1;
:: ORDINAL3:th 75
theorem
for b1, b2 being ordinal set holds
b1 c= b2 +^ (b1 -^ b2);
:: ORDINAL3:th 76
theorem
for b1, b2, b3 being ordinal set holds
(b1 *^ b2) -^ (b3 *^ b2) = (b1 -^ b3) *^ b2;
:: ORDINAL3:th 77
theorem
for b1, b2 being ordinal set holds
(b1 div^ b2) *^ b2 c= b1;
:: ORDINAL3:th 78
theorem
for b1, b2 being ordinal set holds
b1 = ((b1 div^ b2) *^ b2) +^ (b1 mod^ b2);
:: ORDINAL3:th 79
theorem
for b1, b2, b3, b4 being ordinal set
st b1 = (b2 *^ b3) +^ b4 & b4 in b3
holds b2 = b1 div^ b3 & b4 = b1 mod^ b3;
:: ORDINAL3:th 80
theorem
for b1, b2, b3 being ordinal set
st b1 in b2 *^ b3
holds b1 div^ b3 in b2 & b1 mod^ b3 in b3;
:: ORDINAL3:th 81
theorem
for b1, b2 being ordinal set
st b1 <> {}
holds (b2 *^ b1) div^ b1 = b2;
:: ORDINAL3:th 82
theorem
for b1, b2 being ordinal set holds
(b1 *^ b2) mod^ b2 = {};
:: ORDINAL3:th 83
theorem
for b1 being ordinal set holds
{} div^ b1 = {} & {} mod^ b1 = {} & b1 mod^ {} = b1;
:: ORDINAL3:th 84
theorem
for b1 being ordinal set holds
b1 div^ 1 = b1 & b1 mod^ 1 = {};
:: ORDINAL3:th 85
theorem
for b1 being set holds
sup b1 c= succ union On b1;
:: ORDINAL3:th 86
theorem
for b1 being ordinal set holds
succ b1 is_cofinal_with 1;
:: ORDINAL3:th 87
theorem
for b1, b2 being ordinal set
st b1 +^ b2 is natural
holds b1 in omega & b2 in omega;
:: ORDINAL3:funcreg 3
registration
let a1, a2 be ordinal natural set;
cluster a1 -^ a2 -> ordinal natural;
end;
:: ORDINAL3:funcreg 4
registration
let a1, a2 be ordinal natural set;
cluster a1 *^ a2 -> ordinal natural;
end;
:: ORDINAL3:th 88
theorem
for b1, b2 being ordinal set
st b1 *^ b2 is natural & b1 *^ b2 is not empty
holds b1 in omega & b2 in omega;
:: ORDINAL3:funcnot 8 => ORDINAL3:func 8
definition
let a1, a2 be ordinal natural set;
redefine func a1 +^ a2 -> ordinal set;
commutativity;
:: for a1, a2 being ordinal natural set holds
:: a1 +^ a2 = a2 +^ a1;
end;
:: ORDINAL3:funcnot 9 => ORDINAL3:func 9
definition
let a1, a2 be ordinal natural set;
redefine func a1 *^ a2 -> ordinal set;
commutativity;
:: for a1, a2 being ordinal natural set holds
:: a1 *^ a2 = a2 *^ a1;
end;