let p be non NAT -defined autonomic FinPartState of ; :: thesis: for s1, s2 being State of SCM+FSA st p c= s1 & p c= s2 holds
for i being Element of NAT
for da, db being Int-Location st CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i))) = Divide (da,db) & da in dom p & da <> db holds
((Comput ((ProgramPart s1),s1,i)) . da) div ((Comput ((ProgramPart s1),s1,i)) . db) = ((Comput ((ProgramPart s2),s2,i)) . da) div ((Comput ((ProgramPart s2),s2,i)) . db)

let s1, s2 be State of SCM+FSA; :: thesis: ( p c= s1 & p c= s2 implies for i being Element of NAT
for da, db being Int-Location st CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i))) = Divide (da,db) & da in dom p & da <> db holds
((Comput ((ProgramPart s1),s1,i)) . da) div ((Comput ((ProgramPart s1),s1,i)) . db) = ((Comput ((ProgramPart s2),s2,i)) . da) div ((Comput ((ProgramPart s2),s2,i)) . db) )

assume A1: ( p c= s1 & p c= s2 ) ; :: thesis: for i being Element of NAT
for da, db being Int-Location st CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i))) = Divide (da,db) & da in dom p & da <> db holds
((Comput ((ProgramPart s1),s1,i)) . da) div ((Comput ((ProgramPart s1),s1,i)) . db) = ((Comput ((ProgramPart s2),s2,i)) . da) div ((Comput ((ProgramPart s2),s2,i)) . db)

let i be Element of NAT ; :: thesis: for da, db being Int-Location st CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i))) = Divide (da,db) & da in dom p & da <> db holds
((Comput ((ProgramPart s1),s1,i)) . da) div ((Comput ((ProgramPart s1),s1,i)) . db) = ((Comput ((ProgramPart s2),s2,i)) . da) div ((Comput ((ProgramPart s2),s2,i)) . db)

let da, db be Int-Location ; :: thesis: ( CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i))) = Divide (da,db) & da in dom p & da <> db implies ((Comput ((ProgramPart s1),s1,i)) . da) div ((Comput ((ProgramPart s1),s1,i)) . db) = ((Comput ((ProgramPart s2),s2,i)) . da) div ((Comput ((ProgramPart s2),s2,i)) . db) )
set I = CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i)));
set Cs1i = Comput ((ProgramPart s1),s1,i);
set Cs2i = Comput ((ProgramPart s2),s2,i);
set Cs1i1 = Comput ((ProgramPart s1),s1,(i + 1));
set Cs2i1 = Comput ((ProgramPart s2),s2,(i + 1));
A2: Comput ((ProgramPart s2),s2,(i + 1)) = Following ((ProgramPart s2),(Comput ((ProgramPart s2),s2,i))) by EXTPRO_1:4
.= Exec ((CurInstr ((ProgramPart s2),(Comput ((ProgramPart s2),s2,i)))),(Comput ((ProgramPart s2),s2,i))) ;
A3: ( da in dom p implies ( ((Comput ((ProgramPart s1),s1,(i + 1))) | (dom p)) . da = (Comput ((ProgramPart s1),s1,(i + 1))) . da & ((Comput ((ProgramPart s2),s2,(i + 1))) | (dom p)) . da = (Comput ((ProgramPart s2),s2,(i + 1))) . da ) ) by FUNCT_1:72;
assume that
A4: CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i))) = Divide (da,db) and
A5: da in dom p and
A6: da <> db and
A7: ((Comput ((ProgramPart s1),s1,i)) . da) div ((Comput ((ProgramPart s1),s1,i)) . db) <> ((Comput ((ProgramPart s2),s2,i)) . da) div ((Comput ((ProgramPart s2),s2,i)) . db) ; :: thesis: contradiction
Comput ((ProgramPart s1),s1,(i + 1)) = Following ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i))) by EXTPRO_1:4
.= Exec ((CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i)))),(Comput ((ProgramPart s1),s1,i))) ;
then A8: (Comput ((ProgramPart s1),s1,(i + 1))) . da = ((Comput ((ProgramPart s1),s1,i)) . da) div ((Comput ((ProgramPart s1),s1,i)) . db) by A4, A6, SCMFSA_2:93;
CurInstr ((ProgramPart s1),(Comput ((ProgramPart s1),s1,i))) = CurInstr ((ProgramPart s2),(Comput ((ProgramPart s2),s2,i))) by A1, Th18;
then (Comput ((ProgramPart s2),s2,(i + 1))) . da = ((Comput ((ProgramPart s2),s2,i)) . da) div ((Comput ((ProgramPart s2),s2,i)) . db) by A2, A4, A6, SCMFSA_2:93;
hence contradiction by A1, A3, A5, A7, A8, EXTPRO_1:def 9; :: thesis: verum