Article YELLOW15, MML version 4.99.1005

:: YELLOW15:sch 1
scheme YELLOW15:sch 1
{F1 -> natural set,
  F2 -> non empty set,
  F3 -> set,
  F4 -> set}:
ex b1 being FinSequence of F2() st
   len b1 = F1() &
    (for b2 being natural set
          st b2 in Seg F1()
       holds (P1[b2] implies b1 . b2 = F3(b2)) & (P1[b2] or b1 . b2 = F4(b2)))
provided
   for b1 being natural set
         st b1 in Seg F1()
      holds (P1[b1] implies F3(b1) in F2()) & (P1[b1] or F4(b1) in F2());


:: YELLOW15:funcreg 1
registration
  cluster BOOLEAN -> finite;
end;

:: YELLOW15:th 2
theorem
for b1 being natural set
for b2 being finite set holds
   b1 -tuples_on b2 is finite;

:: YELLOW15:th 3
theorem
for b1 being finite set
for b2 being Element of bool bool b1 holds
   b2 is finite;

:: YELLOW15:condreg 1
registration
  let a1 be finite set;
  cluster -> finite (Element of bool bool a1);
end;

:: YELLOW15:condreg 2
registration
  let a1 be finite 1-sorted;
  cluster -> finite (Element of bool bool the carrier of a1);
end;

:: YELLOW15:th 4
theorem
for b1 being non trivial set
for b2 being Element of b1 holds
   ex b3 being set st
      b3 in b1 & b2 <> b3;

:: YELLOW15:funcnot 1 => YELLOW15:func 1
definition
  let a1 be set;
  let a2 be FinSequence of bool a1;
  let a3 be FinSequence of BOOLEAN;
  func MergeSequence(A2,A3) -> FinSequence of bool a1 means
    len it = len a2 &
     (for b1 being natural set
           st b1 in dom a2
        holds it . b1 = IFEQ(a3 . b1,TRUE,a2 . b1,a1 \ (a2 . b1)));
end;

:: YELLOW15:def 1
theorem
for b1 being set
for b2 being FinSequence of bool b1
for b3 being FinSequence of BOOLEAN
for b4 being FinSequence of bool b1 holds
      b4 = MergeSequence(b2,b3)
   iff
      len b4 = len b2 &
       (for b5 being natural set
             st b5 in dom b2
          holds b4 . b5 = IFEQ(b3 . b5,TRUE,b2 . b5,b1 \ (b2 . b5)));

:: YELLOW15:th 5
theorem
for b1 being set
for b2 being FinSequence of bool b1
for b3 being FinSequence of BOOLEAN holds
   dom MergeSequence(b2,b3) = dom b2;

:: YELLOW15:th 6
theorem
for b1 being set
for b2 being FinSequence of bool b1
for b3 being FinSequence of BOOLEAN
for b4 being natural set
      st b3 . b4 = TRUE
   holds (MergeSequence(b2,b3)) . b4 = b2 . b4;

:: YELLOW15:th 7
theorem
for b1 being set
for b2 being FinSequence of bool b1
for b3 being FinSequence of BOOLEAN
for b4 being natural set
      st b4 in dom b2 & b3 . b4 = FALSE
   holds (MergeSequence(b2,b3)) . b4 = b1 \ (b2 . b4);

:: YELLOW15:th 8
theorem
for b1 being set
for b2 being FinSequence of BOOLEAN holds
   len MergeSequence(<*> bool b1,b2) = {};

:: YELLOW15:th 9
theorem
for b1 being set
for b2 being FinSequence of BOOLEAN holds
   MergeSequence(<*> bool b1,b2) = <*> bool b1;

:: YELLOW15:th 10
theorem
for b1 being set
for b2 being Element of bool b1
for b3 being FinSequence of BOOLEAN holds
   len MergeSequence(<*b2*>,b3) = 1;

