let C be complete Lattice; :: thesis: for a being Element of C
for X being set holds
( a = "/\" (X,C) iff ( a is_less_than X & ( for b being Element of C st b is_less_than X holds
b [= a ) ) )

let a be Element of C; :: thesis: for X being set holds
( a = "/\" (X,C) iff ( a is_less_than X & ( for b being Element of C st b is_less_than X holds
b [= a ) ) )

let X be set ; :: thesis: ( a = "/\" (X,C) iff ( a is_less_than X & ( for b being Element of C st b is_less_than X holds
b [= a ) ) )

set Y = { b where b is Element of C : b is_less_than X } ;
A1: ( a = "/\" (X,C) iff ( { b where b is Element of C : b is_less_than X } is_less_than a & ( for c being Element of C st { b where b is Element of C : b is_less_than X } is_less_than c holds
a [= c ) ) ) by Def21;
thus ( a = "/\" (X,C) implies ( a is_less_than X & ( for b being Element of C st b is_less_than X holds
b [= a ) ) ) :: thesis: ( a is_less_than X & ( for b being Element of C st b is_less_than X holds
b [= a ) implies a = "/\" (X,C) )
proof
assume A2: a = "/\" (X,C) ; :: thesis: ( a is_less_than X & ( for b being Element of C st b is_less_than X holds
b [= a ) )

then A3: { b where b is Element of C : b is_less_than X } is_less_than a by Def21;
thus a is_less_than X :: thesis: for b being Element of C st b is_less_than X holds
b [= a
proof
let b be Element of C; :: according to LATTICE3:def 16 :: thesis: ( b in X implies a [= b )
assume A4: b in X ; :: thesis: a [= b
{ b where b is Element of C : b is_less_than X } is_less_than b
proof
let c be Element of C; :: according to LATTICE3:def 17 :: thesis: ( c in { b where b is Element of C : b is_less_than X } implies c [= b )
assume c in { b where b is Element of C : b is_less_than X } ; :: thesis: c [= b
then ex d being Element of C st
( c = d & d is_less_than X ) ;
hence c [= b by A4; :: thesis: verum
end;
hence a [= b by A2, Def21; :: thesis: verum
end;
let b be Element of C; :: thesis: ( b is_less_than X implies b [= a )
assume b is_less_than X ; :: thesis: b [= a
then b in { b where b is Element of C : b is_less_than X } ;
hence b [= a by A3; :: thesis: verum
end;
assume that
A5: a is_less_than X and
A6: for b being Element of C st b is_less_than X holds
b [= a ; :: thesis: a = "/\" (X,C)
A7: { b where b is Element of C : b is_less_than X } is_less_than a
proof
let b be Element of C; :: according to LATTICE3:def 17 :: thesis: ( b in { b where b is Element of C : b is_less_than X } implies b [= a )
assume b in { b where b is Element of C : b is_less_than X } ; :: thesis: b [= a
then ex c being Element of C st
( b = c & c is_less_than X ) ;
hence b [= a by A6; :: thesis: verum
end;
a in { b where b is Element of C : b is_less_than X } by A5;
hence a = "/\" (X,C) by A1, A7; :: thesis: verum