let f be INT-Exec of c,T; :: thesis: f is Euclidean
set S = ECIW-signature ;
set G = INT-ElemIns ;
set A = FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ;
set x = (c " ) . 0 ;
thus
for v being INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f
for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds v,t form_assignment_wrt f
by cII1; :: according to AOFA_I00:def 22 :: thesis: ( ( for i being integer number holds . i,X is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ( for v being INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds . v is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ( for x being Element of X holds ^ x is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ex a being INT-Array of X st
( a | (card X) is one-to-one & ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds a * t is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) & ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds - t is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ( for t1, t2 being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds
( t1 (#) t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 + t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 div t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 mod t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & leq t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & gt t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) )
thus
for i being integer number holds . i,X is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f
by cII3; :: thesis: ( ( for v being INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds . v is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ( for x being Element of X holds ^ x is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ex a being INT-Array of X st
( a | (card X) is one-to-one & ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds a * t is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) & ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds - t is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ( for t1, t2 being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds
( t1 (#) t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 + t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 div t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 mod t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & leq t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & gt t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) )
thus
for v being INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds . v is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f
by cII3; :: thesis: ( ( for x being Element of X holds ^ x is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ex a being INT-Array of X st
( a | (card X) is one-to-one & ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds a * t is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) & ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds - t is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ( for t1, t2 being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds
( t1 (#) t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 + t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 div t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 mod t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & leq t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & gt t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) )
thus
for x being Element of X holds ^ x is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f
by cII2; :: thesis: ( ex a being INT-Array of X st
( a | (card X) is one-to-one & ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds a * t is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) & ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds - t is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ( for t1, t2 being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds
( t1 (#) t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 + t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 div t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 mod t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & leq t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & gt t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) )
set a = (INT --> ((c " ) . 0 )) +* (c " );
( (c " ) . 0 in X & card X = rng c & rng c c= NAT )
by ThNum1, ThNum4, ThNum5;
then
( {((c " ) . 0 )} c= X & card X c= INT )
by NUMBERS:17, XBOOLE_1:1, ZFMISC_1:37;
then
( dom (INT --> ((c " ) . 0 )) = INT & rng (INT --> ((c " ) . 0 )) = {((c " ) . 0 )} & dom (c " ) = card X & rng (c " ) = X & {((c " ) . 0 )} \/ X = X & INT \/ (card X) = INT )
by ThNum2, FUNCOP_1:14, FUNCOP_1:19, XBOOLE_1:12;
then
( dom ((INT --> ((c " ) . 0 )) +* (c " )) = INT & rng ((INT --> ((c " ) . 0 )) +* (c " )) c= X )
by FUNCT_4:18, FUNCT_4:def 1;
then reconsider a = (INT --> ((c " ) . 0 )) +* (c " ) as INT-Array of X by FUNCT_2:4;
hereby :: thesis: ( ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds - t is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ( for t1, t2 being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds
( t1 (#) t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 + t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 div t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 mod t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & leq t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & gt t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) )
take a =
a;
:: thesis: ( a | (card X) is one-to-one & ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds a * t is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) )
dom (c " ) = card X
by ThNum2;
hence
a | (card X) is
one-to-one
by FUNCT_4:24;
:: thesis: for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds a * t is INT-Variable of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,fthus
for
t being
INT-Expression of
FreeUnivAlgNSG ECIW-signature ,
INT-ElemIns ,
f holds
a * t is
INT-Variable of
FreeUnivAlgNSG ECIW-signature ,
INT-ElemIns ,
f
by cII2;
:: thesis: verum
end;
thus
( ( for t being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds - t is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) & ( for t1, t2 being INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f holds
( t1 (#) t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 + t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 div t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & t1 mod t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & leq t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f & gt t1,t2 is INT-Expression of FreeUnivAlgNSG ECIW-signature ,INT-ElemIns ,f ) ) )
by cII3; :: thesis: verum