:: YELLOW15:th 11
theorem
for b1 being set
for b2 being Element of bool b1
for b3 being FinSequence of BOOLEAN holds
   (b3 . 1 = TRUE implies (MergeSequence(<*b2*>,b3)) . 1 = b2) &
    (b3 . 1 = FALSE implies (MergeSequence(<*b2*>,b3)) . 1 = b1 \ b2);

:: YELLOW15:th 12
theorem
for b1 being set
for b2, b3 being Element of bool b1
for b4 being FinSequence of BOOLEAN holds
   len MergeSequence(<*b2,b3*>,b4) = 2;

:: YELLOW15:th 13
theorem
for b1 being set
for b2, b3 being Element of bool b1
for b4 being FinSequence of BOOLEAN holds
   (b4 . 1 = TRUE implies (MergeSequence(<*b2,b3*>,b4)) . 1 = b2) &
    (b4 . 1 = FALSE implies (MergeSequence(<*b2,b3*>,b4)) . 1 = b1 \ b2) &
    (b4 . 2 = TRUE implies (MergeSequence(<*b2,b3*>,b4)) . 2 = b3) &
    (b4 . 2 = FALSE implies (MergeSequence(<*b2,b3*>,b4)) . 2 = b1 \ b3);

:: YELLOW15:th 14
theorem
for b1 being set
for b2, b3, b4 being Element of bool b1
for b5 being FinSequence of BOOLEAN holds
   len MergeSequence(<*b2,b3,b4*>,b5) = 3;

:: YELLOW15:th 15
theorem
for b1 being set
for b2, b3, b4 being Element of bool b1
for b5 being FinSequence of BOOLEAN holds
   (b5 . 1 = TRUE implies (MergeSequence(<*b2,b3,b4*>,b5)) . 1 = b2) &
    (b5 . 1 = FALSE implies (MergeSequence(<*b2,b3,b4*>,b5)) . 1 = b1 \ b2) &
    (b5 . 2 = TRUE implies (MergeSequence(<*b2,b3,b4*>,b5)) . 2 = b3) &
    (b5 . 2 = FALSE implies (MergeSequence(<*b2,b3,b4*>,b5)) . 2 = b1 \ b3) &
    (b5 . 3 = TRUE implies (MergeSequence(<*b2,b3,b4*>,b5)) . 3 = b4) &
    (b5 . 3 = FALSE implies (MergeSequence(<*b2,b3,b4*>,b5)) . 3 = b1 \ b4);

:: YELLOW15:th 16
theorem
for b1 being set
for b2 being FinSequence of bool b1 holds
   {Intersect rng MergeSequence(b2,b3) where b3 is FinSequence of BOOLEAN: len b3 = len b2} is Element of bool bool b1;

:: YELLOW15:condreg 3
registration
  cluster -> boolean-valued (FinSequence of BOOLEAN);
end;

:: YELLOW15:funcnot 2 => YELLOW15:func 2
definition
  let a1 be set;
  let a2 be finite Element of bool bool a1;
  func Components A2 -> Element of bool bool a1 means
    ex b1 being FinSequence of bool a1 st
       len b1 = card a2 &
        rng b1 = a2 &
        it = {Intersect rng MergeSequence(b1,b2) where b2 is FinSequence of BOOLEAN: len b2 = len b1};
end;

:: YELLOW15:def 2
theorem
for b1 being set
for b2 being finite Element of bool bool b1
for b3 being Element of bool bool b1 holds
      b3 = Components b2
   iff
      ex b4 being FinSequence of bool b1 st
         len b4 = card b2 &
          rng b4 = b2 &
          b3 = {Intersect rng MergeSequence(b4,b5) where b5 is FinSequence of BOOLEAN: len b5 = len b4};

:: YELLOW15:funcreg 2
registration
  let a1 be set;
  let a2 be finite Element of bool bool a1;
  cluster Components a2 -> finite;
end;

:: YELLOW15:th 17
theorem
for b1 being set
for b2 being empty Element of bool bool b1 holds
   Components b2 = {b1};

