Article ORDINAL4, MML version 4.99.1005

:: ORDINAL4:funcreg 1
registration
  let a1 be Relation-like Function-like T-Sequence-like Ordinal-yielding set;
  cluster last a1 -> ordinal;
end;

:: ORDINAL4:th 1
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
      st proj1 b1 = succ b2
   holds last b1 is_limes_of b1 & lim b1 = last b1;

:: ORDINAL4:funcnot 1 => ORDINAL4:func 1
definition
  let a1, a2 be Relation-like Function-like T-Sequence-like set;
  func A1 ^ A2 -> Relation-like Function-like T-Sequence-like set means
    proj1 it = (proj1 a1) +^ proj1 a2 &
     (for b1 being ordinal set
           st b1 in proj1 a1
        holds it . b1 = a1 . b1) &
     (for b1 being ordinal set
           st b1 in proj1 a2
        holds it . ((proj1 a1) +^ b1) = a2 . b1);
end;

:: ORDINAL4:def 1
theorem
for b1, b2, b3 being Relation-like Function-like T-Sequence-like set holds
   b3 = b1 ^ b2
iff
   proj1 b3 = (proj1 b1) +^ proj1 b2 &
    (for b4 being ordinal set
          st b4 in proj1 b1
       holds b3 . b4 = b1 . b4) &
    (for b4 being ordinal set
          st b4 in proj1 b2
       holds b3 . ((proj1 b1) +^ b4) = b2 . b4);

:: ORDINAL4:funcreg 2
registration
  let a1, a2 be Relation-like Function-like T-Sequence-like Ordinal-yielding set;
  cluster a1 ^ a2 -> Relation-like Function-like T-Sequence-like Ordinal-yielding;
end;

:: ORDINAL4:th 3
theorem
for b1, b2 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b3 being ordinal set
      st b3 is_limes_of b1
   holds b3 is_limes_of b2 ^ b1;

:: ORDINAL4:th 4
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2, b3 being ordinal set
      st b2 is_limes_of b1
   holds b3 +^ b2 is_limes_of b3 +^ b1;

:: ORDINAL4:th 5
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2, b3 being ordinal set
      st b2 is_limes_of b1
   holds b2 *^ b3 is_limes_of b1 *^ b3;

:: ORDINAL4:th 6
theorem
for b1, b2 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b3, b4 being ordinal set
      st proj1 b1 = proj1 b2 &
         b3 is_limes_of b1 &
         b4 is_limes_of b2 &
         (for b5 being ordinal set
               st b5 in proj1 b1
            holds b1 . b5 c= b2 . b5 or for b5 being ordinal set
               st b5 in proj1 b1
            holds b1 . b5 in b2 . b5)
   holds b3 c= b4;

:: ORDINAL4:th 7
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
for b3, b4 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
      st proj1 b3 = proj1 b1 &
         proj1 b1 = proj1 b4 &
         b2 is_limes_of b3 &
         b2 is_limes_of b4 &
         (for b5 being ordinal set
               st b5 in proj1 b1
            holds b3 . b5 c= b1 . b5 & b1 . b5 c= b4 . b5)
   holds b2 is_limes_of b1;

:: ORDINAL4:th 8
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
      st proj1 b1 <> {} & proj1 b1 is being_limit_ordinal & b1 is increasing
   holds sup b1 is_limes_of b1 & lim b1 = sup b1;

:: ORDINAL4:th 9
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2, b3 being ordinal set
      st b1 is increasing & b2 c= b3 & b3 in proj1 b1
   holds b1 . b2 c= b1 . b3;

:: ORDINAL4:th 10
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
      st b1 is increasing & b2 in proj1 b1
   holds b2 c= b1 . b2;

:: ORDINAL4:th 11
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
      st b1 is increasing
   holds b1 " b2 is ordinal set;

:: ORDINAL4:th 12
theorem
for b1, b2 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
      st b1 is increasing
   holds b1 * b2 is Relation-like Function-like T-Sequence-like Ordinal-yielding set;

:: ORDINAL4:th 13
theorem
for b1, b2 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
      st b1 is increasing & b2 is increasing
   holds ex b3 being Relation-like Function-like T-Sequence-like Ordinal-yielding set st
      b3 = b2 * b1 & b3 is increasing;

:: ORDINAL4:th 14
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
for b3, b4 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
      st b3 is increasing & b2 is_limes_of b4 & sup proj2 b3 = proj1 b4 & b1 = b3 * b4
   holds b2 is_limes_of b1;

