set k1 = n;
set J = Load (goto n);
now
let n be Element of NAT ; :: thesis: for i being Instruction of SCMPDS st n in dom (Load (goto n)) & i = (Load (goto n)) . n holds
( InsCode i <> 1 & InsCode i <> 3 & i valid_at n )

let i be Instruction of SCMPDS; :: thesis: ( n in dom (Load (goto n)) & i = (Load (goto n)) . n implies ( InsCode i <> 1 & InsCode i <> 3 & i valid_at n ) )
assume that
A1: n in dom (Load (goto n)) and
A2: i = (Load (goto n)) . n ; :: thesis: ( InsCode i <> 1 & InsCode i <> 3 & i valid_at n )
dom (Load (goto n)) = {0} by FUNCOP_1:13;
then n = 0 by A1, TARSKI:def 1;
then A3: goto n = i by A2, FUNCOP_1:72;
hence ( InsCode i <> 1 & InsCode i <> 3 ) by SCMPDS_2:12; :: thesis: i valid_at n
A4: ( n + n >= 0 & InsCode i <> 6 ) by A3, SCMPDS_2:12;
( InsCode i <> 4 & InsCode i <> 5 ) by A3, SCMPDS_2:12;
hence i valid_at n by A3, A4, Def11; :: thesis: verum
end;
hence for b1 being Program of st b1 = Load (goto n) holds
b1 is shiftable by Def12; :: thesis: verum