Article SETWISEO, MML version 4.99.1005

:: SETWISEO:th 3
theorem
for b1, b2, b3 being set holds
{b1} c= {b1,b2,b3};

:: SETWISEO:th 4
theorem
for b1, b2, b3 being set holds
{b1,b2} c= {b1,b2,b3};

:: SETWISEO:th 5
theorem
for b1, b2, b3 being set
      st b1 c= b2 \/ {b3} & not b3 in b1
   holds b1 c= b2;

:: SETWISEO:th 6
theorem
for b1, b2, b3 being set holds
   b1 in b2 \/ {b3}
iff
   (b1 in b2 or b1 = b3);

:: SETWISEO:th 8
theorem
for b1, b2, b3 being set holds
   b1 \/ {b2} c= b3
iff
   b2 in b3 & b1 c= b3;

:: SETWISEO:th 11
theorem
for b1, b2 being set
for b3 being Relation-like Function-like set holds
   b3 .: (b2 \ (b3 " b1)) = (b3 .: b2) \ b1;

:: SETWISEO:th 12
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of b2,b1
for b4 being Element of b2 holds
   b4 in b3 " {b3 . b4};

:: SETWISEO:th 13
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of b2,b1
for b4 being Element of b2 holds
   Im(b3,b4) = {b3 . b4};

:: SETWISEO:th 14
theorem
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being set
      st b3 in b2
   holds b3 is Element of b1;

:: SETWISEO:th 15
theorem
for b1, b2 being non empty set
for b3 being Element of Fin b1
for b4 being set
for b5 being Function-like quasi_total Relation of b1,b2
      st for b6 being Element of b1
              st b6 in b3
           holds b5 . b6 in b4
   holds b5 .: b3 c= b4;

:: SETWISEO:th 16
theorem
for b1 being set
for b2 being Element of Fin b1
for b3 being set
      st b3 c= b2
   holds b3 is Element of Fin b1;

:: SETWISEO:th 18
theorem
for b1 being non empty set
for b2 being Element of Fin b1
      st b2 <> {}
   holds ex b3 being Element of b1 st
      b3 in b2;

:: SETWISEO:th 19
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of b2,b1
for b4 being Element of Fin b2
      st b3 .: b4 = {}
   holds b4 = {};

:: SETWISEO:exreg 1
registration
  let a1 be set;
  cluster empty finite Element of Fin a1;
end;

:: SETWISEO:funcnot 1 => SETWISEO:func 1
definition
  let a1 be set;
  func {}. A1 -> empty Element of Fin a1 equals
    {};
end;

:: SETWISEO:def 1
theorem
for b1 being set holds
   {}. b1 = {};

:: SETWISEO:sch 1
scheme SETWISEO:sch 1
{F1 -> non empty set,
  F2 -> Element of Fin F1()}:
ex b1 being Function-like quasi_total Relation of F1(),Fin F1() st
   for b2, b3 being Element of F1() holds
      b3 in b1 . b2
   iff
      b3 in F2() & P1[b3, b2]


:: SETWISEO:attrnot 1 => SETWISEO:attr 1
definition
  let a1 be non empty set;
  let a2 be Function-like quasi_total Relation of [:a1,a1:],a1;
  attr a2 is having_a_unity means
    ex b1 being Element of a1 st
       b1 is_a_unity_wrt a2;
end;

:: SETWISEO:dfs 2
definiens
  let a1 be non empty set;
  let a2 be Function-like quasi_total Relation of [:a1,a1:],a1;
To prove
     a2 is having_a_unity
it is sufficient to prove
  thus ex b1 being Element of a1 st
       b1 is_a_unity_wrt a2;

:: SETWISEO:def 2
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1 holds
      b2 is having_a_unity(b1)
   iff
      ex b3 being Element of b1 st
         b3 is_a_unity_wrt b2;

:: SETWISEO:prednot 1 => SETWISEO:attr 1
notation
  let a1 be non empty set;
  let a2 be Function-like quasi_total Relation of [:a1,a1:],a1;
  synonym a2 has_a_unity for having_a_unity;
end;

:: SETWISEO:th 22
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1 holds
      b2 is having_a_unity(b1)
   iff
      the_unity_wrt b2 is_a_unity_wrt b2;

:: SETWISEO:th 23
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1
   st b2 is having_a_unity(b1)
for b3 being Element of b1 holds
   b2 .(the_unity_wrt b2,b3) = b3 & b2 .(b3,the_unity_wrt b2) = b3;

:: SETWISEO:exreg 2
registration
  let a1 be non empty set;
  cluster non empty finite Element of Fin a1;
end;

:: SETWISEO:funcnot 2 => TARSKI:func 1
notation
  let a1 be non empty set;
  let a2 be Element of a1;
  synonym {.a2.} for {a1};
end;

:: SETWISEO:funcnot 3 => TARSKI:func 2
notation
  let a1 be non empty set;
  let a2, a3 be Element of a1;
  synonym {.a2,a3.} for {a1,a2};
end;

:: SETWISEO:funcnot 4 => ENUMSET1:func 1
notation
  let a1 be non empty set;
  let a2, a3, a4 be Element of a1;
  synonym {.a2,a3,a4.} for {a1,a2,a3};
end;

:: SETWISEO:funcnot 5 => SETWISEO:func 2
definition
  let a1 be non empty set;
  let a2 be Element of a1;
  redefine func {.a2.} -> Element of Fin a1;
end;

:: SETWISEO:funcnot 6 => SETWISEO:func 3
definition
  let a1 be non empty set;
  let a2, a3 be Element of a1;
  redefine func {.a2, a3.} -> Element of Fin a1;
  commutativity;
::  for a1 being non empty set
::  for a2, a3 being Element of a1 holds
::  {.a2,a3.} = {.a3,a2.};
end;

:: SETWISEO:funcnot 7 => SETWISEO:func 4
definition
  let a1 be non empty set;
  let a2, a3, a4 be Element of a1;
  redefine func {.a2, a3, a4.} -> Element of Fin a1;
end;

:: SETWISEO:funcnot 8 => SETWISEO:func 5
definition
  let a1 be set;
  let a2, a3 be Element of Fin a1;
  redefine func a2 \/ a3 -> Element of Fin a1;
  commutativity;
::  for a1 being set
::  for a2, a3 being Element of Fin a1 holds
::  a2 \/ a3 = a3 \/ a2;
  idempotence;
::  for a1 being set
::  for a2 being Element of Fin a1 holds
::     a2 \/ a2 = a2;
end;

:: SETWISEO:funcnot 9 => SETWISEO:func 6
definition
  let a1 be set;
  let a2, a3 be Element of Fin a1;
  redefine func a2 \ a3 -> Element of Fin a1;
end;

:: SETWISEO:sch 2
scheme SETWISEO:sch 2
{F1 -> non empty set}:
for b1 being Element of Fin F1() holds
   P1[b1]
provided
   P1[{}. F1()]
and
   for b1 being Element of Fin F1()
   for b2 being Element of F1()
         st P1[b1] & not b2 in b1
      holds P1[b1 \/ {b2}];


:: SETWISEO:sch 3
scheme SETWISEO:sch 3
{F1 -> non empty set}:
for b1 being Element of Fin F1()
      st b1 <> {}
   holds P1[b1]
provided
   for b1 being Element of F1() holds
      P1[{.b1.}]
and
   for b1, b2 being Element of Fin F1()
         st b1 <> {} & b2 <> {} & P1[b1] & P1[b2]
      holds P1[b1 \/ b2];


:: SETWISEO:sch 4
scheme SETWISEO:sch 4
{F1 -> non empty set}:
for b1 being Element of Fin F1() holds
   P1[b1]
provided
   P1[{}. F1()]
and
   for b1 being Element of Fin F1()
   for b2 being Element of F1()
         st P1[b1]
      holds P1[b1 \/ {b2}];


:: SETWISEO:funcnot 10 => SETWISEO:func 7
definition
  let a1, a2 be non empty set;
  let a3 be Function-like quasi_total Relation of [:a2,a2:],a2;
  let a4 be Element of Fin a1;
  let a5 be Function-like quasi_total Relation of a1,a2;
  assume (a4 = {} implies a3 is having_a_unity(a2)) & a3 is commutative(a2) & a3 is associative(a2);
  func A3 $$(A4,A5) -> Element of a2 means
    ex b1 being Function-like quasi_total Relation of Fin a1,a2 st
       it = b1 . a4 &
        (for b2 being Element of a2
              st b2 is_a_unity_wrt a3
           holds b1 . {} = b2) &
        (for b2 being Element of a1 holds
           b1 . {b2} = a5 . b2) &
        (for b2 being Element of Fin a1
           st b2 c= a4 & b2 <> {}
        for b3 being Element of a1
              st b3 in a4 \ b2
           holds b1 . (b2 \/ {b3}) = a3 .(b1 . b2,a5 . b3));
end;

:: SETWISEO:def 3
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Element of Fin b1
for b5 being Function-like quasi_total Relation of b1,b2
   st (b4 = {} implies b3 is having_a_unity(b2)) & b3 is commutative(b2) & b3 is associative(b2)
for b6 being Element of b2 holds
      b6 = b3 $$(b4,b5)
   iff
      ex b7 being Function-like quasi_total Relation of Fin b1,b2 st
         b6 = b7 . b4 &
          (for b8 being Element of b2
                st b8 is_a_unity_wrt b3
             holds b7 . {} = b8) &
          (for b8 being Element of b1 holds
             b7 . {b8} = b5 . b8) &
          (for b8 being Element of Fin b1
             st b8 c= b4 & b8 <> {}
          for b9 being Element of b1
                st b9 in b4 \ b8
             holds b7 . (b8 \/ {b9}) = b3 .(b7 . b8,b5 . b9));

:: SETWISEO:th 25
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Element of Fin b1
for b5 being Function-like quasi_total Relation of b1,b2
   st (b4 = {} implies b3 is having_a_unity(b2)) & b3 is idempotent(b2) & b3 is commutative(b2) & b3 is associative(b2)
for b6 being Element of b2 holds
      b6 = b3 $$(b4,b5)
   iff
      ex b7 being Function-like quasi_total Relation of Fin b1,b2 st
         b6 = b7 . b4 &
          (for b8 being Element of b2
                st b8 is_a_unity_wrt b3
             holds b7 . {} = b8) &
          (for b8 being Element of b1 holds
             b7 . {b8} = b5 . b8) &
          (for b8 being Element of Fin b1
             st b8 c= b4 & b8 <> {}
          for b9 being Element of b1
                st b9 in b4
             holds b7 . (b8 \/ {b9}) = b3 .(b7 . b8,b5 . b9));

:: SETWISEO:th 26
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
   st b3 is commutative(b1) & b3 is associative(b1)
for b5 being Element of b2 holds
   b3 $$({.b5.},b4) = b4 . b5;

:: SETWISEO:th 27
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
   st b3 is idempotent(b1) & b3 is commutative(b1) & b3 is associative(b1)
for b5, b6 being Element of b2 holds
b3 $$({.b5,b6.},b4) = b3 .(b4 . b5,b4 . b6);

:: SETWISEO:th 28
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
   st b3 is idempotent(b1) & b3 is commutative(b1) & b3 is associative(b1)
for b5, b6, b7 being Element of b2 holds
b3 $$({.b5,b6,b7.},b4) = b3 .(b3 .(b4 . b5,b4 . b6),b4 . b7);

:: SETWISEO:th 29
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Element of Fin b2
for b5 being Function-like quasi_total Relation of b2,b1
   st b3 is idempotent(b1) & b3 is commutative(b1) & b3 is associative(b1) & b4 <> {}
for b6 being Element of b2 holds
   b3 $$(b4 \/ {.b6.},b5) = b3 .(b3 $$(b4,b5),b5 . b6);

:: SETWISEO:th 30
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
   st b3 is idempotent(b1) & b3 is commutative(b1) & b3 is associative(b1)
for b5, b6 being Element of Fin b2
      st b5 <> {} & b6 <> {}
   holds b3 $$(b5 \/ b6,b4) = b3 .(b3 $$(b5,b4),b3 $$(b6,b4));

:: SETWISEO:th 31
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Element of Fin b2
for b5 being Function-like quasi_total Relation of b2,b1
   st b3 is commutative(b1) & b3 is associative(b1) & b3 is idempotent(b1)
for b6 being Element of b2
      st b6 in b4
   holds b3 .(b5 . b6,b3 $$(b4,b5)) = b3 $$(b4,b5);

:: SETWISEO:th 32
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
   st b3 is commutative(b1) & b3 is associative(b1) & b3 is idempotent(b1)
for b5, b6 being Element of Fin b2
      st b5 <> {} & b5 c= b6
   holds b3 .(b3 $$(b5,b4),b3 $$(b6,b4)) = b3 $$(b6,b4);

:: SETWISEO:th 33
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Element of Fin b2
for b5 being Function-like quasi_total Relation of b2,b1
   st b4 <> {} & b3 is commutative(b1) & b3 is associative(b1) & b3 is idempotent(b1)
for b6 being Element of b1
      st for b7 being Element of b2
              st b7 in b4
           holds b5 . b7 = b6
   holds b3 $$(b4,b5) = b6;

:: SETWISEO:th 34
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
for b4 being Element of Fin b1
for b5 being Function-like quasi_total Relation of b1,b2
   st b3 is commutative(b2) & b3 is associative(b2) & b3 is idempotent(b2)
for b6 being Element of b2
      st b5 .: b4 = {b6}
   holds b3 $$(b4,b5) = b6;

:: SETWISEO:th 35
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
   st b3 is commutative(b2) & b3 is associative(b2) & b3 is idempotent(b2)
for b4, b5 being Function-like quasi_total Relation of b1,b2
for b6, b7 being Element of Fin b1
      st b6 <> {} & b4 .: b6 = b5 .: b7
   holds b3 $$(b6,b4) = b3 $$(b7,b5);

:: SETWISEO:th 36
theorem
for b1, b2 being non empty set
for b3, b4 being Function-like quasi_total Relation of [:b1,b1:],b1
   st b3 is idempotent(b1) & b3 is commutative(b1) & b3 is associative(b1) & b4 is_distributive_wrt b3
for b5 being Element of Fin b2
   st b5 <> {}
for b6 being Function-like quasi_total Relation of b2,b1
for b7 being Element of b1 holds
   b4 .(b7,b3 $$(b5,b6)) = b3 $$(b5,b4 [;](b7,b6));

:: SETWISEO:th 37
theorem
for b1, b2 being non empty set
for b3, b4 being Function-like quasi_total Relation of [:b1,b1:],b1
   st b3 is idempotent(b1) & b3 is commutative(b1) & b3 is associative(b1) & b4 is_distributive_wrt b3
for b5 being Element of Fin b2
   st b5 <> {}
for b6 being Function-like quasi_total Relation of b2,b1
for b7 being Element of b1 holds
   b4 .(b3 $$(b5,b6),b7) = b3 $$(b5,b4 [:](b6,b7));

:: SETWISEO:funcnot 11 => SETWISEO:func 8
definition
  let a1, a2 be non empty set;
  let a3 be Function-like quasi_total Relation of a1,a2;
  let a4 be Element of Fin a1;
  redefine func a3 .: a4 -> Element of Fin a2;
end;

:: SETWISEO:th 38
theorem
for b1, b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
   st b4 is idempotent(b1) & b4 is commutative(b1) & b4 is associative(b1)
for b5 being Element of Fin b2
   st b5 <> {}
for b6 being Function-like quasi_total Relation of b2,b3
for b7 being Function-like quasi_total Relation of b3,b1 holds
   b4 $$(b6 .: b5,b7) = b4 $$(b5,b7 * b6);

:: SETWISEO:th 39
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
   st b3 is commutative(b2) & b3 is associative(b2) & b3 is idempotent(b2)
for b4 being non empty set
for b5 being Function-like quasi_total Relation of [:b4,b4:],b4
   st b5 is commutative(b4) & b5 is associative(b4) & b5 is idempotent(b4)
for b6 being Function-like quasi_total Relation of b1,b2
for b7 being Function-like quasi_total Relation of b2,b4
   st for b8, b9 being Element of b2 holds
     b7 . (b3 .(b8,b9)) = b5 .(b7 . b8,b7 . b9)
for b8 being Element of Fin b1
      st b8 <> {}
   holds b7 . (b3 $$(b8,b6)) = b5 $$(b8,b7 * b6);

:: SETWISEO:th 40
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
   st b3 is commutative(b1) & b3 is associative(b1) & b3 is having_a_unity(b1)
for b4 being Function-like quasi_total Relation of b2,b1 holds
   b3 $$({}. b2,b4) = the_unity_wrt b3;

:: SETWISEO:th 41
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Element of Fin b2
for b5 being Function-like quasi_total Relation of b2,b1
   st b3 is idempotent(b1) & b3 is commutative(b1) & b3 is associative(b1) & b3 is having_a_unity(b1)
for b6 being Element of b2 holds
   b3 $$(b4 \/ {.b6.},b5) = b3 .(b3 $$(b4,b5),b5 . b6);

:: SETWISEO:th 42
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4 being Function-like quasi_total Relation of b2,b1
   st b3 is idempotent(b1) & b3 is commutative(b1) & b3 is associative(b1) & b3 is having_a_unity(b1)
for b5, b6 being Element of Fin b2 holds
b3 $$(b5 \/ b6,b4) = b3 .(b3 $$(b5,b4),b3 $$(b6,b4));

:: SETWISEO:th 43
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
   st b3 is commutative(b2) & b3 is associative(b2) & b3 is idempotent(b2) & b3 is having_a_unity(b2)
for b4, b5 being Function-like quasi_total Relation of b1,b2
for b6, b7 being Element of Fin b1
      st b4 .: b6 = b5 .: b7
   holds b3 $$(b6,b4) = b3 $$(b7,b5);

:: SETWISEO:th 44
theorem
for b1, b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
   st b4 is idempotent(b1) & b4 is commutative(b1) & b4 is associative(b1) & b4 is having_a_unity(b1)
for b5 being Element of Fin b2
for b6 being Function-like quasi_total Relation of b2,b3
for b7 being Function-like quasi_total Relation of b3,b1 holds
   b4 $$(b6 .: b5,b7) = b4 $$(b5,b7 * b6);

:: SETWISEO:th 45
theorem
for b1, b2 being non empty set
for b3 being Function-like quasi_total Relation of [:b2,b2:],b2
   st b3 is commutative(b2) & b3 is associative(b2) & b3 is idempotent(b2) & b3 is having_a_unity(b2)
for b4 being non empty set
for b5 being Function-like quasi_total Relation of [:b4,b4:],b4
   st b5 is commutative(b4) & b5 is associative(b4) & b5 is idempotent(b4) & b5 is having_a_unity(b4)
for b6 being Function-like quasi_total Relation of b1,b2
for b7 being Function-like quasi_total Relation of b2,b4
   st b7 . the_unity_wrt b3 = the_unity_wrt b5 &
      (for b8, b9 being Element of b2 holds
      b7 . (b3 .(b8,b9)) = b5 .(b7 . b8,b7 . b9))
for b8 being Element of Fin b1 holds
   b7 . (b3 $$(b8,b6)) = b5 $$(b8,b7 * b6);

:: SETWISEO:funcnot 12 => SETWISEO:func 9
definition
  let a1 be set;
  func FinUnion A1 -> Function-like quasi_total Relation of [:Fin a1,Fin a1:],Fin a1 means
    for b1, b2 being Element of Fin a1 holds
    it .(b1,b2) = b1 \/ b2;
end;

:: SETWISEO:def 4
theorem
for b1 being set
for b2 being Function-like quasi_total Relation of [:Fin b1,Fin b1:],Fin b1 holds
      b2 = FinUnion b1
   iff
      for b3, b4 being Element of Fin b1 holds
      b2 .(b3,b4) = b3 \/ b4;

:: SETWISEO:th 49
theorem
for b1 being set holds
   FinUnion b1 is idempotent(Fin b1);

:: SETWISEO:th 50
theorem
for b1 being set holds
   FinUnion b1 is commutative(Fin b1);

:: SETWISEO:th 51
theorem
for b1 being set holds
   FinUnion b1 is associative(Fin b1);

:: SETWISEO:th 52
theorem
for b1 being set holds
   {}. b1 is_a_unity_wrt FinUnion b1;

:: SETWISEO:th 53
theorem
for b1 being set holds
   FinUnion b1 is having_a_unity(Fin b1);

:: SETWISEO:th 54
theorem
for b1 being set holds
   the_unity_wrt FinUnion b1 is_a_unity_wrt FinUnion b1;

:: SETWISEO:th 55
theorem
for b1 being set holds
   the_unity_wrt FinUnion b1 = {};

:: SETWISEO:funcnot 13 => SETWISEO:func 10
definition
  let a1 be non empty set;
  let a2 be set;
  let a3 be Element of Fin a1;
  let a4 be Function-like quasi_total Relation of a1,Fin a2;
  func FinUnion(A3,A4) -> Element of Fin a2 equals
    (FinUnion a2) $$(a3,a4);
end;

:: SETWISEO:def 5
theorem
for b1 being non empty set
for b2 being set
for b3 being Element of Fin b1
for b4 being Function-like quasi_total Relation of b1,Fin b2 holds
   FinUnion(b3,b4) = (FinUnion b2) $$(b3,b4);

:: SETWISEO:th 56
theorem
for b1 being non empty set
for b2 being set
for b3 being Function-like quasi_total Relation of b1,Fin b2
for b4 being Element of b1 holds
   FinUnion({.b4.},b3) = b3 . b4;

:: SETWISEO:th 57
theorem
for b1 being non empty set
for b2 being set
for b3 being Function-like quasi_total Relation of b1,Fin b2
for b4, b5 being Element of b1 holds
FinUnion({.b4,b5.},b3) = (b3 . b4) \/ (b3 . b5);

:: SETWISEO:th 58
theorem
for b1 being non empty set
for b2 being set
for b3 being Function-like quasi_total Relation of b1,Fin b2
for b4, b5, b6 being Element of b1 holds
FinUnion({.b4,b5,b6.},b3) = ((b3 . b4) \/ (b3 . b5)) \/ (b3 . b6);

:: SETWISEO:th 59
theorem
for b1 being non empty set
for b2 being set
for b3 being Function-like quasi_total Relation of b1,Fin b2 holds
   FinUnion({}. b1,b3) = {};

:: SETWISEO:th 60
theorem
for b1 being non empty set
for b2 being set
for b3 being Function-like quasi_total Relation of b1,Fin b2
for b4 being Element of b1
for b5 being Element of Fin b1 holds
   FinUnion(b5 \/ {.b4.},b3) = (FinUnion(b5,b3)) \/ (b3 . b4);

:: SETWISEO:th 61
theorem
for b1 being non empty set
for b2 being set
for b3 being Function-like quasi_total Relation of b1,Fin b2
for b4 being Element of Fin b1 holds
   FinUnion(b4,b3) = union (b3 .: b4);

:: SETWISEO:th 62
theorem
for b1 being non empty set
for b2 being set
for b3 being Function-like quasi_total Relation of b1,Fin b2
for b4, b5 being Element of Fin b1 holds
FinUnion(b4 \/ b5,b3) = (FinUnion(b4,b3)) \/ FinUnion(b5,b3);

:: SETWISEO:th 63
theorem
for b1, b2 being non empty set
for b3 being set
for b4 being Element of Fin b1
for b5 being Function-like quasi_total Relation of b1,b2
for b6 being Function-like quasi_total Relation of b2,Fin b3 holds
   FinUnion(b5 .: b4,b6) = FinUnion(b4,b6 * b5);

:: SETWISEO:th 64
theorem
for b1, b2 being non empty set
for b3 being set
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
   st b4 is commutative(b1) & b4 is associative(b1) & b4 is idempotent(b1)
for b5 being Element of Fin b2
   st b5 <> {}
for b6 being Function-like quasi_total Relation of b2,Fin b3
for b7 being Function-like quasi_total Relation of Fin b3,b1
      st for b8, b9 being Element of Fin b3 holds
        b7 . (b8 \/ b9) = b4 .(b7 . b8,b7 . b9)
   holds b7 . FinUnion(b5,b6) = b4 $$(b5,b7 * b6);

:: SETWISEO:th 65
theorem
for b1, b2 being non empty set
for b3 being set
for b4 being Function-like quasi_total Relation of [:b2,b2:],b2
   st b4 is commutative(b2) & b4 is associative(b2) & b4 is idempotent(b2) & b4 is having_a_unity(b2)
for b5 being Function-like quasi_total Relation of b1,Fin b3
for b6 being Function-like quasi_total Relation of Fin b3,b2
   st b6 . {}. b3 = the_unity_wrt b4 &
      (for b7, b8 being Element of Fin b3 holds
      b6 . (b7 \/ b8) = b4 .(b6 . b7,b6 . b8))
for b7 being Element of Fin b1 holds
   b6 . FinUnion(b7,b5) = b4 $$(b7,b6 * b5);

:: SETWISEO:funcnot 14 => SETWISEO:func 11
definition
  let a1 be set;
  func singleton A1 -> Function-like quasi_total Relation of a1,Fin a1 means
    for b1 being set
          st b1 in a1
       holds it . b1 = {b1};
end;

:: SETWISEO:def 6
theorem
for b1 being set
for b2 being Function-like quasi_total Relation of b1,Fin b1 holds
      b2 = singleton b1
   iff
      for b3 being set
            st b3 in b1
         holds b2 . b3 = {b3};

:: SETWISEO:th 67
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of b1,Fin b1 holds
      b2 = singleton b1
   iff
      for b3 being Element of b1 holds
         b2 . b3 = {b3};

:: SETWISEO:th 68
theorem
for b1 being non empty set
for b2 being set
for b3 being Element of b1 holds
      b2 in (singleton b1) . b3
   iff
      b2 = b3;

:: SETWISEO:th 69
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
      st b2 in (singleton b1) . b4 & b3 in (singleton b1) . b4
   holds b2 = b3;

:: SETWISEO:th 70
theorem
for b1 being non empty set
for b2 being set
for b3 being Function-like quasi_total Relation of b1,Fin b2
for b4 being Element of Fin b1
for b5 being set holds
      b5 in FinUnion(b4,b3)
   iff
      ex b6 being Element of b1 st
         b6 in b4 & b5 in b3 . b6;

:: SETWISEO:th 71
theorem
for b1 being non empty set
for b2 being Element of Fin b1 holds
   FinUnion(b2,singleton b1) = b2;

:: SETWISEO:th 72
theorem
for b1 being non empty set
for b2, b3 being set
for b4 being Function-like quasi_total Relation of b1,Fin b2
for b5 being Function-like quasi_total Relation of Fin b2,Fin b3
   st b5 . {}. b2 = {}. b3 &
      (for b6, b7 being Element of Fin b2 holds
      b5 . (b6 \/ b7) = (b5 . b6) \/ (b5 . b7))
for b6 being Element of Fin b1 holds
   b5 . FinUnion(b6,b4) = FinUnion(b6,b5 * b4);