let V be RealLinearSpace; :: thesis: for u, v, w, y being VECTOR of V st Gen w,y holds
( u,v are_Ort_wrt w,y iff for a1, a2, b1, b2 being Real st u = (a1 * w) + (a2 * y) & v = (b1 * w) + (b2 * y) holds
(a1 * b1) + (a2 * b2) = 0 )

let u, v, w, y be VECTOR of V; :: thesis: ( Gen w,y implies ( u,v are_Ort_wrt w,y iff for a1, a2, b1, b2 being Real st u = (a1 * w) + (a2 * y) & v = (b1 * w) + (b2 * y) holds
(a1 * b1) + (a2 * b2) = 0 ) )

assume A1: Gen w,y ; :: thesis: ( u,v are_Ort_wrt w,y iff for a1, a2, b1, b2 being Real st u = (a1 * w) + (a2 * y) & v = (b1 * w) + (b2 * y) holds
(a1 * b1) + (a2 * b2) = 0 )

hereby :: thesis: ( ( for a1, a2, b1, b2 being Real st u = (a1 * w) + (a2 * y) & v = (b1 * w) + (b2 * y) holds
(a1 * b1) + (a2 * b2) = 0 ) implies u,v are_Ort_wrt w,y )
assume u,v are_Ort_wrt w,y ; :: thesis: for a1', a2', b1', b2' being Real st u = (a1' * w) + (a2' * y) & v = (b1' * w) + (b2' * y) holds
0 = (a1' * b1') + (a2' * b2')

then consider a1, a2, b1, b2 being Real such that
A2: ( u = (a1 * w) + (a2 * y) & v = (b1 * w) + (b2 * y) ) and
A3: (a1 * b1) + (a2 * b2) = 0 by Def2;
let a1', a2', b1', b2' be Real; :: thesis: ( u = (a1' * w) + (a2' * y) & v = (b1' * w) + (b2' * y) implies 0 = (a1' * b1') + (a2' * b2') )
assume ( u = (a1' * w) + (a2' * y) & v = (b1' * w) + (b2' * y) ) ; :: thesis: 0 = (a1' * b1') + (a2' * b2')
then ( a1 = a1' & a2 = a2' & b1 = b1' & b2 = b2' ) by A1, A2, Lm4;
hence 0 = (a1' * b1') + (a2' * b2') by A3; :: thesis: verum
end;
assume A4: for a1, a2, b1, b2 being Real st u = (a1 * w) + (a2 * y) & v = (b1 * w) + (b2 * y) holds
(a1 * b1) + (a2 * b2) = 0 ; :: thesis: u,v are_Ort_wrt w,y
consider a1, a2 being Real such that
A5: u = (a1 * w) + (a2 * y) by A1, Def1;
consider b1, b2 being Real such that
A6: v = (b1 * w) + (b2 * y) by A1, Def1;
(a1 * b1) + (a2 * b2) = 0 by A4, A5, A6;
hence u,v are_Ort_wrt w,y by A5, A6, Def2; :: thesis: verum