
theorem
  for C being FormalContext for D being non empty Subset of
  ConceptLattice(C) holds the Extent of "\/"(D,C) = (AttributeDerivation(C)).((
ObjectDerivation(C)). union {the Extent of ConceptStr(#E,I#) where E is Subset
of the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D}
) & the Intent of "\/"(D,C) = meet {the Intent of ConceptStr(#E,I#) where E is
Subset of the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I
  #) in D}
proof
  let C be FormalContext;
  let D be non empty Subset of ConceptLattice(C);
  set O = (AttributeDerivation(C)).((ObjectDerivation(C)). union {the Extent
of ConceptStr(#E,I#) where E is Subset of the carrier of C, I is Subset of the
  carrier' of C : ConceptStr(#E,I#) in D});
  set A9 = (ObjectDerivation(C)). union {the Extent of ConceptStr(#E,I#) where
E is Subset of the carrier of C, I is Subset of the carrier' of C : ConceptStr
  (#E,I#) in D};
  set y = the Element of D;
  {the Extent of ConceptStr(#E,I#) where E is Subset of the carrier of C,
I is Subset of the carrier' of C : ConceptStr(#E,I#) in D} c= bool (the carrier
  of C)
  proof
    let x be object;
    assume x in {the Extent of ConceptStr(#E,I#) where E is Subset of the
    carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D};
    then ex E being Subset of the carrier of C, I being Subset of the carrier'
    of C st x = the Extent of ConceptStr(#E,I#) & ConceptStr(#E,I#) in D;
    hence thesis;
  end;
  then reconsider
  OO = {the Extent of ConceptStr(#E,I#) where E is Subset of the
  carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D} as
  Subset-Family of (the carrier of C);
  O c= the carrier of C
  proof
    set u = union {the Extent of ConceptStr(#E,I#) where E is Subset of the
    carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D};
    u c= the carrier of C
    proof
      let x be object;
      assume x in u;
      then consider Y being set such that
A1:   x in Y and
A2:   Y in {the Extent of ConceptStr(#E,I#) where E is Subset of the
carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D} by
TARSKI:def 4;
      ex E being Subset of the carrier of C, I being Subset of the
carrier' of C st Y = the Extent of ConceptStr(#E,I#) & ConceptStr(#E,I#) in D
      by A2;
      hence thesis by A1;
    end;
    then reconsider u as Subset of the carrier of C;
    let x be object;
A3: (AttributeDerivation(C)).((ObjectDerivation(C)).u) is Element of bool
    (the carrier of C);
    assume x in O;
    hence thesis by A3;
  end;
  then reconsider o = O as Subset of the carrier of C;
A4: ConceptLattice(C) = LattStr(#B-carrier(C),B-join(C),B-meet(C)#) by
CONLAT_1:def 20;
A5: for x being object
holds x in D implies x is strict FormalConcept of C & ex
E being Subset of the carrier of C, I being Subset of the carrier' of C st x =
  ConceptStr(#E,I#)
  proof
    let x be object;
    assume x in D;
    then x is strict FormalConcept of C by A4,CONLAT_1:31;
    hence thesis;
  end;
  then ex E9 being Subset of the carrier of C, I9 being Subset of the carrier'
  of C st y = ConceptStr(#E9,I9#);
  then
  the Extent of y in {the Extent of ConceptStr(#E,I#) where E is Subset of
  the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D};
  then reconsider OO as non empty Subset-Family of (the carrier of C);
A6: {the Intent of ConceptStr(#E,I#) where E is Subset of the carrier of C,
  I is Subset of the carrier' of C : ConceptStr(#E,I#) in D} c= {(
  ObjectDerivation(C)).O9 where O9 is Subset of the carrier of C : O9 in {the
Extent of ConceptStr(#E,I#) where E is Subset of the carrier of C, I is Subset
  of the carrier' of C : ConceptStr(#E,I#) in D}}
  proof
    let x be object;
    assume x in {the Intent of ConceptStr(#E,I#) where E is Subset of the
    carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D};
    then consider E being Subset of the carrier of C, I being Subset of the
    carrier' of C such that
A7: x = the Intent of ConceptStr(#E,I#) and
A8: ConceptStr(#E,I#) in D;
    ConceptStr(#E,I#) is FormalConcept of C by A5,A8;
    then
A9: x = (ObjectDerivation(C)).(the Extent of ConceptStr(#E,I#)) by A7,
CONLAT_1:def 10;
    the Extent of ConceptStr(#E,I#) in {the Extent of ConceptStr(#EE,II
#) where EE is Subset of the carrier of C, II is Subset of the carrier' of C :
    ConceptStr(#EE,II#) in D} by A8;
    hence thesis by A9;
  end;
  {(ObjectDerivation(C)).O9 where O9 is Subset of the carrier of C : O9
in {the Extent of ConceptStr(#E,I#) where E is Subset of the carrier of C, I is
  Subset of the carrier' of C : ConceptStr(#E,I#) in D}} c= {the Intent of
  ConceptStr(#E,I#) where E is Subset of the carrier of C, I is Subset of the
  carrier' of C : ConceptStr(#E,I#) in D}
  proof
    let x be object;
    assume x in {(ObjectDerivation(C)).O9 where O9 is Subset of the carrier
of C : O9 in {the Extent of ConceptStr(#E,I#) where E is Subset of the carrier
    of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D}};
    then consider O9 being Subset of the carrier of C such that
A10: x = (ObjectDerivation(C)).O9 and
A11: O9 in {the Extent of ConceptStr(#E,I#) where E is Subset of the
    carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D};
    consider E being Subset of the carrier of C, I being Subset of the
    carrier' of C such that
A12: O9 = the Extent of ConceptStr(#E,I#) and
A13: ConceptStr(#E,I#) in D by A11;
    ConceptStr(#E,I#) is FormalConcept of C by A5,A13;
    then x = the Intent of ConceptStr(#E,I#) by A10,A12,CONLAT_1:def 10;
    hence thesis by A13;
  end;
  then
A14: {(ObjectDerivation(C)).O9 where O9 is Subset of the carrier of C : O9
  in { the Extent of ConceptStr(#E,I#) where E is Subset of the carrier of C, I
  is Subset of the carrier' of C : ConceptStr(#E,I#) in D}} = {the Intent of
  ConceptStr(#E,I#) where E is Subset of the carrier of C, I is Subset of the
  carrier' of C : ConceptStr(#E,I#) in D} by A6;
A15: A9 = meet({(ObjectDerivation(C)).O9 where O9 is Subset of the carrier
  of C : O9 in OO}) by Th2;
  A9 c= the carrier' of C
  proof
    set y = the Element of D;

set Y = the Element of {the Intent of ConceptStr(#E,I#) where E is Subset of
the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I #) in D};
    let x be object;
    ex E9 being Subset of the carrier of C, I9 being Subset of the
    carrier' of C st y = ConceptStr(#E9,I9#) by A5;
    then
A16: the Intent of y in {the Intent of ConceptStr(#E,I#) where E is Subset
of the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D}
    ;
    then Y in {the Intent of ConceptStr(#E,I#) where E is Subset of the
    carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D};
    then
A17: ex E1 being Subset of the carrier of C, I1 being Subset of the
carrier' of C st Y = the Intent of ConceptStr(#E1,I1#) & ConceptStr(#E1, I1#)
    in D;
    assume x in A9;
    then x in Y by A15,A14,A16,SETFAM_1:def 1;
    hence thesis by A17;
  end;
  then reconsider a = A9 as Subset of the carrier' of C;
  union {the Extent of ConceptStr(#E,I#) where E is Subset of the carrier
of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D} c= the carrier
  of C
  proof
    let x be object;
    assume x in union {the Extent of ConceptStr(#E,I#) where E is Subset of
the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D};
    then consider Y being set such that
A18: x in Y and
A19: Y in {the Extent of ConceptStr(#E,I#) where E is Subset of the
    carrier of C,I is Subset of the carrier' of C : ConceptStr(#E,I#) in D} by
TARSKI:def 4;
    ex E being Subset of the carrier of C, I being Subset of the carrier'
of C st Y = the Extent of ConceptStr(#E,I#) & ConceptStr(#E,I#) in D by A19;
    hence thesis by A18;
  end;
  then reconsider CP9 = ConceptStr(#o,a#) as strict FormalConcept of C by
CONLAT_1:19;
  reconsider CP = CP9 as Element of ConceptLattice(C) by A4,CONLAT_1:31;
A20: the Intent of CP@ = meet {the Intent of ConceptStr(#E,I#) where E is
Subset of the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I
  #) in D} by A15,A14,CONLAT_1:def 21;
A21: for r being Element of ConceptLattice(C) st D is_less_than r holds CP [= r
  proof
    let r be Element of ConceptLattice(C);
    assume
A22: D is_less_than r;
A23: for q being Element of ConceptLattice(C) st q in D holds the Intent
    of r@ c= the Intent of q@
    proof
      let q be Element of ConceptLattice(C);
      assume q in D;
      then q [= r by A22;
      then q@ is-SubConcept-of r@ by CONLAT_1:43;
      hence thesis by CONLAT_1:28;
    end;
    the Intent of r@ c= meet {the Intent of ConceptStr(#E,I#) where E is
Subset of the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I
    #) in D}
    proof
      set y = the Element of D;
      let x be object;
      assume
A24:  x in the Intent of r@;
A25:  for Y being set holds Y in {the Intent of ConceptStr(#E,I#) where E
is Subset of the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E
        ,I#) in D} implies x in Y
      proof
        let Y be set;
        assume Y in {the Intent of ConceptStr(#E,I#) where E is Subset of
the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I#) in D};
        then consider
        Ey being Subset of the carrier of C, Iy being Subset of the
        carrier' of C such that
A26:    Y = the Intent of ConceptStr(#Ey,Iy#) and
A27:    ConceptStr(#Ey,Iy#) in D;
        reconsider C1 = ConceptStr(#Ey,Iy#) as Element of ConceptLattice(C) by
A27;
        the Intent of r@ c= the Intent of C1@ by A23,A27;
        then x in the Intent of C1@ by A24;
        hence thesis by A26,CONLAT_1:def 21;
      end;
      ex E9 being Subset of the carrier of C, I9 being Subset of the
      carrier' of C st y = ConceptStr(#E9,I9#) by A5;
      then the Intent of y in {the Intent of ConceptStr(#E,I#) where E is
Subset of the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I
      #) in D};
      hence thesis by A25,SETFAM_1:def 1;
    end;
    then CP@ is-SubConcept-of r@ by A20,CONLAT_1:28;
    hence thesis by CONLAT_1:43;
  end;
  D is_less_than CP
  proof
    let q be Element of ConceptLattice(C);
    assume q in D;
    then q@ in D by CONLAT_1:def 21;
    then the Intent of q@ in {the Intent of ConceptStr(#E,I#) where E is
Subset of the carrier of C, I is Subset of the carrier' of C : ConceptStr(#E,I
    #) in D};
    then the Intent of CP@ c= the Intent of q@ by A20,SETFAM_1:3;
    then q@ is-SubConcept-of CP@ by CONLAT_1:28;
    hence thesis by CONLAT_1:43;
  end;
  hence thesis by A15,A14,A21,LATTICE3:def 21;
end;
