Article WELLORD2, MML version 4.99.1005

:: WELLORD2:funcnot 1 => WELLORD2:func 1
definition
  let a1 be set;
  func RelIncl A1 -> Relation-like set means
    field it = a1 &
     (for b1, b2 being set
           st b1 in a1 & b2 in a1
        holds    [b1,b2] in it
        iff
           b1 c= b2);
end;

:: WELLORD2:def 1
theorem
for b1 being set
for b2 being Relation-like set holds
      b2 = RelIncl b1
   iff
      field b2 = b1 &
       (for b3, b4 being set
             st b3 in b1 & b4 in b1
          holds    [b3,b4] in b2
          iff
             b3 c= b4);

:: WELLORD2:th 2
theorem
for b1 being set holds
   RelIncl b1 is reflexive;

:: WELLORD2:th 3
theorem
for b1 being set holds
   RelIncl b1 is transitive;

:: WELLORD2:th 4
theorem
for b1 being ordinal set holds
   RelIncl b1 is connected;

:: WELLORD2:th 5
theorem
for b1 being set holds
   RelIncl b1 is antisymmetric;

:: WELLORD2:th 6
theorem
for b1 being ordinal set holds
   RelIncl b1 is well_founded;

:: WELLORD2:th 7
theorem
for b1 being ordinal set holds
   RelIncl b1 is well-ordering;

:: WELLORD2:th 8
theorem
for b1, b2 being set
      st b1 c= b2
   holds (RelIncl b2) |_2 b1 = RelIncl b1;

:: WELLORD2:th 9
theorem
for b1 being ordinal set
for b2 being set
      st b2 c= b1
   holds RelIncl b2 is well-ordering;

:: WELLORD2:th 10
theorem
for b1, b2 being ordinal set
      st b1 in b2
   holds b1 = (RelIncl b2) -Seg b1;

:: WELLORD2:th 11
theorem
for b1, b2 being ordinal set
      st RelIncl b1,RelIncl b2 are_isomorphic
   holds b1 = b2;

:: WELLORD2:th 12
theorem
for b1 being Relation-like set
for b2, b3 being ordinal set
      st b1,RelIncl b2 are_isomorphic & b1,RelIncl b3 are_isomorphic
   holds b2 = b3;

:: WELLORD2:th 13
theorem
for b1 being Relation-like set
      st b1 is well-ordering &
         (for b2 being set
               st b2 in field b1
            holds ex b3 being ordinal set st
               b1 |_2 (b1 -Seg b2),RelIncl b3 are_isomorphic)
   holds ex b2 being ordinal set st
      b1,RelIncl b2 are_isomorphic;

:: WELLORD2:th 14
theorem
for b1 being Relation-like set
      st b1 is well-ordering
   holds ex b2 being ordinal set st
      b1,RelIncl b2 are_isomorphic;

:: WELLORD2:funcnot 2 => WELLORD2:func 2
definition
  let a1 be Relation-like set;
  assume a1 is well-ordering;
  func order_type_of A1 -> ordinal set means
    a1,RelIncl it are_isomorphic;
end;

:: WELLORD2:def 2
theorem
for b1 being Relation-like set
   st b1 is well-ordering
for b2 being ordinal set holds
      b2 = order_type_of b1
   iff
      b1,RelIncl b2 are_isomorphic;

:: WELLORD2:prednot 1 => WELLORD2:pred 1
definition
  let a1 be ordinal set;
  let a2 be Relation-like set;
  pred A1 is_order_type_of A2 means
    a1 = order_type_of a2;
end;

:: WELLORD2:dfs 3
definiens
  let a1 be ordinal set;
  let a2 be Relation-like set;
To prove
     a1 is_order_type_of a2
it is sufficient to prove
  thus a1 = order_type_of a2;

:: WELLORD2:def 3
theorem
for b1 being ordinal set
for b2 being Relation-like set holds
      b1 is_order_type_of b2
   iff
      b1 = order_type_of b2;