:: YELLOW15:th 18
theorem
for b1 being set
for b2, b3 being finite Element of bool bool b1
      st b3 c= b2
   holds Components b2 is_finer_than Components b3;

:: YELLOW15:th 19
theorem
for b1 being set
for b2 being finite Element of bool bool b1 holds
   union Components b2 = b1;

:: YELLOW15:th 20
theorem
for b1 being set
for b2 being finite Element of bool bool b1
for b3, b4 being set
      st b3 in Components b2 & b4 in Components b2 & b3 <> b4
   holds b3 misses b4;

:: YELLOW15:attrnot 1 => YELLOW15:attr 1
definition
  let a1 be set;
  let a2 be finite Element of bool bool a1;
  attr a2 is in_general_position means
    not {} in Components a2;
end;

:: YELLOW15:dfs 3
definiens
  let a1 be set;
  let a2 be finite Element of bool bool a1;
To prove
     a2 is in_general_position
it is sufficient to prove
  thus not {} in Components a2;

:: YELLOW15:def 3
theorem
for b1 being set
for b2 being finite Element of bool bool b1 holds
      b2 is in_general_position(b1)
   iff
      not {} in Components b2;

:: YELLOW15:th 21
theorem
for b1 being set
for b2, b3 being finite Element of bool bool b1
      st b3 is in_general_position(b1) & b2 c= b3
   holds b2 is in_general_position(b1);

:: YELLOW15:th 22
theorem
for b1 being non empty set
for b2 being empty Element of bool bool b1 holds
   b2 is in_general_position(b1);

:: YELLOW15:th 23
theorem
for b1 being non empty set
for b2 being finite Element of bool bool b1
      st b2 is in_general_position(b1)
   holds Components b2 is a_partition of b1;

:: YELLOW15:th 24
theorem
for b1 being non empty RelStr holds
   [#] b1 is infs-closed(b1) & [#] b1 is sups-closed(b1);

:: YELLOW15:th 25
theorem
for b1 being non empty RelStr holds
   [#] b1 is with_bottom(b1) & [#] b1 is with_top(b1);

:: YELLOW15:funcreg 3
registration
  let a1 be non empty RelStr;
  cluster [#] a1 -> infs-closed sups-closed with_bottom with_top;
end;

:: YELLOW15:th 26
theorem
for b1 being reflexive transitive antisymmetric with_suprema continuous RelStr holds
   [#] b1 is CLbasis of b1;

:: YELLOW15:th 27
theorem
for b1 being non empty reflexive transitive antisymmetric up-complete RelStr
      st b1 is finite
   holds the carrier of b1 = the carrier of CompactSublatt b1;

:: YELLOW15:th 28
theorem
for b1 being reflexive transitive antisymmetric lower-bounded with_suprema RelStr
for b2 being Element of bool the carrier of b1
      st b2 is infinite
   holds Card b2 = Card finsups b2;

:: YELLOW15:th 29
theorem
for b1 being non empty TopSpace-like discerning TopStruct holds
   Card the carrier of b1 c= Card the topology of b1;

:: YELLOW15:th 30
theorem
for b1 being TopStruct
for b2 being Element of bool the carrier of b1
   st b2 is open(b1)
for b3 being finite Element of bool bool the carrier of b1
   st b3 is Basis of b1
for b4 being set
      st b4 in Components b3 & b2 meets b4
   holds b4 c= b2;

:: YELLOW15:th 31
theorem
for b1 being TopSpace-like discerning TopStruct
   st b1 is infinite
for b2 being Basis of b1 holds
   b2 is infinite;

:: YELLOW15:th 32
theorem
for b1 being non empty TopSpace-like TopStruct
   st b1 is finite
for b2 being Basis of b1
for b3 being Element of the carrier of b1 holds
   meet {b4 where b4 is Element of the topology of b1: b3 in b4} in b2;