let s be State of SCM+FSA ; :: thesis: ( (IExec (((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))) ';' ((fsloc 0 ),(intloc (2 + 1)) := (intloc (4 + 1)))),s) . (intloc (2 + 1)) = (s . (intloc (2 + 1))) - 1 & (IExec (((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))) ';' ((fsloc 0 ),(intloc (2 + 1)) := (intloc (4 + 1)))),s) . (fsloc 0 ) = ((s . (fsloc 0 )) +* (abs (s . (intloc (2 + 1)))),((s . (fsloc 0 )) /. (abs ((s . (intloc (2 + 1))) - 1)))) +* (abs ((s . (intloc (2 + 1))) - 1)),((s . (fsloc 0 )) /. (abs (s . (intloc (2 + 1))))) )
set s0 = Initialized s;
set s1 = Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s);
set s2 = IExec (((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))),s;
set s3 = IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s;
set s4 = IExec (((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))),s;
set s5 = IExec ((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))),s;
set s6 = IExec (((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))) ';' ((fsloc 0 ),(intloc (2 + 1)) := (intloc (4 + 1)))),s;
A1: intloc (5 + 1) <> intloc (2 + 1) by AMI_3:52;
A2: (Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s)) . (intloc 0 ) = (Initialized s) . (intloc 0 ) by SCMFSA_2:89
.= 1 by SCMFSA6C:3 ;
A3: intloc (5 + 1) <> intloc (1 + 1) by AMI_3:52;
A4: intloc (1 + 1) <> intloc (2 + 1) by AMI_3:52;
A5: intloc (5 + 1) <> intloc (4 + 1) by AMI_3:52;
A6: intloc (4 + 1) <> intloc (1 + 1) by AMI_3:52;
A7: (IExec (((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))),s) . (intloc (1 + 1)) = (Exec (SubFrom (intloc (2 + 1)),(intloc 0 )),(Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s))) . (intloc (1 + 1)) by SCMFSA6C:9
.= (Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s)) . (intloc (1 + 1)) by A4, SCMFSA_2:91
.= (Initialized s) . (intloc (2 + 1)) by SCMFSA_2:89
.= s . (intloc (2 + 1)) by SCMFSA6C:3 ;
A8: (IExec (((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))),s) . (intloc (1 + 1)) = (Exec ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1))),(IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s)) . (intloc (1 + 1)) by SCMFSA6C:7
.= (IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s) . (intloc (1 + 1)) by A3, SCMFSA_2:98
.= (Exec ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1))),(IExec (((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))),s)) . (intloc (1 + 1)) by SCMFSA6C:7
.= s . (intloc (2 + 1)) by A6, A7, SCMFSA_2:98 ;
A9: intloc (4 + 1) <> intloc (2 + 1) by AMI_3:52;
A10: (IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s) . (intloc (2 + 1)) = (Exec ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1))),(IExec (((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))),s)) . (intloc (2 + 1)) by SCMFSA6C:7
.= (IExec (((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))),s) . (intloc (2 + 1)) by A9, SCMFSA_2:98
.= (Exec (SubFrom (intloc (2 + 1)),(intloc 0 )),(Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s))) . (intloc (2 + 1)) by SCMFSA6C:9
.= ((Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s)) . (intloc (2 + 1))) - ((Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s)) . (intloc 0 )) by SCMFSA_2:91
.= ((Initialized s) . (intloc (2 + 1))) - ((Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s)) . (intloc 0 )) by A4, SCMFSA_2:89
.= (s . (intloc (2 + 1))) - 1 by A2, SCMFSA6C:3 ;
A11: (IExec ((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))),s) . (intloc (2 + 1)) = (Exec ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1))),(IExec (((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))),s)) . (intloc (2 + 1)) by SCMFSA6C:7
.= (IExec (((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))),s) . (intloc (2 + 1)) by SCMFSA_2:99
.= (Exec ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1))),(IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s)) . (intloc (2 + 1)) by SCMFSA6C:7
.= (s . (intloc (2 + 1))) - 1 by A1, A10, SCMFSA_2:98 ;
thus (IExec (((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))) ';' ((fsloc 0 ),(intloc (2 + 1)) := (intloc (4 + 1)))),s) . (intloc (2 + 1)) = (Exec ((fsloc 0 ),(intloc (2 + 1)) := (intloc (4 + 1))),(IExec ((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))),s)) . (intloc (2 + 1)) by SCMFSA6C:7
.= (s . (intloc (2 + 1))) - 1 by A11, SCMFSA_2:99 ; :: thesis: (IExec (((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))) ';' ((fsloc 0 ),(intloc (2 + 1)) := (intloc (4 + 1)))),s) . (fsloc 0 ) = ((s . (fsloc 0 )) +* (abs (s . (intloc (2 + 1)))),((s . (fsloc 0 )) /. (abs ((s . (intloc (2 + 1))) - 1)))) +* (abs ((s . (intloc (2 + 1))) - 1)),((s . (fsloc 0 )) /. (abs (s . (intloc (2 + 1)))))
A12: (IExec (((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))),s) . (fsloc 0 ) = (Exec (SubFrom (intloc (2 + 1)),(intloc 0 )),(Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s))) . (fsloc 0 ) by SCMFSA6C:10
.= (Exec ((intloc (1 + 1)) := (intloc (2 + 1))),(Initialized s)) . (fsloc 0 ) by SCMFSA_2:91
.= (Initialized s) . (fsloc 0 ) by SCMFSA_2:89
.= s . (fsloc 0 ) by SCMFSA6C:3 ;
A13: (IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s) . (fsloc 0 ) = (Exec ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1))),(IExec (((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))),s)) . (fsloc 0 ) by SCMFSA6C:8
.= s . (fsloc 0 ) by A12, SCMFSA_2:98 ;
A14: (IExec (((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))),s) . (fsloc 0 ) = (Exec ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1))),(IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s)) . (fsloc 0 ) by SCMFSA6C:8
.= s . (fsloc 0 ) by A13, SCMFSA_2:98 ;
A15: (IExec (((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))),s) . (intloc (5 + 1)) = (Exec ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1))),(IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s)) . (intloc (5 + 1)) by SCMFSA6C:7
.= (s . (fsloc 0 )) /. (abs ((s . (intloc (2 + 1))) - 1)) by A10, A13, SCMBSORT:8 ;
A16: (IExec ((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))),s) . (fsloc 0 ) = (Exec ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1))),(IExec (((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))),s)) . (fsloc 0 ) by SCMFSA6C:8
.= (s . (fsloc 0 )) +* (abs (s . (intloc (2 + 1)))),((s . (fsloc 0 )) /. (abs ((s . (intloc (2 + 1))) - 1))) by A14, A8, A15, SCMBSORT:9 ;
A17: (IExec ((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))),s) . (intloc (4 + 1)) = (Exec ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1))),(IExec (((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))),s)) . (intloc (4 + 1)) by SCMFSA6C:7
.= (IExec (((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))),s) . (intloc (4 + 1)) by SCMFSA_2:99
.= (Exec ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1))),(IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s)) . (intloc (4 + 1)) by SCMFSA6C:7
.= (IExec ((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))),s) . (intloc (4 + 1)) by A5, SCMFSA_2:98
.= (Exec ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1))),(IExec (((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))),s)) . (intloc (4 + 1)) by SCMFSA6C:7
.= (s . (fsloc 0 )) /. (abs (s . (intloc (2 + 1)))) by A12, A7, SCMBSORT:8 ;
thus (IExec (((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))) ';' ((fsloc 0 ),(intloc (2 + 1)) := (intloc (4 + 1)))),s) . (fsloc 0 ) = (Exec ((fsloc 0 ),(intloc (2 + 1)) := (intloc (4 + 1))),(IExec ((((((intloc (1 + 1)) := (intloc (2 + 1))) ';' (SubFrom (intloc (2 + 1)),(intloc 0 ))) ';' ((intloc (4 + 1)) := (fsloc 0 ),(intloc (1 + 1)))) ';' ((intloc (5 + 1)) := (fsloc 0 ),(intloc (2 + 1)))) ';' ((fsloc 0 ),(intloc (1 + 1)) := (intloc (5 + 1)))),s)) . (fsloc 0 ) by SCMFSA6C:8
.= ((s . (fsloc 0 )) +* (abs (s . (intloc (2 + 1)))),((s . (fsloc 0 )) /. (abs ((s . (intloc (2 + 1))) - 1)))) +* (abs ((s . (intloc (2 + 1))) - 1)),((s . (fsloc 0 )) /. (abs (s . (intloc (2 + 1))))) by A11, A17, A16, SCMBSORT:9 ; :: thesis: verum