let x be set ; AMI_1:def 30 ( not x in proj1 Sorting-Function or ex b1 being set st
( x = b1 & ((ProgramPart (Initialized Bubble-Sort-Algorithm )) +* (Initialized Bubble-Sort-Algorithm )) +* b1 is set & Sorting-Function . b1 c= Result (ProgramPart (Initialized Bubble-Sort-Algorithm )),((Initialized Bubble-Sort-Algorithm ) +* b1) ) )
assume
x in dom Sorting-Function
; ex b1 being set st
( x = b1 & ((ProgramPart (Initialized Bubble-Sort-Algorithm )) +* (Initialized Bubble-Sort-Algorithm )) +* b1 is set & Sorting-Function . b1 c= Result (ProgramPart (Initialized Bubble-Sort-Algorithm )),((Initialized Bubble-Sort-Algorithm ) +* b1) )
then consider w being FinSequence of INT such that
A1:
x = (fsloc 0 ) .--> w
by Th60;
reconsider d = x as FinPartState of SCM+FSA by A1;
set p = Initialized Bubble-Sort-Algorithm ;
F1:
(ProgramPart (Initialized Bubble-Sort-Algorithm )) +* (Initialized Bubble-Sort-Algorithm ) = Initialized Bubble-Sort-Algorithm
by FUNCT_4:119;
A2:
dom d = {(fsloc 0 )}
by A1, FUNCOP_1:19;
take
d
; ( x = d & ((ProgramPart (Initialized Bubble-Sort-Algorithm )) +* (Initialized Bubble-Sort-Algorithm )) +* d is set & Sorting-Function . d c= Result (ProgramPart (Initialized Bubble-Sort-Algorithm )),((Initialized Bubble-Sort-Algorithm ) +* d) )
thus
x = d
; ( ((ProgramPart (Initialized Bubble-Sort-Algorithm )) +* (Initialized Bubble-Sort-Algorithm )) +* d is set & Sorting-Function . d c= Result (ProgramPart (Initialized Bubble-Sort-Algorithm )),((Initialized Bubble-Sort-Algorithm ) +* d) )
A3:
(Initialized Bubble-Sort-Algorithm ) +* d is autonomic
by A1, Th68;
A4:
dom (Initialized Bubble-Sort-Algorithm ) misses dom d
by A1, Th46;
then A7:
(Initialized Bubble-Sort-Algorithm ) +* d is halting
by AMI_1:def 26;
(Initialized Bubble-Sort-Algorithm ) +* d is autonomic
by A1, Th68;
hence
((ProgramPart (Initialized Bubble-Sort-Algorithm )) +* (Initialized Bubble-Sort-Algorithm )) +* d is pre-program of SCM+FSA
by A7, F1; Sorting-Function . d c= Result (ProgramPart (Initialized Bubble-Sort-Algorithm )),((Initialized Bubble-Sort-Algorithm ) +* d)
consider z being FinSequence of REAL such that
A8:
w,z are_fiberwise_equipotent
and
A9:
z is non-increasing
and
z is FinSequence of INT
and
A10:
Sorting-Function . d = (fsloc 0 ) .--> z
by A1, Th61;
consider t being State of SCM+FSA such that
A11:
(Initialized Bubble-Sort-Algorithm ) +* d c= t
by PBOOLE:156;
consider u being FinSequence of REAL such that
A12:
w,u are_fiberwise_equipotent
and
A13:
u is non-increasing
and
u is FinSequence of INT
and
A14:
(Result (ProgramPart t),t) . (fsloc 0 ) = u
by A1, A11, Th67;
A15:
u = z
by A8, A9, A12, A13, CLASSES1:84, RFINSEQ:36;
fsloc 0 in the carrier of SCM+FSA
;
then A16:
fsloc 0 in dom (Result (ProgramPart t),t)
by PARTFUN1:def 4;
d c= (Initialized Bubble-Sort-Algorithm ) +* d
by FUNCT_4:26;
then A17:
dom d c= dom ((Initialized Bubble-Sort-Algorithm ) +* d)
by RELAT_1:25;
A18:
dom ((fsloc 0 ) .--> z) = {(fsloc 0 )}
by FUNCOP_1:19;
fsloc 0 <> IC SCM+FSA
by SCMFSA_2:82;
then K:
dom d misses {(IC SCM+FSA )}
by A2, ZFMISC_1:17;
then
dom d misses {(IC SCM+FSA )} \/ NAT
by K, XBOOLE_1:70;
then
d is data-only
by COMPOS_1:def 23;
then
dom d misses NAT
by COMPOS_1:40;
then V:
ProgramPart ((Initialized Bubble-Sort-Algorithm ) +* d) = ProgramPart (Initialized Bubble-Sort-Algorithm )
by FUNCT_4:76;
Result (ProgramPart ((Initialized Bubble-Sort-Algorithm ) +* d)),((Initialized Bubble-Sort-Algorithm ) +* d) = (Result (ProgramPart t),t) | (dom ((Initialized Bubble-Sort-Algorithm ) +* d))
by A3, A7, A11, AMI_1:def 29;
then A83:
Result (ProgramPart (Initialized Bubble-Sort-Algorithm )),((Initialized Bubble-Sort-Algorithm ) +* d) = (Result (ProgramPart t),t) | (dom ((Initialized Bubble-Sort-Algorithm ) +* d))
by V;
Sorting-Function . d c= (Result (ProgramPart t),t) | (dom ((Initialized Bubble-Sort-Algorithm ) +* d))
by A2, A10, A14, A15, A16, A17, A18, F1, FUNCT_4:90, RELAT_1:186;
hence
Sorting-Function . d c= Result (ProgramPart (Initialized Bubble-Sort-Algorithm )),((Initialized Bubble-Sort-Algorithm ) +* d)
by A83; verum