:: Preliminaries to Normed Spaces
:: by Andrzej Trybulec
::
:: Received March 23, 2010
:: Copyright (c) 2010-2016 Association of Mizar Users

environ

vocabularies HIDDEN, SUBSET_1, STRUCT_0, NORMSP_1, FUNCT_1, NUMBERS, REAL_1, XBOOLE_0, FUNCT_5, CARD_1, METRIC_1, RELAT_2, SUPINF_2, XCMPLX_0, NAT_1, SEQ_1, RELAT_1, TARSKI, PARTFUN1, NORMSP_0;
notations HIDDEN, TARSKI, XBOOLE_0, SUBSET_1, RELAT_1, FUNCT_1, PARTFUN1, FUNCT_2, FUNCOP_1, FUNCT_5, ORDINAL1, NUMBERS, XCMPLX_0, XREAL_0, NAT_1, SEQ_1, STRUCT_0;
definitions TARSKI, RELAT_1, FUNCT_1;
theorems FUNCOP_1, TARSKI, FUNCT_1, RELAT_1, RELSET_1, PARTFUN1, FUNCT_2, STRUCT_0, XREAL_0, ORDINAL1;
schemes FUNCT_1;
registrations STRUCT_0, RELSET_1, XBOOLE_0, NUMBERS, XREAL_0, ORDINAL1, FUNCT_2;
constructors HIDDEN, FUNCT_2, NUMBERS, STRUCT_0, FUNCT_5, FUNCOP_1, XCMPLX_0, RELSET_1, XREAL_0;
requirements HIDDEN, BOOLE, SUBSET;
equalities FUNCT_5, FUNCOP_1, STRUCT_0;
expansions ;


definition
let RNS be non empty 1-sorted ;
let s be sequence of RNS;
let n be Nat;
:: original: .
redefine func s . n -> Element of RNS;
coherence
s . n is Element of RNS
proof end;
end;

definition
attr c1 is strict ;
struct N-Str -> 1-sorted ;
aggr N-Str(# carrier, normF #) -> N-Str ;
sel normF c1 -> Function of the carrier of c1,REAL;
end;

0 in REAL
by XREAL_0:def 1;

then reconsider f = op1 as Function of {0},REAL by FUNCOP_1:46;

reconsider z = 0 as Element of {0} by TARSKI:def 1;

registration
cluster non empty strict for N-Str ;
existence
ex b1 being N-Str st
( not b1 is empty & b1 is strict )
proof end;
end;

definition
let X be non empty N-Str ;
let x be Element of X;
func ||.x.|| -> Real equals :: NORMSP_0:def 1
the normF of X . x;
coherence
the normF of X . x is Real
;
end;

:: deftheorem defines ||. NORMSP_0:def 1 :
for X being non empty N-Str
for x being Element of X holds ||.x.|| = the normF of X . x;

definition
let X be non empty N-Str ;
let f be the carrier of X -valued Function;
func ||.f.|| -> Function means :Def2: :: NORMSP_0:def 2
( dom it = dom f & ( for e being set st e in dom it holds
it . e = ||.(f /. e).|| ) );
existence
ex b1 being Function st
( dom b1 = dom f & ( for e being set st e in dom b1 holds
b1 . e = ||.(f /. e).|| ) )
proof end;
uniqueness
for b1, b2 being Function st dom b1 = dom f & ( for e being set st e in dom b1 holds
b1 . e = ||.(f /. e).|| ) & dom b2 = dom f & ( for e being set st e in dom b2 holds
b2 . e = ||.(f /. e).|| ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines ||. NORMSP_0:def 2 :
for X being non empty N-Str
for f being the carrier of b1 -valued Function
for b3 being Function holds
( b3 = ||.f.|| iff ( dom b3 = dom f & ( for e being set st e in dom b3 holds
b3 . e = ||.(f /. e).|| ) ) );

registration
let X be non empty N-Str ;
let f be the carrier of X -valued Function;
cluster ||.f.|| -> REAL -valued ;
coherence
||.f.|| is REAL -valued
proof end;
end;

definition
let C be non empty set ;
let X be non empty N-Str ;
let f be PartFunc of C, the carrier of X;
:: original: ||.
redefine func ||.f.|| -> PartFunc of C,REAL means :: NORMSP_0:def 3
( dom it = dom f & ( for c being Element of C st c in dom it holds
it . c = ||.(f /. c).|| ) );
coherence
||.f.|| is PartFunc of C,REAL
proof end;
compatibility
for b1 being PartFunc of C,REAL holds
( b1 = ||.f.|| iff ( dom b1 = dom f & ( for c being Element of C st c in dom b1 holds
b1 . c = ||.(f /. c).|| ) ) )
proof end;
end;

:: deftheorem defines ||. NORMSP_0:def 3 :
for C being non empty set
for X being non empty N-Str
for f being PartFunc of C, the carrier of X
for b4 being PartFunc of C,REAL holds
( b4 = ||.f.|| iff ( dom b4 = dom f & ( for c being Element of C st c in dom b4 holds
b4 . c = ||.(f /. c).|| ) ) );

definition
let X be non empty N-Str ;
let s be sequence of X;
:: original: ||.
redefine func ||.s.|| -> Real_Sequence means :: NORMSP_0:def 4
for n being Nat holds it . n = ||.(s . n).||;
coherence
||.s.|| is Real_Sequence
proof end;
compatibility
for b1 being Real_Sequence holds
( b1 = ||.s.|| iff for n being Nat holds b1 . n = ||.(s . n).|| )
proof end;
end;

:: deftheorem defines ||. NORMSP_0:def 4 :
for X being non empty N-Str
for s being sequence of X
for b3 being Real_Sequence holds
( b3 = ||.s.|| iff for n being Nat holds b3 . n = ||.(s . n).|| );

definition
attr c1 is strict ;
struct N-ZeroStr -> N-Str , ZeroStr ;
aggr N-ZeroStr(# carrier, ZeroF, normF #) -> N-ZeroStr ;
end;

registration
cluster non empty strict for N-ZeroStr ;
existence
ex b1 being N-ZeroStr st
( not b1 is empty & b1 is strict )
proof end;
end;

definition
let X be non empty N-ZeroStr ;
attr X is discerning means :: NORMSP_0:def 5
for x being Element of X st ||.x.|| = 0 holds
x = 0. X;
attr X is reflexive means :Def6: :: NORMSP_0:def 6
||.(0. X).|| = 0 ;
end;

:: deftheorem defines discerning NORMSP_0:def 5 :
for X being non empty N-ZeroStr holds
( X is discerning iff for x being Element of X st ||.x.|| = 0 holds
x = 0. X );

:: deftheorem Def6 defines reflexive NORMSP_0:def 6 :
for X being non empty N-ZeroStr holds
( X is reflexive iff ||.(0. X).|| = 0 );

registration
cluster non empty strict discerning reflexive for N-ZeroStr ;
existence
ex b1 being non empty strict N-ZeroStr st
( b1 is reflexive & b1 is discerning )
proof end;
end;

registration
let X be non empty reflexive N-ZeroStr ;
let x be zero Element of X;
cluster ||.x.|| -> zero ;
coherence
||.x.|| is zero
proof end;
end;