:: ORDINAL4:th 15
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
      st b1 is increasing
   holds b1 | b2 is increasing;

:: ORDINAL4:th 16
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
      st b1 is increasing & proj1 b1 is being_limit_ordinal
   holds sup b1 is being_limit_ordinal;

:: ORDINAL4:th 17
theorem
for b1, b2, b3 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
      st b1 is increasing & b1 is continuous & b2 is continuous & b3 = b1 * b2
   holds b3 is continuous;

:: ORDINAL4:th 18
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
      st for b3 being ordinal set
              st b3 in proj1 b1
           holds b1 . b3 = b2 +^ b3
   holds b1 is increasing;

:: ORDINAL4:th 19
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
      st b2 <> {} &
         (for b3 being ordinal set
               st b3 in proj1 b1
            holds b1 . b3 = b3 *^ b2)
   holds b1 is increasing;

:: ORDINAL4:th 20
theorem
for b1 being ordinal set
      st b1 <> {}
   holds exp({},b1) = {};

:: ORDINAL4:th 21
theorem
for b1, b2 being ordinal set
   st b1 <> {} & b1 is being_limit_ordinal
for b3 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
      st proj1 b3 = b1 &
         (for b4 being ordinal set
               st b4 in b1
            holds b3 . b4 = exp(b2,b4))
   holds exp(b2,b1) is_limes_of b3;

:: ORDINAL4:th 22
theorem
for b1, b2 being ordinal set
      st b1 <> {}
   holds exp(b1,b2) <> {};

:: ORDINAL4:th 23
theorem
for b1, b2 being ordinal set
      st 1 in b1
   holds exp(b1,b2) in exp(b1,succ b2);

:: ORDINAL4:th 24
theorem
for b1, b2, b3 being ordinal set
      st 1 in b1 & b2 in b3
   holds exp(b1,b2) in exp(b1,b3);

:: ORDINAL4:th 25
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being ordinal set
      st 1 in b2 &
         (for b3 being ordinal set
               st b3 in proj1 b1
            holds b1 . b3 = exp(b2,b3))
   holds b1 is increasing;

:: ORDINAL4:th 26
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 = exp(b1,b4))
   holds exp(b1,b2) = sup b3;

:: ORDINAL4:th 27
theorem
for b1, b2, b3 being ordinal set
      st b1 <> {} & b2 c= b3
   holds exp(b1,b2) c= exp(b1,b3);

:: ORDINAL4:th 28
theorem
for b1, b2, b3 being ordinal set
      st b1 c= b2
   holds exp(b1,b3) c= exp(b2,b3);

:: ORDINAL4:th 29
theorem
for b1, b2 being ordinal set
      st 1 in b1 & b2 <> {}
   holds 1 in exp(b1,b2);

:: ORDINAL4:th 30
theorem
for b1, b2, b3 being ordinal set holds
exp(b1,b2 +^ b3) = (exp(b1,b3)) *^ exp(b1,b2);

:: ORDINAL4:th 31
theorem
for b1, b2, b3 being ordinal set holds
exp(exp(b1,b2),b3) = exp(b1,b3 *^ b2);

:: ORDINAL4:th 32
theorem
for b1, b2 being ordinal set
      st 1 in b1
   holds b2 c= exp(b1,b2);

:: ORDINAL4:sch 1
scheme ORDINAL4:sch 1
{F1 -> ordinal set}:
ex b1 being ordinal set st
   F1(b1) = b1
provided
   for b1, b2 being ordinal set
         st b1 in b2
      holds F1(b1) in F1(b2)
and
   for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
   for b2 being ordinal set
      st b2 <> {} & b2 is being_limit_ordinal
   for b3 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
         st proj1 b1 = b2 &
            (for b4 being ordinal set
                  st b4 in b2
               holds b3 . b4 = F1(b4))
      holds F1(b2) is_limes_of b3;


:: ORDINAL4:modenot 1 => ORDINAL4:mode 1
definition
  let a1 be non empty universal set;
  mode Ordinal of A1 -> ordinal set means
    it in a1;
end;

:: ORDINAL4:dfs 2
definiens
  let a1 be non empty universal set;
  let a2 be ordinal set;
To prove
     a2 is Ordinal of a1
it is sufficient to prove
  thus a2 in a1;

:: ORDINAL4:def 2
theorem
for b1 being non empty universal set
for b2 being ordinal set holds
      b2 is Ordinal of b1
   iff
      b2 in b1;