:: WELLORD2:th 17
theorem
for b1 being set
for b2 being ordinal set
      st b1 c= b2
   holds order_type_of RelIncl b1 c= b2;

:: WELLORD2:prednot 2 => WELLORD2:pred 2
definition
  let a1, a2 be set;
  redefine pred A1,A2 are_equipotent means
    ex b1 being Relation-like Function-like set st
       b1 is one-to-one & proj1 b1 = a1 & proj2 b1 = a2;
  symmetry;
::  for a1, a2 being set
::        st a1,a2 are_equipotent
::     holds a2,a1 are_equipotent;
  reflexivity;
::  for a1 being set holds
::     a1,a1 are_equipotent;
end;

:: WELLORD2:dfs 4
definiens
  let a1, a2 be set;
To prove
     a1,a2 are_equipotent
it is sufficient to prove
  thus ex b1 being Relation-like Function-like set st
       b1 is one-to-one & proj1 b1 = a1 & proj2 b1 = a2;

:: WELLORD2:def 4
theorem
for b1, b2 being set holds
   b1,b2 are_equipotent
iff
   ex b3 being Relation-like Function-like set st
      b3 is one-to-one & proj1 b3 = b1 & proj2 b3 = b2;

:: WELLORD2:th 22
theorem
for b1, b2, b3 being set
      st b1,b2 are_equipotent & b2,b3 are_equipotent
   holds b1,b3 are_equipotent;

:: WELLORD2:th 25
theorem
for b1 being set
for b2 being Relation-like set
      st b2 well_orders b1
   holds field (b2 |_2 b1) = b1 & b2 |_2 b1 is well-ordering;

:: WELLORD2:th 26
theorem
for b1 being set holds
   ex b2 being Relation-like set st
      b2 well_orders b1;

:: WELLORD2:th 27
theorem
for b1 being non empty set
      st (for b2 being set
               st b2 in b1
            holds b2 <> {}) &
         (for b2, b3 being set
               st b2 in b1 & b3 in b1 & b2 <> b3
            holds b2 misses b3)
   holds ex b2 being set st
      for b3 being set
            st b3 in b1
         holds ex b4 being set st
            b2 /\ b3 = {b4};

:: WELLORD2:th 28
theorem
for b1 being non empty set
      st for b2 being set
              st b2 in b1
           holds b2 <> {}
   holds ex b2 being Relation-like Function-like set st
      proj1 b2 = b1 &
       (for b3 being set
             st b3 in b1
          holds b2 . b3 in b3);

:: WELLORD2:sch 1
scheme WELLORD2:sch 1
{F1 -> set,
  F2 -> set}:
ex b1 being Relation-like Function-like set st
   proj1 b1 = F1() &
    proj2 b1 c= F2() &
    (for b2 being set
          st b2 in F1()
       holds P1[b2, b1 . b2])
provided
   for b1 being set
         st b1 in F1()
      holds ex b2 being set st
         b2 in F2() & P1[b1, b2];


:: WELLORD2:sch 2
scheme WELLORD2:sch 2
{F1 -> set,
  F2 -> set,
  F3 -> set}:
ex b1, b2 being Relation-like Function-like set st
   proj1 b1 = F1() &
    proj1 b2 = F1() &
    (for b3 being set
          st b3 in F1()
       holds P1[b3, b1 . b3, b2 . b3])
provided
   for b1 being set
         st b1 in F1()
      holds ex b2, b3 being set st
         b2 in F2() & b3 in F3() & P1[b1, b2, b3];


:: WELLORD2:th 29
theorem
for b1 being set holds
   RelIncl b1 is_reflexive_in b1;

:: WELLORD2:th 30
theorem
for b1 being set holds
   RelIncl b1 is_transitive_in b1;

:: WELLORD2:th 31
theorem
for b1 being set holds
   RelIncl b1 is_antisymmetric_in b1;