
theorem Th8:
  for C being FormalContext for A being Subset of the carrier' of C
holds (AttributeDerivation(C)).A = (AttributeDerivation(C)).((ObjectDerivation(
  C)).((AttributeDerivation(C)).A))
proof
  let C be FormalContext;
  let A be Subset of the carrier' of C;
  set O = {o where o is Object of C : for a being Attribute of C st a in A
  holds o is-connected-with a};
  set A9 = {a where a is Attribute of C : for o being Object of C st o in O
  holds o is-connected-with a};
  set O9 = {o where o is Object of C : for a being Attribute of C st a in A9
  holds o is-connected-with a};
A1: for x being object holds x in O9 implies x in O
  proof
    let x be object;
    assume x in O9;
    then
A2: ex x9 being Object of C st x9 = x & for a being Attribute of C st a in
    A9 holds x9 is-connected-with a;
    then reconsider x as Object of C;
    for a being Attribute of C st a in A holds x is-connected-with a
    proof
      let a be Attribute of C;
      assume
A3:   a in A;
      now
        per cases;
        case
          a in A9;
          hence thesis by A2;
        end;
        case
          not a in A9;
          then consider o being Object of C such that
A4:       o in O and
A5:       not o is-connected-with a;
          ex o9 being Object of C st o9 = o & for a being Attribute of C
          st a in A holds o9 is-connected-with a by A4;
          hence thesis by A3,A5;
        end;
      end;
      hence thesis;
    end;
    hence thesis;
  end;
  for x being object holds x in O implies x in O9
  proof
    let x be object;
    assume
A6: x in O;
    then
    ex x9 being Object of C st x9 = x & for a being Attribute of C st a in
    A holds x9 is-connected-with a;
    then reconsider x as Object of C;
    for a being Attribute of C st a in A9 holds x is-connected-with a
    proof
      let a be Attribute of C;
      assume a in A9;
      then ex a9 being Attribute of C st a9 = a & for o being Object of C st o
      in O holds o is-connected-with a9;
      hence thesis by A6;
    end;
    hence thesis;
  end;
  then
A7: O = O9 by A1,TARSKI:2;
  O c= the carrier of C
  proof
    let x be object;
    assume x in O;
    then
    ex x9 being Object of C st x9 = x & for a being Attribute of C st a in
    A holds x9 is-connected-with a;
    hence thesis;
  end;
  then reconsider O as Subset of the carrier of C;
  A9 c= the carrier' of C
  proof
    let x be object;
    assume x in A9;
    then
    ex x9 being Attribute of C st x9 = x & for o being Object of C st o in
    O holds o is-connected-with x9;
    hence thesis;
  end;
  then reconsider A9 as Subset of the carrier' of C;
  O = (AttributeDerivation(C)).A & A9 = (ObjectDerivation(C)).O by Def2,Def3;
  hence thesis by A7,Def3;
end;
