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 ) ) )
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