let i be Instruction of SCM+FSA; :: thesis: for k being Nat holds UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
let k be Nat; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
InsCode i <= 12 by SCMFSA_2:16;
then not not InsCode i = 0 & ... & not InsCode i = 12 ;
per cases then ( 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 ) ;
suppose InsCode i = 0 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
suppose InsCode i = 1 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
suppose InsCode i = 2 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
suppose InsCode i = 3 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
suppose InsCode i = 4 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
suppose InsCode i = 5 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
suppose InsCode i = 6 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
then consider l being Nat such that
A1: i = goto l by SCMFSA_2:35;
IncAddr (i,k) = goto (l + k) by A1, SCMFSA_4:1;
hence UsedInt*Loc (IncAddr (i,k)) = {} by Th32
.= UsedInt*Loc i by A1, Th32 ;
:: thesis: verum
end;
suppose InsCode i = 7 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
then consider l being Nat, a being Int-Location such that
A2: i = a =0_goto l by SCMFSA_2:36;
IncAddr (i,k) = a =0_goto (l + k) by A2, SCMFSA_4:2;
hence UsedInt*Loc (IncAddr (i,k)) = {} by Th32
.= UsedInt*Loc i by A2, Th32 ;
:: thesis: verum
end;
suppose InsCode i = 8 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
then consider l being Nat, a being Int-Location such that
A3: i = a >0_goto l by SCMFSA_2:37;
IncAddr (i,k) = a >0_goto (l + k) by A3, SCMFSA_4:3;
hence UsedInt*Loc (IncAddr (i,k)) = {} by Th32
.= UsedInt*Loc i by A3, Th32 ;
:: thesis: verum
end;
suppose InsCode i = 9 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
suppose InsCode i = 10 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
suppose InsCode i = 11 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
suppose InsCode i = 12 ; :: thesis: UsedInt*Loc i = UsedInt*Loc (IncAddr (i,k))
end;
end;