
theorem
  for L being Lattice holds L is complete iff ex C being FormalContext
  st ConceptLattice(C),L are_isomorphic
proof
  let L be Lattice;
  hereby
    assume L is complete;
    then ConceptLattice(Context(L)),L are_isomorphic by Th15;
    hence ex C being FormalContext st ConceptLattice(C),L are_isomorphic;
  end;
  given C being FormalContext such that
A1: ConceptLattice(C),L are_isomorphic;
  let X be Subset of L;
  consider f being Homomorphism of L,ConceptLattice(C) such that
A2: f is bijective by A1,LATTICE4:def 3;
  set FX = { f.x where x is Element of L : x in X };
  FX c= the carrier of ConceptLattice(C)
  proof
    let x be object;
    assume x in FX;
    then ex y being Element of L st x = f.y & y in X;
    hence thesis;
  end;
  then reconsider FX as Subset of ConceptLattice(C);
  set Fa = "/\"(FX,ConceptLattice(C));
  consider a being Element of L such that
A3: Fa = f.a by A2,LATTICE4:6;
A4: for b being Element of L st b is_less_than X holds b [= a
  proof
    let b be Element of L;
    assume
A5: b is_less_than X;
    f.b is_less_than FX
    proof
      let q be Element of ConceptLattice(C);
      assume q in FX;
      then consider y being Element of L such that
A6:   q = f.y and
A7:   y in X;
      b [= y by A5,A7;
      hence thesis by A2,A6,LATTICE4:5;
    end;
    then f.b [= f.a by A3,LATTICE3:34;
    hence thesis by A2,LATTICE4:5;
  end;
A8: Fa is_less_than FX by LATTICE3:34;
  a is_less_than X
  proof
    let q be Element of L;
    assume q in X;
    then f.q in FX;
    then Fa [= f.q by A8;
    hence thesis by A2,A3,LATTICE4:5;
  end;
  hence thesis by A4;
end;
