:: Projections in n-Dimensional Euclidean Space to Each Coordinates
:: by Roman Matuszewski and Yatsuka Nakamura
::
:: Copyright (c) 1997-2019 Association of Mizar Users

Lm1: for n, i being Nat
for p being Element of () ex q being Real ex g being FinSequence of REAL st
( g = p & q = g /. i )

proof end;

registration
let n be Nat;
cluster -> REAL -valued for Element of the carrier of ();
coherence
for b1 being Element of () holds b1 is REAL -valued
proof end;
end;

theorem :: JORDAN2B:1
for i being Element of NAT
for n being Nat ex f being Function of (),R^1 st
for p being Element of () holds f . p = p /. i
proof end;

theorem :: JORDAN2B:2
for n, i being Element of NAT st i in Seg n holds
(0. ()) /. i = 0
proof end;

theorem :: JORDAN2B:3
for n being Element of NAT
for r being Real
for p being Point of ()
for i being Element of NAT st i in Seg n holds
(r * p) /. i = r * (p /. i)
proof end;

theorem :: JORDAN2B:4
for n being Element of NAT
for p being Point of ()
for i being Element of NAT st i in Seg n holds
(- p) /. i = - (p /. i)
proof end;

theorem :: JORDAN2B:5
for n being Element of NAT
for p1, p2 being Point of ()
for i being Element of NAT st i in Seg n holds
(p1 + p2) /. i = (p1 /. i) + (p2 /. i)
proof end;

theorem Th6: :: JORDAN2B:6
for n being Element of NAT
for p1, p2 being Point of ()
for i being Element of NAT st i in Seg n holds
(p1 - p2) /. i = (p1 /. i) - (p2 /. i)
proof end;

theorem Th7: :: JORDAN2B:7
for n, i being Element of NAT st i <= n holds
(0* n) | i = 0* i
proof end;

theorem Th8: :: JORDAN2B:8
for n, i being Element of NAT holds (0* n) /^ i = 0* (n -' i)
proof end;

theorem Th9: :: JORDAN2B:9
for i being Element of NAT holds Sum (0* i) = 0
proof end;

theorem Th10: :: JORDAN2B:10
for n, i being Element of NAT
for r being Real st i in Seg n holds
Sum ((0* n) +* (i,r)) = r
proof end;

theorem Th11: :: JORDAN2B:11
for n being Element of NAT
for q being Element of REAL n
for p being Point of ()
for i being Element of NAT st i in Seg n & q = p holds
( p /. i <= |.q.| & (p /. i) ^2 <= |.q.| ^2 )
proof end;

theorem Th12: :: JORDAN2B:12
for n being Element of NAT
for s1 being Real
for P being Subset of ()
for i being Element of NAT st P = { p where p is Point of () : s1 > p /. i } & i in Seg n holds
P is open
proof end;

theorem Th13: :: JORDAN2B:13
for n being Element of NAT
for s1 being Real
for P being Subset of ()
for i being Element of NAT st P = { p where p is Point of () : s1 < p /. i } & i in Seg n holds
P is open
proof end;

theorem Th14: :: JORDAN2B:14
for n being Element of NAT
for P being Subset of ()
for a, b being Real
for i being Element of NAT st P = { p where p is Element of () : ( a < p /. i & p /. i < b ) } & i in Seg n holds
P is open
proof end;

theorem Th15: :: JORDAN2B:15
for n being Element of NAT
for a, b being Real
for f being Function of (),R^1
for i being Element of NAT st ( for p being Element of () holds f . p = p /. i ) holds
f " { s where s is Real : ( a < s & s < b ) } = { p where p is Element of () : ( a < p /. i & p /. i < b ) }
proof end;

theorem Th16: :: JORDAN2B:16
for X being non empty TopSpace
for M being non empty MetrSpace
for f being Function of X,() st ( for r being Real
for u being Element of M
for P being Subset of () st r > 0 & P = Ball (u,r) holds
f " P is open ) holds
f is continuous
proof end;

theorem Th17: :: JORDAN2B:17
for u being Point of RealSpace
for r, u1 being Real st u1 = u holds
Ball (u,r) = { s where s is Real : ( u1 - r < s & s < u1 + r ) }
proof end;

theorem Th18: :: JORDAN2B:18
for n being Element of NAT
for f being Function of (),R^1
for i being Element of NAT st i in Seg n & ( for p being Element of () holds f . p = p /. i ) holds
f is continuous
proof end;

theorem :: JORDAN2B:19
for s being Real holds abs <*s*> =
proof end;

theorem Th20: :: JORDAN2B:20
for p being Element of () ex r being Real st p = <*r*>
proof end;

notation
let r be Real;
synonym |[r]| for <*r*>;
end;

definition
let r be Real;
:: original: |[
redefine func |[r]| -> Point of ();
coherence
|[r]| is Point of ()
proof end;
end;

theorem :: JORDAN2B:21
for r, s being Real holds s * |[r]| = |[(s * r)]| by RVSUM_1:47;

theorem :: JORDAN2B:22
for r1, r2 being Real holds |[(r1 + r2)]| = |[r1]| + |[r2]| by RVSUM_1:13;

theorem :: JORDAN2B:23
for r1, r2 being Real st |[r1]| = |[r2]| holds
r1 = r2 by FINSEQ_1:76;

theorem Th24: :: JORDAN2B:24
for P being Subset of R^1
for b being Real st P = { s where s is Real : s < b } holds
P is open
proof end;

theorem Th25: :: JORDAN2B:25
for P being Subset of R^1
for a being Real st P = { s where s is Real : a < s } holds
P is open
proof end;

theorem Th26: :: JORDAN2B:26
for P being Subset of R^1
for a, b being Real st P = { s where s is Real : ( a < s & s < b ) } holds
P is open
proof end;

theorem Th27: :: JORDAN2B:27
for u being Point of ()
for r, u1 being Real st <*u1*> = u holds
Ball (u,r) = { <*s*> where s is Real : ( u1 - r < s & s < u1 + r ) }
proof end;

theorem :: JORDAN2B:28
for f being Function of (),R^1 st ( for p being Element of () holds f . p = p /. 1 ) holds
f is being_homeomorphism
proof end;

theorem Th29: :: JORDAN2B:29
for p being Element of () holds
( p /. 1 = p 1 & p /. 2 = p 2 )
proof end;

theorem :: JORDAN2B:30
for p being Element of () holds
( p /. 1 = proj1 . p & p /. 2 = proj2 . p )
proof end;