let aa be Int-Location ; :: thesis: for I being Program of SCM+FSA st not aa in UsedIntLoc I holds
I does_not_destroy aa

let I be Program of SCM+FSA ; :: thesis: ( not aa in UsedIntLoc I implies I does_not_destroy aa )
assume A1: not aa in UsedIntLoc I ; :: thesis: I does_not_destroy aa
let i be Instruction of SCM+FSA ; :: according to SCMFSA7B:def 4 :: thesis: ( not i in proj2 I or i does_not_destroy aa )
assume i in rng I ; :: thesis: i does_not_destroy aa
then UsedIntLoc i c= UsedIntLoc I by SF_MASTR:23;
then A2: not aa in UsedIntLoc i by A1;
A3: ( not InsCode i <= 9 + 1 or InsCode i <= 8 + 1 or InsCode i = 10 ) by NAT_1:8;
A4: ( not InsCode i <= 10 + 1 or InsCode i <= 10 or InsCode i = 11 ) by NAT_1:8;
A5: InsCode i <= 11 + 1 by SCMFSA_2:35;
per cases ( InsCode i = 0 or InsCode i = 1 or InsCode i = 2 or InsCode i = 3 or InsCode i = 4 or InsCode i = 5 or InsCode i = 6 or InsCode i = 7 or InsCode i = 8 or InsCode i = 9 or InsCode i = 10 or InsCode i = 11 or InsCode i = 12 ) by A5, A4, A3, NAT_1:8, NAT_1:33;
suppose InsCode i = 0 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 1 ; :: thesis: i does_not_destroy aa
then consider a, b being Int-Location such that
A6: i = a := b by SCMFSA_2:54;
UsedIntLoc i = {a,b} by A6, SF_MASTR:18;
then a in UsedIntLoc i by TARSKI:def 2;
hence i does_not_destroy aa by A2, A6, SCMFSA7B:12; :: thesis: verum
end;
suppose InsCode i = 2 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 3 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 4 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 5 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 6 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 7 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 8 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 9 ; :: thesis: i does_not_destroy aa
then consider a, b being Int-Location , f being FinSeq-Location such that
A13: i = b := f,a by SCMFSA_2:62;
UsedIntLoc i = {a,b} by A13, SF_MASTR:21;
then b in UsedIntLoc i by TARSKI:def 2;
hence i does_not_destroy aa by A2, A13, SCMFSA7B:20; :: thesis: verum
end;
suppose InsCode i = 10 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 11 ; :: thesis: i does_not_destroy aa
end;
suppose InsCode i = 12 ; :: thesis: i does_not_destroy aa
end;
end;