let s be State of ; for I, J being Program of
for a being read-write Int-Location st s . a = 0 & J is_closed_on Initialize s & J is_halting_on Initialize s holds
IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At (insloc ((((card I) + (card J)) + (card J)) + 7)))
let I, J be Program of ; for a being read-write Int-Location st s . a = 0 & J is_closed_on Initialize s & J is_halting_on Initialize s holds
IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At (insloc ((((card I) + (card J)) + (card J)) + 7)))
let a be read-write Int-Location ; ( s . a = 0 & J is_closed_on Initialize s & J is_halting_on Initialize s implies IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At (insloc ((((card I) + (card J)) + (card J)) + 7))) )
assume A1:
s . a = 0
; ( not J is_closed_on Initialize s or not J is_halting_on Initialize s or IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At (insloc ((((card I) + (card J)) + (card J)) + 7))) )
assume that
A2:
J is_closed_on Initialize s
and
A3:
J is_halting_on Initialize s
; IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At (insloc ((((card I) + (card J)) + (card J)) + 7)))
thus IExec (if<0 a,I,J),s =
(IExec J,s) +* (Start-At (insloc (((card (if>0 a,J,I)) + (card J)) + 3)))
by A1, A2, A3, Th17
.=
(IExec J,s) +* (Start-At (insloc (((((card I) + (card J)) + 4) + (card J)) + 3)))
by Th15
.=
(IExec J,s) +* (Start-At (insloc ((((card I) + (card J)) + (card J)) + 7)))
; verum