:: Analytical Ordered Affine Spaces
:: by Henryk Oryszczyszyn and Krzysztof Pra\.zmowski
::
:: Received April 11, 1990
:: Copyright (c) 1990-2021 Association of Mizar Users
:: (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.
environ
vocabularies NUMBERS, RLVECT_1, REAL_1, CARD_1, ARYTM_3, RELAT_1, ARYTM_1,
SUPINF_2, STRUCT_0, ZFMISC_1, XBOOLE_0, SUBSET_1, ANALOAF;
notations TARSKI, XBOOLE_0, ZFMISC_1, ORDINAL1, DOMAIN_1, XXREAL_0, XCMPLX_0,
XREAL_0, REAL_1, RELSET_1, NUMBERS, STRUCT_0, RLVECT_1;
constructors XXREAL_0, REAL_1, MEMBERED, DOMAIN_1, RLVECT_1;
registrations SUBSET_1, RELSET_1, XXREAL_0, STRUCT_0, ZFMISC_1, XREAL_0,
ORDINAL1;
requirements REAL, NUMERALS, SUBSET, BOOLE, ARITHM;
begin
reserve V for RealLinearSpace;
reserve p,q,u,v,w,y for VECTOR of V;
reserve a,b,c,d for Real;
definition
let V;
let u,v,w,y;
pred u,v // w,y means
:: ANALOAF:def 1
u=v or w=y or ex a,b st 00 & a*u=v implies u=a"*v;
theorem :: ANALOAF:6
(a<>0 & a*u=v implies u=a"*v) & (a<>0 & u=a"*v implies a*u=v);
theorem :: ANALOAF:7
u,v // w,y & u<>v & w<>y implies ex a,b st a*(v-u)=b*(y-w) & 0q & p,q // u,v & p,q // w,y implies u,v // w,y;
theorem :: ANALOAF:12
u,v // w,y implies v,u // y,w & w,y // u,v;
theorem :: ANALOAF:13
u,v // v,w implies u,v // u,w;
theorem :: ANALOAF:14
u,v // u,w implies u,v // v,w or u,w // w,v;
theorem :: ANALOAF:15
v-u=y-w implies u,v // w,y;
theorem :: ANALOAF:16
y=(v+w)-u implies u,v // w,y & u,w // v,y;
theorem :: ANALOAF:17
(ex p,q st p<>q) implies for u,v,w ex y st u,v // w,y & u,w // v ,y & v<>y;
theorem :: ANALOAF:18
p<>v & v,p // p,w implies ex y st u,p // p,y & u,v // w,y;
theorem :: ANALOAF:19
(for a,b st a*u + b*v=0.V holds a=0 & b=0) implies u<>v & u<>0.V & v<>0.V;
theorem :: ANALOAF:20
(ex u,v st (for a,b st a*u + b*v=0.V holds a=0 & b=0)) implies
ex u,v,w,y st not u,v // w,y & not u,v // y,w;
theorem :: ANALOAF:21
(ex p,q st (for w ex a,b st a*p + b*q=w)) implies for u,v,w,y st
not u,v // w,y & not u,v // y,w ex z being VECTOR of V st (u,v // u,z or u,v //
z,u) & (w,y // w,z or w,y // z,w);
definition
struct(1-sorted) AffinStruct
(#carrier -> set, CONGR -> Relation of [:the carrier,the carrier:]#);
end;
registration
cluster non trivial strict for AffinStruct;
end;
reserve AS for non empty AffinStruct;
reserve a,b,c,d for Element of AS;
reserve x,z for object;
definition
let AS,a,b,c,d;
pred a,b // c,d means
:: ANALOAF:def 2
[[a,b],[c,d]] in the CONGR of AS;
end;
definition
let V;
func DirPar(V) -> Relation of [:the carrier of V,the carrier of V:] means
:: ANALOAF:def 3
[x,z] in it iff ex u,v,w,y st x=[u,v] & z=[w,y] & u,v // w,y;
end;
theorem :: ANALOAF:22
[[u,v],[w,y]] in DirPar(V) iff u,v // w,y;
definition
let V;
func OASpace(V) -> strict AffinStruct equals
:: ANALOAF:def 4
AffinStruct (#the carrier of V,
DirPar(V)#);
end;
registration
let V;
cluster OASpace V -> non empty;
end;
theorem :: ANALOAF:23
(ex u,v st for a,b being Real st a*u + b*v = 0.V holds a=0 & b=0
) implies (ex a,b being Element of OASpace(V) st a<>b) & (for a,b,c,d,p,q,r,s
being Element of OASpace(V) holds a,b // c,c & (a,b // b,a implies a=b) & (a<>b
& a,b // p,q & a,b // r,s implies p,q // r,s) & (a,b // c,d implies b,a // d,c)
& (a,b // b,c implies a,b // a,c) & (a,b // a,c implies a,b // b,c or a,c // c,
b)) & (ex a,b,c,d being Element of OASpace(V) st not a,b // c,d & not a,b // d,
c) & (for a,b,c being Element of OASpace(V) ex d being Element of OASpace(V) st
a,b // c,d & a,c // b,d & b<>d) & for p,a,b,c being Element of OASpace(V) st p
<>b & b,p // p,c ex d being Element of OASpace(V) st a,p // p,d & a,b // c,d;
theorem :: ANALOAF:24
(ex p,q being VECTOR of V st (for w being VECTOR of V ex a,b
being Real st a*p + b*q=w)) implies
for a,b,c,d being Element of OASpace(V) st
not a,b // c,d & not a,b // d,c ex t being Element of OASpace(V) st (a,b // a,t
or a,b // t,a) & (c,d // c,t or c,d // t,c);
definition
let IT be non empty AffinStruct;
attr IT is OAffinSpace-like means
:: ANALOAF:def 5
(for a,b,c,d,p,q,r,s being Element
of IT holds a,b // c,c & (a,b // b,a implies a=b) & (a<>b & a,b // p,q & a,b //
r,s implies p,q // r,s) & (a,b // c,d implies b,a // d,c) & (a,b // b,c implies
a,b // a,c) & (a,b // a,c implies a,b // b,c or a,c // c,b)) & (ex a,b,c,d
being Element of IT st not a,b // c,d & not a,b // d,c) & (for a,b,c being
Element of IT ex d being Element of IT st a,b // c,d & a,c // b,d & b<>d) & for
p,a,b,c being Element of IT st p<>b & b,p // p,c ex d being Element of IT st a,
p // p,d & a,b // c,d;
end;
registration
cluster strict OAffinSpace-like for non trivial AffinStruct;
end;
definition
mode OAffinSpace is OAffinSpace-like non trivial AffinStruct;
end;
theorem :: ANALOAF:25
(ex a,b being Element of AS st a<>b) & (for a,b,c,d,p,q,r,s being
Element of AS holds a,b // c,c & (a,b // b,a implies a=b) & (a<>b & a,b // p,q
& a,b // r,s implies p,q // r,s) & (a,b // c,d implies b,a // d,c) & (a,b // b,
c implies a,b // a,c) & (a,b // a,c implies a,b // b,c or a,c // c,b)) & (ex a,
b,c,d being Element of AS st not a,b // c,d & not a,b // d,c) & (for a,b,c
being Element of AS ex d being Element of AS st a,b // c,d & a,c // b,d & b<>d)
& (for p,a,b,c being Element of AS st p<>b & b,p // p,c ex d being Element of
AS st a,p // p,d & a,b // c,d) iff AS is OAffinSpace;
theorem :: ANALOAF:26
(ex u,v st for a,b being Real st a*u + b*v = 0.V holds a=0 & b=0
) implies OASpace(V) is OAffinSpace;
definition
let IT be OAffinSpace;
attr IT is 2-dimensional means
:: ANALOAF:def 6
for a,b,c,d being Element of IT st not
a,b // c,d & not a,b // d,c holds ex p being Element of IT st (a,b // a,p or a,
b // p,a) & (c,d // c,p or c,d // p,c);
end;
registration
cluster strict 2-dimensional for OAffinSpace;
end;
definition
mode OAffinPlane is 2-dimensional OAffinSpace;
end;
theorem :: ANALOAF:27
(ex a,b being Element of AS st a<>b) & (for a,b,c,d,p,q,r,s being
Element of AS holds a,b // c,c & (a,b // b,a implies a=b) & (a<>b & a,b // p,q
& a,b // r,s implies p,q // r,s) & (a,b // c,d implies b,a // d,c) & (a,b // b,
c implies a,b // a,c) & (a,b // a,c implies a,b // b,c or a,c // c,b)) & (ex a,
b,c,d being Element of AS st not a,b // c,d & not a,b // d,c) & (for a,b,c
being Element of AS ex d being Element of AS st a,b // c,d & a,c // b,d & b<>d)
& (for p,a,b,c being Element of AS st p<>b & b,p // p,c ex d being Element of
AS st a,p // p,d & a,b // c,d) & (for a,b,c,d being Element of AS st not a,b //
c,d & not a,b // d,c holds ex p being Element of AS st (a,b // a,p or a,b // p,
a) & (c,d // c,p or c,d // p,c)) iff AS is OAffinPlane;
theorem :: ANALOAF:28
(ex u,v st (for a,b being Real st a*u + b*v = 0.V holds a=0 & b=0) &
(for w ex a,b being Real st w = a*u + b*v)) implies
OASpace(V) is OAffinPlane;