let s be State of SCM+FSA ; :: thesis: for I, J being Program of SCM+FSA
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 SCM+FSA ; :: thesis: 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 ; :: thesis: ( 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
; :: thesis: ( 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
; :: thesis: 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)))
; :: thesis: verum