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 Initialized s & J is_halting_on Initialized s holds
IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At ((((card I) + (card J)) + (card J)) + 7),SCM+FSA )

let I, J be Program of SCM+FSA ; :: thesis: for a being read-write Int-Location st s . a = 0 & J is_closed_on Initialized s & J is_halting_on Initialized s holds
IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At ((((card I) + (card J)) + (card J)) + 7),SCM+FSA )

let a be read-write Int-Location ; :: thesis: ( s . a = 0 & J is_closed_on Initialized s & J is_halting_on Initialized s implies IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At ((((card I) + (card J)) + (card J)) + 7),SCM+FSA ) )
assume A1: s . a = 0 ; :: thesis: ( not J is_closed_on Initialized s or not J is_halting_on Initialized s or IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At ((((card I) + (card J)) + (card J)) + 7),SCM+FSA ) )
assume that
A2: J is_closed_on Initialized s and
A3: J is_halting_on Initialized s ; :: thesis: IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At ((((card I) + (card J)) + (card J)) + 7),SCM+FSA )
thus IExec (if<0 a,I,J),s = (IExec J,s) +* (Start-At (((card (if>0 a,J,I)) + (card J)) + 3),SCM+FSA ) by A1, A2, A3, Th17
.= (IExec J,s) +* (Start-At (((((card I) + (card J)) + 4) + (card J)) + 3),SCM+FSA ) by Th15
.= (IExec J,s) +* (Start-At ((((card I) + (card J)) + (card J)) + 7),SCM+FSA ) ; :: thesis: verum