let i be Instruction of SCMPDS; for m, n being Nat st i valid_at m & m <= n holds
i valid_at n
let m, n be Nat; ( i valid_at m & m <= n implies i valid_at n )
assume that
A1:
i valid_at m
and
A2:
m <= n
; i valid_at n
A3:
now ( InsCode i = 4 implies ex a being Int_position ex k1, k2 being Integer st
( i = (a,k1) <>0_goto k2 & n + k2 >= 0 ) )assume
InsCode i = 4
;
ex a being Int_position ex k1, k2 being Integer st
( i = (a,k1) <>0_goto k2 & n + k2 >= 0 )then consider a being
Int_position,
k1,
k2 being
Integer such that A4:
i = (
a,
k1)
<>0_goto k2
and A5:
m + k2 >= 0
by A1;
take a =
a;
ex k1, k2 being Integer st
( i = (a,k1) <>0_goto k2 & n + k2 >= 0 )take k1 =
k1;
ex k2 being Integer st
( i = (a,k1) <>0_goto k2 & n + k2 >= 0 )take k2 =
k2;
( i = (a,k1) <>0_goto k2 & n + k2 >= 0 )thus
i = (
a,
k1)
<>0_goto k2
by A4;
n + k2 >= 0 thus
n + k2 >= 0
by A2, A5, XREAL_1:6;
verum end;
A6:
now ( InsCode i = 6 implies ex a being Int_position ex k1, k2 being Integer st
( i = (a,k1) >=0_goto k2 & n + k2 >= 0 ) )assume
InsCode i = 6
;
ex a being Int_position ex k1, k2 being Integer st
( i = (a,k1) >=0_goto k2 & n + k2 >= 0 )then consider a being
Int_position,
k1,
k2 being
Integer such that A7:
i = (
a,
k1)
>=0_goto k2
and A8:
m + k2 >= 0
by A1;
take a =
a;
ex k1, k2 being Integer st
( i = (a,k1) >=0_goto k2 & n + k2 >= 0 )take k1 =
k1;
ex k2 being Integer st
( i = (a,k1) >=0_goto k2 & n + k2 >= 0 )take k2 =
k2;
( i = (a,k1) >=0_goto k2 & n + k2 >= 0 )thus
i = (
a,
k1)
>=0_goto k2
by A7;
n + k2 >= 0 thus
n + k2 >= 0
by A2, A8, XREAL_1:6;
verum end;
A9:
now ( InsCode i = 5 implies ex a being Int_position ex k1, k2 being Integer st
( i = (a,k1) <=0_goto k2 & n + k2 >= 0 ) )assume
InsCode i = 5
;
ex a being Int_position ex k1, k2 being Integer st
( i = (a,k1) <=0_goto k2 & n + k2 >= 0 )then consider a being
Int_position,
k1,
k2 being
Integer such that A10:
i = (
a,
k1)
<=0_goto k2
and A11:
m + k2 >= 0
by A1;
take a =
a;
ex k1, k2 being Integer st
( i = (a,k1) <=0_goto k2 & n + k2 >= 0 )take k1 =
k1;
ex k2 being Integer st
( i = (a,k1) <=0_goto k2 & n + k2 >= 0 )take k2 =
k2;
( i = (a,k1) <=0_goto k2 & n + k2 >= 0 )thus
i = (
a,
k1)
<=0_goto k2
by A10;
n + k2 >= 0 thus
n + k2 >= 0
by A2, A11, XREAL_1:6;
verum end;
hence
i valid_at n
by A3, A9, A6; verum