:: BILINEAR semantic presentation

definition
let K be 1-sorted ;
let V, W be VectSpStr of K;
mode Form of V,W is Function of [:the carrier of V,the carrier of W:],the carrier of K;
end;

definition
let K be non empty ZeroStr ;
let V, W be VectSpStr of K;
canceled;
func NulForm V,W -> Form of V,W equals :: BILINEAR:def 2
[:the carrier of V,the carrier of W:] --> (0. K);
coherence
[:the carrier of V,the carrier of W:] --> (0. K) is Form of V,W
;
end;

:: deftheorem BILINEAR:def 1 :
canceled;

:: deftheorem defines NulForm BILINEAR:def 2 :
for K being non empty ZeroStr
for V, W being VectSpStr of K holds NulForm V,W = [:the carrier of V,the carrier of W:] --> (0. K);

definition
let K be non empty LoopStr ;
let V, W be non empty VectSpStr of K;
let f, g be Form of V,W;
func f + g -> Form of V,W means :Def3: :: BILINEAR:def 3
for v being Vector of V
for w being Vector of W holds it . v,w = (f . v,w) + (g . v,w);
existence
ex b1 being Form of V,W st
for v being Vector of V
for w being Vector of W holds b1 . v,w = (f . v,w) + (g . v,w)
proof end;
uniqueness
for b1, b2 being Form of V,W st ( for v being Vector of V
for w being Vector of W holds b1 . v,w = (f . v,w) + (g . v,w) ) & ( for v being Vector of V
for w being Vector of W holds b2 . v,w = (f . v,w) + (g . v,w) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines + BILINEAR:def 3 :
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f, g, b6 being Form of V,W holds
( b6 = f + g iff for v being Vector of V
for w being Vector of W holds b6 . v,w = (f . v,w) + (g . v,w) );

definition
let K be non empty HGrStr ;
let V, W be non empty VectSpStr of K;
let f be Form of V,W;
let a be Element of K;
func a * f -> Form of V,W means :Def4: :: BILINEAR:def 4
for v being Vector of V
for w being Vector of W holds it . v,w = a * (f . v,w);
existence
ex b1 being Form of V,W st
for v being Vector of V
for w being Vector of W holds b1 . v,w = a * (f . v,w)
proof end;
uniqueness
for b1, b2 being Form of V,W st ( for v being Vector of V
for w being Vector of W holds b1 . v,w = a * (f . v,w) ) & ( for v being Vector of V
for w being Vector of W holds b2 . v,w = a * (f . v,w) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines * BILINEAR:def 4 :
for K being non empty HGrStr
for V, W being non empty VectSpStr of K
for f being Form of V,W
for a being Element of K
for b6 being Form of V,W holds
( b6 = a * f iff for v being Vector of V
for w being Vector of W holds b6 . v,w = a * (f . v,w) );

definition
let K be non empty LoopStr ;
let V, W be non empty VectSpStr of K;
let f be Form of V,W;
func - f -> Form of V,W means :Def5: :: BILINEAR:def 5
for v being Vector of V
for w being Vector of W holds it . v,w = - (f . v,w);
existence
ex b1 being Form of V,W st
for v being Vector of V
for w being Vector of W holds b1 . v,w = - (f . v,w)
proof end;
uniqueness
for b1, b2 being Form of V,W st ( for v being Vector of V
for w being Vector of W holds b1 . v,w = - (f . v,w) ) & ( for v being Vector of V
for w being Vector of W holds b2 . v,w = - (f . v,w) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines - BILINEAR:def 5 :
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f, b5 being Form of V,W holds
( b5 = - f iff for v being Vector of V
for w being Vector of W holds b5 . v,w = - (f . v,w) );

definition
let K be non empty add-associative right_zeroed right_complementable left-distributive left_unital doubleLoopStr ;
let V, W be non empty VectSpStr of K;
let f be Form of V,W;
:: original: -
redefine func - f -> Form of V,W equals :: BILINEAR:def 6
(- (1. K)) * f;
coherence
- f is Form of V,W
;
compatibility
for b1 being Form of V,W holds
( b1 = - f iff b1 = (- (1. K)) * f )
proof end;
end;

:: deftheorem defines - BILINEAR:def 6 :
for K being non empty add-associative right_zeroed right_complementable left-distributive left_unital doubleLoopStr
for V, W being non empty VectSpStr of K
for f being Form of V,W holds - f = (- (1. K)) * f;

definition
let K be non empty LoopStr ;
let V, W be non empty VectSpStr of K;
let f, g be Form of V,W;
func f - g -> Form of V,W equals :: BILINEAR:def 7
f + (- g);
correctness
coherence
f + (- g) is Form of V,W
;
;
end;

:: deftheorem defines - BILINEAR:def 7 :
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f, g being Form of V,W holds f - g = f + (- g);

definition
let K be non empty LoopStr ;
let V, W be non empty VectSpStr of K;
let f, g be Form of V,W;
:: original: -
redefine func f - g -> Form of V,W means :Def8: :: BILINEAR:def 8
for v being Vector of V
for w being Vector of W holds it . v,w = (f . v,w) - (g . v,w);
coherence
f - g is Form of V,W
;
compatibility
for b1 being Form of V,W holds
( b1 = f - g iff for v being Vector of V
for w being Vector of W holds b1 . v,w = (f . v,w) - (g . v,w) )
proof end;
end;

:: deftheorem Def8 defines - BILINEAR:def 8 :
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f, g, b6 being Form of V,W holds
( b6 = f - g iff for v being Vector of V
for w being Vector of W holds b6 . v,w = (f . v,w) - (g . v,w) );

Lm1: now
let K be non empty Abelian LoopStr ;
let V, W be non empty VectSpStr of K;
let f, g be Form of V,W;
now
let v be Vector of V;
let w be Vector of W;
thus (f + g) . v,w = (f . v,w) + (g . v,w) by Def3
.= (g + f) . v,w by Def3 ;
end;
hence f + g = g + f by BINOP_1:2;
end;

definition
let K be non empty Abelian LoopStr ;
let V, W be non empty VectSpStr of K;
let f, g be Form of V,W;
:: original: +
redefine func f + g -> Form of V,W;
commutativity
for f, g being Form of V,W holds f + g = g + f
by Lm1;
end;

Lm2: for K being non empty ZeroStr
for V, W being non empty VectSpStr of K
for v being Vector of V
for w being Vector of W holds (NulForm V,W) . v,w = 0. K
by FUNCOP_1:85;

theorem :: BILINEAR:1
canceled;

theorem :: BILINEAR:2
for K being non empty right_zeroed LoopStr
for V, W being non empty VectSpStr of K
for f being Form of V,W holds f + (NulForm V,W) = f
proof end;

theorem :: BILINEAR:3
for K being non empty add-associative LoopStr
for V, W being non empty VectSpStr of K
for f, g, h being Form of V,W holds (f + g) + h = f + (g + h)
proof end;

theorem :: BILINEAR:4
for K being non empty add-associative right_zeroed right_complementable LoopStr
for V, W being non empty VectSpStr of K
for f being Form of V,W holds f - f = NulForm V,W
proof end;

theorem :: BILINEAR:5
for K being non empty right-distributive doubleLoopStr
for V, W being non empty VectSpStr of K
for a being Element of K
for f, g being Form of V,W holds a * (f + g) = (a * f) + (a * g)
proof end;

theorem :: BILINEAR:6
for K being non empty left-distributive doubleLoopStr
for V, W being non empty VectSpStr of K
for a, b being Element of K
for f being Form of V,W holds (a + b) * f = (a * f) + (b * f)
proof end;

theorem :: BILINEAR:7
for K being non empty associative doubleLoopStr
for V, W being non empty VectSpStr of K
for a, b being Element of K
for f being Form of V,W holds (a * b) * f = a * (b * f)
proof end;

theorem :: BILINEAR:8
for K being non empty left_unital doubleLoopStr
for V, W being non empty VectSpStr of K
for f being Form of V,W holds (1. K) * f = f
proof end;

Lm3: now
let K be non empty 1-sorted ;
let V, W be non empty VectSpStr of K;
let f be Form of V,W;
let v be Element of the carrier of V;
let y be Element of W;
A1: dom f = [:the carrier of V,the carrier of W:] by FUNCT_2:def 1;
then consider g being Function such that
A2: ( (curry f) . v = g & dom g = the carrier of W & rng g c= rng f ) and
for y being set st y in the carrier of W holds
g . y = f . v,y by FUNCT_5:36;
rng g c= the carrier of K by A2, XBOOLE_1:1;
then reconsider g = g as Function of the carrier of W,the carrier of K by A2, FUNCT_2:4;
g = (curry f) . v by A2;
hence (curry f) . v is Functional of W ;
consider h being Function such that
A3: ( (curry' f) . y = h & dom h = the carrier of V & rng h c= rng f ) and
for x being set st x in the carrier of V holds
h . x = f . x,y by A1, FUNCT_5:39;
rng h c= the carrier of K by A3, XBOOLE_1:1;
then reconsider h = h as Function of the carrier of V,the carrier of K by A3, FUNCT_2:4;
h = (curry' f) . y by A3;
hence (curry' f) . y is Functional of V ;
end;

definition
let K be non empty 1-sorted ;
let V, W be non empty VectSpStr of K;
let f be Form of V,W;
let v be Vector of V;
func FunctionalFAF f,v -> Functional of W equals :: BILINEAR:def 9
(curry f) . v;
correctness
coherence
(curry f) . v is Functional of W
;
by Lm3;
end;

:: deftheorem defines FunctionalFAF BILINEAR:def 9 :
for K being non empty 1-sorted
for V, W being non empty VectSpStr of K
for f being Form of V,W
for v being Vector of V holds FunctionalFAF f,v = (curry f) . v;

definition
let K be non empty 1-sorted ;
let V, W be non empty VectSpStr of K;
let f be Form of V,W;
let w be Vector of W;
func FunctionalSAF f,w -> Functional of V equals :: BILINEAR:def 10
(curry' f) . w;
correctness
coherence
(curry' f) . w is Functional of V
;
by Lm3;
end;

:: deftheorem defines FunctionalSAF BILINEAR:def 10 :
for K being non empty 1-sorted
for V, W being non empty VectSpStr of K
for f being Form of V,W
for w being Vector of W holds FunctionalSAF f,w = (curry' f) . w;

theorem Th9: :: BILINEAR:9
for K being non empty 1-sorted
for V, W being non empty VectSpStr of K
for f being Form of V,W
for v being Vector of V holds
( dom (FunctionalFAF f,v) = the carrier of W & rng (FunctionalFAF f,v) c= the carrier of K & ( for w being Vector of W holds (FunctionalFAF f,v) . w = f . v,w ) )
proof end;

theorem Th10: :: BILINEAR:10
for K being non empty 1-sorted
for V, W being non empty VectSpStr of K
for f being Form of V,W
for w being Vector of W holds
( dom (FunctionalSAF f,w) = the carrier of V & rng (FunctionalSAF f,w) c= the carrier of K & ( for v being Vector of V holds (FunctionalSAF f,w) . v = f . v,w ) )
proof end;

theorem Th11: :: BILINEAR:11
for K being non empty ZeroStr
for V, W being non empty VectSpStr of K
for v being Vector of V holds FunctionalFAF (NulForm V,W),v = 0Functional W
proof end;

theorem Th12: :: BILINEAR:12
for K being non empty ZeroStr
for V, W being non empty VectSpStr of K
for w being Vector of W holds FunctionalSAF (NulForm V,W),w = 0Functional V
proof end;

theorem Th13: :: BILINEAR:13
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f, g being Form of V,W
for w being Vector of W holds FunctionalSAF (f + g),w = (FunctionalSAF f,w) + (FunctionalSAF g,w)
proof end;

theorem Th14: :: BILINEAR:14
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f, g being Form of V,W
for v being Vector of V holds FunctionalFAF (f + g),v = (FunctionalFAF f,v) + (FunctionalFAF g,v)
proof end;

theorem Th15: :: BILINEAR:15
for K being non empty doubleLoopStr
for V, W being non empty VectSpStr of K
for f being Form of V,W
for a being Element of K
for w being Vector of W holds FunctionalSAF (a * f),w = a * (FunctionalSAF f,w)
proof end;

theorem Th16: :: BILINEAR:16
for K being non empty doubleLoopStr
for V, W being non empty VectSpStr of K
for f being Form of V,W
for a being Element of K
for v being Vector of V holds FunctionalFAF (a * f),v = a * (FunctionalFAF f,v)
proof end;

theorem Th17: :: BILINEAR:17
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f being Form of V,W
for w being Vector of W holds FunctionalSAF (- f),w = - (FunctionalSAF f,w)
proof end;

theorem Th18: :: BILINEAR:18
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f being Form of V,W
for v being Vector of V holds FunctionalFAF (- f),v = - (FunctionalFAF f,v)
proof end;

theorem :: BILINEAR:19
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f, g being Form of V,W
for w being Vector of W holds FunctionalSAF (f - g),w = (FunctionalSAF f,w) - (FunctionalSAF g,w)
proof end;

theorem :: BILINEAR:20
for K being non empty LoopStr
for V, W being non empty VectSpStr of K
for f, g being Form of V,W
for v being Vector of V holds FunctionalFAF (f - g),v = (FunctionalFAF f,v) - (FunctionalFAF g,v)
proof end;

definition
let K be non empty HGrStr ;
let V, W be non empty VectSpStr of K;
let f be Functional of V;
let g be Functional of W;
func FormFunctional f,g -> Form of V,W means :Def11: :: BILINEAR:def 11
for v being Vector of V
for w being Vector of W holds it . v,w = (f . v) * (g . w);
existence
ex b1 being Form of V,W st
for v being Vector of V
for w being Vector of W holds b1 . v,w = (f . v) * (g . w)
proof end;
uniqueness
for b1, b2 being Form of V,W st ( for v being Vector of V
for w being Vector of W holds b1 . v,w = (f . v) * (g . w) ) & ( for v being Vector of V
for w being Vector of W holds b2 . v,w = (f . v) * (g . w) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def11 defines FormFunctional BILINEAR:def 11 :
for K being non empty HGrStr
for V, W being non empty VectSpStr of K
for f being Functional of V
for g being Functional of W
for b6 being Form of V,W holds
( b6 = FormFunctional f,g iff for v being Vector of V
for w being Vector of W holds b6 . v,w = (f . v) * (g . w) );

theorem Th21: :: BILINEAR:21
for K being non empty add-associative right_zeroed right_complementable right-distributive doubleLoopStr
for V, W being non empty VectSpStr of K
for f being Functional of V
for v being Vector of V
for w being Vector of W holds (FormFunctional f,(0Functional W)) . v,w = 0. K
proof end;

theorem Th22: :: BILINEAR:22
for K being non empty add-associative right_zeroed right_complementable left-distributive doubleLoopStr
for V, W being non empty VectSpStr of K
for g being Functional of W
for v being Vector of V
for w being Vector of W holds (FormFunctional (0Functional V),g) . v,w = 0. K
proof end;

theorem :: BILINEAR:23
for K being non empty add-associative right_zeroed right_complementable right-distributive doubleLoopStr
for V, W being non empty VectSpStr of K
for f being Functional of V holds FormFunctional f,(0Functional W) = NulForm V,W
proof end;

theorem :: BILINEAR:24
for K being non empty add-associative right_zeroed right_complementable left-distributive doubleLoopStr
for V, W being non empty VectSpStr of K
for g being Functional of W holds FormFunctional (0Functional V),g = NulForm V,W
proof end;

theorem Th25: :: BILINEAR:25
for K being non empty HGrStr
for V, W being non empty VectSpStr of K
for f being Functional of V
for g being Functional of W
for v being Vector of V holds FunctionalFAF (FormFunctional f,g),v = (f . v) * g
proof end;

theorem Th26: :: BILINEAR:26
for K being non empty commutative HGrStr
for V, W being non empty VectSpStr of K
for f being Functional of V
for g being Functional of W
for w being Vector of W holds FunctionalSAF (FormFunctional f,g),w = (g . w) * f
proof end;

definition
let K be non empty LoopStr ;
let V, W be non empty VectSpStr of K;
let f be Form of V,W;
attr f is additiveFAF means :Def12: :: BILINEAR:def 12
for v being Vector of V holds FunctionalFAF f,v is additive;
attr f is additiveSAF me