:: VECTSP_8 semantic presentation

definition
let c1 be Field;
let c2 be strict VectSp of c1;
func lattice c2 -> strict bounded Lattice equals :: VECTSP_8:def 1
LattStr(# (Subspaces a2),(SubJoin a2),(SubMeet a2) #);
coherence
LattStr(# (Subspaces c2),(SubJoin c2),(SubMeet c2) #) is strict bounded Lattice
by VECTSP_5:78;
end;

:: deftheorem Def1 defines lattice VECTSP_8:def 1 :
for b1 being Field
for b2 being strict VectSp of b1 holds lattice b2 = LattStr(# (Subspaces b2),(SubJoin b2),(SubMeet b2) #);

definition
let c1 be Field;
let c2 be strict VectSp of c1;
mode SubVS-Family of c2 -> set means :Def2: :: VECTSP_8:def 2
for b1 being set st b1 in a3 holds
b1 is Subspace of a2;
existence
ex b1 being set st
for b2 being set st b2 in b1 holds
b2 is Subspace of c2
proof end;
end;

:: deftheorem Def2 defines SubVS-Family VECTSP_8:def 2 :
for b1 being Field
for b2 being strict VectSp of b1
for b3 being set holds
( b3 is SubVS-Family of b2 iff for b4 being set st b4 in b3 holds
b4 is Subspace of b2 );

registration
let c1 be Field;
let c2 be strict VectSp of c1;
cluster non empty SubVS-Family of a2;
existence
not for b1 being SubVS-Family of c2 holds b1 is empty
proof end;
end;

definition
let c1 be Field;
let c2 be strict VectSp of c1;
redefine func Subspaces as Subspaces c2 -> non empty SubVS-Family of a2;
coherence
Subspaces c2 is non empty SubVS-Family of c2
proof end;
let c3 be non empty SubVS-Family of c2;
redefine mode Element as Element of c3 -> Subspace of a2;
coherence
for b1 being Element of c3 holds b1 is Subspace of c2
by Def2;
end;

definition
let c1 be Field;
let c2 be strict VectSp of c1;
let c3 be Element of Subspaces c2;
func carr c3 -> Subset of a2 means :Def3: :: VECTSP_8:def 3
ex b1 being Subspace of a2 st
( a3 = b1 & a4 = the carrier of b1 );
existence
ex b1 being Subset of c2ex b2 being Subspace of c2 st
( c3 = b2 & b1 = the carrier of b2 )
proof end;
uniqueness
for b1, b2 being Subset of c2 st ex b3 being Subspace of c2 st
( c3 = b3 & b1 = the carrier of b3 ) & ex b3 being Subspace of c2 st
( c3 = b3 & b2 = the carrier of b3 ) holds
b1 = b2
;
end;

:: deftheorem Def3 defines carr VECTSP_8:def 3 :
for b1 being Field
for b2 being strict VectSp of b1
for b3 being Element of Subspaces b2
for b4 being Subset of b2 holds
( b4 = carr b3 iff ex b5 being Subspace of b2 st
( b3 = b5 & b4 = the carrier of b5 ) );

definition
let c1 be Field;
let c2 be strict VectSp of c1;
func carr c2 -> Function of Subspaces a2, bool the carrier of a2 means :Def4: :: VECTSP_8:def 4
for b1 being Element of Subspaces a2
for b2 being Subspace of a2 st b1 = b2 holds
a3 . b1 = the carrier of b2;
existence
ex b1 being Function of Subspaces c2, bool the carrier of c2 st
for b2 being Element of Subspaces c2
for b3 being Subspace of c2 st b2 = b3 holds
b1 . b2 = the carrier of b3
proof end;
uniqueness
for b1, b2 being Function of Subspaces c2, bool the carrier of c2 st ( for b3 being Element of Subspaces c2
for b4 being Subspace of c2 st b3 = b4 holds
b1 . b3 = the carrier of b4 ) & ( for b3 being Element of Subspaces c2
for b4 being Subspace of c2 st b3 = b4 holds
b2 . b3 = the carrier of b4 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines carr VECTSP_8:def 4 :
for b1 being Field
for b2 being strict VectSp of b1
for b3 being Function of Subspaces b2, bool the carrier of b2 holds
( b3 = carr b2 iff for b4 being Element of Subspaces b2
for b5 being Subspace of b2 st b4 = b5 holds
b3 . b4 = the carrier of b5 );

theorem Th1: :: VECTSP_8:1
for b1 being Field
for b2 being strict VectSp of b1
for b3 being non empty Subset of (Subspaces b2) holds not (carr b2) .: b3 is empty
proof end;

theorem Th2: :: VECTSP_8:2
for b1 being Field
for b2 being strict VectSp of b1
for b3 being strict Subspace of b2 holds 0. b2 in (carr b2) . b3
proof end;

definition
let c1 be Field;
let c2 be strict VectSp of c1;
let c3 be non empty Subset of (Subspaces c2);
func meet c3 -> strict Subspace of a2 means :Def5: :: VECTSP_8:def 5
the carrier of a4 = meet ((carr a2) .: a3);
existence
ex b1 being strict Subspace of c2 st the carrier of b1 = meet ((carr c2) .: c3)
proof end;
uniqueness
for b1, b2 being strict Subspace of c2 st the carrier of b1 = meet ((carr c2) .: c3) & the carrier of b2 = meet ((carr c2) .: c3) holds
b1 = b2
by VECTSP_4:37;
end;

:: deftheorem Def5 defines meet VECTSP_8:def 5 :
for b1 being Field
for b2 being strict VectSp of b1
for b3 being non empty Subset of (Subspaces b2)
for b4 being strict Subspace of b2 holds
( b4 = meet b3 iff the carrier of b4 = meet ((carr b2) .: b3) );

theorem Th3: :: VECTSP_8:3
for b1 being Field
for b2 being strict VectSp of b1 holds Subspaces b2 = the carrier of (lattice b2) ;

theorem Th4: :: VECTSP_8:4
for b1 being Field
for b2 being strict VectSp of b1 holds the L_meet of (lattice b2) = SubMeet b2 ;

theorem Th5: :: VECTSP_8:5
for b1 being Field
for b2 being strict VectSp of b1 holds the L_join of (lattice b2) = SubJoin b2 ;

theorem Th6: :: VECTSP_8:6
for b1 being Field
for b2 being strict VectSp of b1
for b3, b4 being Element of (lattice b2)
for b5, b6 being strict Subspace of b2 st b3 = b5 & b4 = b6 holds
( b3 [= b4 iff the carrier of b5 c= the carrier of b6 )
proof end;

theorem Th7: :: VECTSP_8:7
for b1 being Field
for b2 being strict VectSp of b1
for b3, b4 being Element of (lattice b2)
for b5, b6 being Subspace of b2 st b3 = b5 & b4 = b6 holds
b3 "\/" b4 = b5 + b6
proof end;

theorem Th8: :: VECTSP_8:8
for b1 being Field
for b2 being strict VectSp of b1
for b3, b4 being Element of (lattice b2)
for b5, b6 being Subspace of b2 st b3 = b5 & b4 = b6 holds
b3 "/\" b4 = b5 /\ b6
proof end;

definition
let c1 be non empty LattStr ;
redefine attr a1 is complete means :: VECTSP_8:def 6
for b1 being Subset of a1 ex b2 being Element of a1 st
( b2 is_less_than b1 & ( for b3 being Element of a1 st b3 is_less_than b1 holds
b3 [= b2 ) );
compatibility
( c1 is complete iff for b1 being Subset of c1 ex b2 being Element of c1 st
( b2 is_less_than b1 & ( for b3 being Element of c1 st b3 is_less_than b1 holds
b3 [= b2 ) ) )
proof end;
end;

:: deftheorem Def6 defines complete VECTSP_8:def 6 :
for b1 being non empty LattStr holds
( b1 is complete iff for b2 being Subset of b1 ex b3 being Element of b1 st
( b3 is_less_than b2 & ( for b4 being Element of b1 st b4 is_less_than b2 holds
b4 [= b3 ) ) );

theorem Th9: :: VECTSP_8:9
for b1 being Field
for b2 being strict VectSp of b1 holds lattice b2 is complete
proof end;

theorem Th10: :: VECTSP_8:10
for b1 being Field
for b2 being set
for b3 being strict VectSp of b1
for b4 being Subset of b3 st not b4 is empty & b4 is lineary-closed & b2 in Lin b4 holds
b2 in b4
proof end;

definition
let c1 be Field;
let c2, c3 be strict VectSp of c1;
let c4 be Function of the carrier of c2,the carrier of c3;
func FuncLatt c4 -> Function of the carrier of (lattice a2),the carrier of (lattice a3) means :Def7: :: VECTSP_8:def 7
for b1 being strict Subspace of a2
for b2 being Subset of a3 st b2 = a4 .: the carrier of b1 holds
a5 . b1 = Lin b2;
existence
ex b1 being Function of the carrier of (lattice c2),the carrier of (lattice c3) st
for b2 being strict Subspace of c2
for b3 being Subset of c3 st b3 = c4 .: the carrier of b2 holds
b1 . b2 = Lin b3
proof end;
uniqueness
for b1, b2 being Function of the carrier of (lattice c2),the carrier of (lattice c3) st ( for b3 being strict Subspace of c2
for b4 being Subset of c3 st b4 = c4 .: the carrier of b3 holds
b1 . b3 = Lin b4 ) & ( for b3 being strict Subspace of c2
for b4 being Subset of c3 st b4 = c4 .: the carrier of b3 holds
b2 . b3 = Lin b4 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def7 defines FuncLatt VECTSP_8:def 7 :
for b1 being Field
for b2, b3 being strict VectSp of b1
for b4 being Function of the carrier of b2,the carrier of b3
for b5 being Function of the carrier of (lattice b2),the carrier of (lattice b3) holds
( b5 = FuncLatt b4 iff for b6 being strict Subspace of b2
for b7 being Subset of b3 st b7 = b4 .: the carrier of b6 holds
b5 . b6 = Lin b7 );

definition
let c1, c2 be Lattice;
mode Semilattice-Homomorphism of c1,c2 -> Function of the carrier of a1,the carrier of a2 means :Def8: :: VECTSP_8:def 8
for b1, b2 being Element of a1 holds a3 . (b1 "/\" b2) = (a3 . b1) "/\" (a3 . b2);
existence
ex b1 being Function of the carrier of c1,the carrier of c2 st
for b2, b3 being Element of c1 holds b1 . (b2 "/\" b3) = (b1 . b2) "/\" (b1 . b3)
proof end;
end;

:: deftheorem Def8 defines Semilattice-Homomorphism VECTSP_8:def 8 :
for b1, b2 being Lattice
for b3 being Function of the carrier of b1,the carrier of b2 holds
( b3 is Semilattice-Homomorphism of b1,b2 iff for b4, b5 being Element of b1 holds b3 . (b4 "/\" b5) = (b3 . b4) "/\" (b3 . b5) );

definition
let c1, c2 be Lattice;
mode sup-Semilattice-Homomorphism of c1,c2 -> Function of the carrier of a1,the carrier of a2 means :Def9: :: VECTSP_8:def 9
for b1, b2 being Element of a1 holds a3 . (b1 "\/" b2) = (a3 . b1) "\/" (a3 . b2);
existence
ex b1 being Function of the carrier of c1,the carrier of c2 st
for b2, b3 being Element of c1 holds b1 . (b2 "\/" b3) = (b1 . b2) "\/" (b1 . b3)
proof end;
end;

:: deftheorem Def9 defines sup-Semilattice-Homomorphism VECTSP_8:def 9 :
for b1, b2 being Lattice
for b3 being Function of the carrier of b1,the carrier of b2 holds
( b3 is sup-Semilattice-Homomorphism of b1,b2 iff for b4, b5 being Element of b1 holds b3 . (b4 "\/" b5) = (b3 . b4) "\/" (b3 . b5) );

theorem Th11: :: VECTSP_8:11
for b1, b2 being Lattice
for b3 being Function of the carrier of b1,the carrier of b2 holds
( b3 is Homomorphism of b1,b2 iff ( b3 is sup-Semilattice-Homomorphism of b1,b2 & b3 is Semilattice-Homomorphism of b1,b2 ) )
proof end;

theorem Th12: :: VECTSP_8:12
for b1 being Field
for b2, b3 being strict VectSp of b1
for b4 being Function of b2,b3 st b4 is linear holds
FuncLatt b4 is sup-Semilattice-Homomorphism of lattice b2, lattice b3
proof end;

theorem Th13: :: VECTSP_8:13
for b1 being Field
for b2, b3 being strict VectSp of b1
for b4 being Function of b2,b3 st b4 is one-to-one & b4 is linear holds
FuncLatt b4 is Homomorphism of lattice b2, lattice b3
proof end;

theorem Th14: :: VECTSP_8:14
for b1 being Field
for b2, b3 being strict VectSp of b1
for b4 being Function of b2,b3 st b4 is linear & b4 is one-to-one holds
FuncLatt b4 is one-to-one
proof end;

theorem Th15: :: VECTSP_8:15
for b1 being Field
for b2 being strict VectSp of b1 holds FuncLatt (id the carrier of b2) = id the carrier of (lattice b2)
proof end;