:: ORDINAL4:modenot 2 => ORDINAL4:mode 2
definition
  let a1 be non empty universal set;
  mode Ordinal-Sequence of A1 -> Relation-like Function-like T-Sequence-like Ordinal-yielding set means
    proj1 it = On a1 & proj2 it c= On a1;
end;

:: ORDINAL4:dfs 3
definiens
  let a1 be non empty universal set;
  let a2 be Relation-like Function-like T-Sequence-like Ordinal-yielding set;
To prove
     a2 is Ordinal-Sequence of a1
it is sufficient to prove
  thus proj1 a2 = On a1 & proj2 a2 c= On a1;

:: ORDINAL4:def 3
theorem
for b1 being non empty universal set
for b2 being Relation-like Function-like T-Sequence-like Ordinal-yielding set holds
      b2 is Ordinal-Sequence of b1
   iff
      proj1 b2 = On b1 & proj2 b2 c= On b1;

:: ORDINAL4:exreg 1
registration
  let a1 be non empty universal set;
  cluster epsilon-transitive epsilon-connected ordinal non empty Ordinal of a1;
end;

:: ORDINAL4:sch 2
scheme ORDINAL4:sch 2
{F1 -> non empty universal set,
  F2 -> Ordinal of F1()}:
ex b1 being Ordinal-Sequence of F1() st
   for b2 being Ordinal of F1() holds
      b1 . b2 = F2(b2)


:: ORDINAL4:funcnot 2 => ORDINAL4:func 2
definition
  let a1 be non empty universal set;
  func 0-element_of A1 -> Ordinal of a1 equals
    {};
end;

:: ORDINAL4:def 4
theorem
for b1 being non empty universal set holds
   0-element_of b1 = {};

:: ORDINAL4:funcnot 3 => ORDINAL4:func 3
definition
  let a1 be non empty universal set;
  func 1-element_of A1 -> non empty Ordinal of a1 equals
    1;
end;

:: ORDINAL4:def 5
theorem
for b1 being non empty universal set holds
   1-element_of b1 = 1;

:: ORDINAL4:funcnot 4 => ORDINAL4:func 4
definition
  let a1 be non empty universal set;
  let a2 be Ordinal-Sequence of a1;
  let a3 be Ordinal of a1;
  redefine func a2 . a3 -> Ordinal of a1;
end;

:: ORDINAL4:funcnot 5 => ORDINAL4:func 5
definition
  let a1 be non empty universal set;
  let a2, a3 be Ordinal-Sequence of a1;
  redefine func a3 * a2 -> Ordinal-Sequence of a1;
end;

:: ORDINAL4:th 35
theorem
for b1 being non empty universal set holds
   0-element_of b1 = {} & 1-element_of b1 = 1;

:: ORDINAL4:funcnot 6 => ORDINAL4:func 6
definition
  let a1 be non empty universal set;
  let a2 be Ordinal of a1;
  redefine func succ a2 -> non empty Ordinal of a1;
end;

:: ORDINAL4:funcnot 7 => ORDINAL4:func 7
definition
  let a1 be non empty universal set;
  let a2, a3 be Ordinal of a1;
  redefine func a2 +^ a3 -> Ordinal of a1;
end;

:: ORDINAL4:funcnot 8 => ORDINAL4:func 8
definition
  let a1 be non empty universal set;
  let a2, a3 be Ordinal of a1;
  redefine func a2 *^ a3 -> Ordinal of a1;
end;

:: ORDINAL4:th 36
theorem
for b1 being non empty universal set
for b2 being Ordinal of b1
for b3 being Ordinal-Sequence of b1 holds
   b2 in proj1 b3;

:: ORDINAL4:th 37
theorem
for b1 being Relation-like Function-like T-Sequence-like Ordinal-yielding set
for b2 being non empty universal set
      st proj1 b1 in b2 & proj2 b1 c= b2
   holds sup b1 in b2;

:: ORDINAL4:th 38
theorem
for b1 being non empty universal set
for b2 being Ordinal-Sequence of b1
      st b2 is increasing & b2 is continuous & omega in b1
   holds ex b3 being ordinal set st
      b3 in proj1 b2 & b2 . b3 = b3;

:: ORDINAL4:th 39
theorem
for b1, b2, b3 being ordinal set
      st b1 is_cofinal_with b2 & b2 is_cofinal_with b3
   holds b1 is_cofinal_with b3;

:: ORDINAL4:th 40
theorem
for b1, b2 being ordinal set
      st b1 is_cofinal_with b2
   holds    b1 is being_limit_ordinal
   iff
      b2 is being_limit_ordinal;