let il be Instruction-Location of SCM ; :: thesis: SUCC il = {il,(Next )}
set X = { ((NIC I,il) \ (JUMP I)) where I is Element of the Instructions of SCM : verum } ;
set N = {il,(Next )};
now
let x be set ; :: thesis: ( ( x in union { ((NIC I,il) \ (JUMP I)) where I is Element of the Instructions of SCM : verum } implies x in {il,(Next )} ) & ( x in {il,(Next )} implies b1 in union { ((NIC b2,il) \ (JUMP b2)) where I is Element of the Instructions of SCM : verum } ) )
hereby :: thesis: ( x in {il,(Next )} implies b1 in union { ((NIC b2,il) \ (JUMP b2)) where I is Element of the Instructions of SCM : verum } )
assume x in union { ((NIC I,il) \ (JUMP I)) where I is Element of the Instructions of SCM : verum } ; :: thesis: x in {il,(Next )}
then consider Y being set such that
A1: ( x in Y & Y in { ((NIC I,il) \ (JUMP I)) where I is Element of the Instructions of SCM : verum } ) by TARSKI:def 4;
consider i being Element of the Instructions of SCM such that
A2: Y = (NIC i,il) \ (JUMP i) by A1;
per cases ( i = [0 ,{} ] or ex a, b being Data-Location st i = a := b or ex a, b being Data-Location st i = AddTo a,b or ex a, b being Data-Location st i = SubFrom a,b or ex a, b being Data-Location st i = MultBy a,b or ex a, b being Data-Location st i = Divide a,b or ex i1 being Instruction-Location of SCM st i = goto i1 or ex a being Data-Location ex i1 being Instruction-Location of SCM st i = a =0_goto i1 or ex a being Data-Location ex i1 being Instruction-Location of SCM st i = a >0_goto i1 ) by AMI_3:69;
suppose ex a, b being Data-Location st i = a := b ; :: thesis: x in {il,(Next )}
then consider a, b being Data-Location such that
A3: i = a := b ;
x in {(Next )} \ (JUMP (a := b)) by A1, A2, A3, Th41;
then x = Next by TARSKI:def 1;
hence x in {il,(Next )} by TARSKI:def 2; :: thesis: verum
end;
suppose ex a, b being Data-Location st i = AddTo a,b ; :: thesis: x in {il,(Next )}
then consider a, b being Data-Location such that
A4: i = AddTo a,b ;
x in {(Next )} \ (JUMP (AddTo a,b)) by A1, A2, A4, Th42;
then x = Next by TARSKI:def 1;
hence x in {il,(Next )} by TARSKI:def 2; :: thesis: verum
end;
suppose ex a, b being Data-Location st i = SubFrom a,b ; :: thesis: x in {il,(Next )}
then consider a, b being Data-Location such that
A5: i = SubFrom a,b ;
x in {(Next )} \ (JUMP (SubFrom a,b)) by A1, A2, A5, Th43;
then x = Next by TARSKI:def 1;
hence x in {il,(Next )} by TARSKI:def 2; :: thesis: verum
end;
suppose ex a, b being Data-Location st i = MultBy a,b ; :: thesis: x in {il,(Next )}
then consider a, b being Data-Location such that
A6: i = MultBy a,b ;
x in {(Next )} \ (JUMP (MultBy a,b)) by A1, A2, A6, Th44;
then x = Next by TARSKI:def 1;
hence x in {il,(Next )} by TARSKI:def 2; :: thesis: verum
end;
suppose ex a, b being Data-Location st i = Divide a,b ; :: thesis: x in {il,(Next )}
then consider a, b being Data-Location such that
A7: i = Divide a,b ;
x in {(Next )} \ (JUMP (Divide a,b)) by A1, A2, A7, Th45;
then x = Next by TARSKI:def 1;
hence x in {il,(Next )} by TARSKI:def 2; :: thesis: verum
end;
suppose ex i1 being Instruction-Location of SCM st i = goto i1 ; :: thesis: x in {il,(Next )}
then consider i1 being Instruction-Location of SCM such that
A8: i = goto i1 ;
x in {i1} \ (JUMP i) by A1, A2, A8, Th46;
then x in {i1} \ {i1} by A8, Th47;
hence x in {il,(Next )} by XBOOLE_1:37; :: thesis: verum
end;
suppose ex a being Data-Location ex i1 being Instruction-Location of SCM st i = a =0_goto i1 ; :: thesis: x in {il,(Next )}
then consider a being Data-Location , i1 being Instruction-Location of SCM such that
A9: i = a =0_goto i1 ;
x in (NIC i,il) \ {i1} by A1, A2, A9, Th49;
then A10: ( x in NIC i,il & not x in {i1} ) by XBOOLE_0:def 5;
NIC i,il = {i1,(Next )} by A9, Th48;
then ( x = i1 or x = Next ) by A10, TARSKI:def 2;
hence x in {il,(Next )} by A10, TARSKI:def 1, TARSKI:def 2; :: thesis: verum
end;
suppose ex a being Data-Location ex i1 being Instruction-Location of SCM st i = a >0_goto i1 ; :: thesis: x in {il,(Next )}
then consider a being Data-Location , i1 being Instruction-Location of SCM such that
A11: i = a >0_goto i1 ;
x in (NIC i,il) \ {i1} by A1, A2, A11, Th51;
then A12: ( x in NIC i,il & not x in {i1} ) by XBOOLE_0:def 5;
NIC i,il = {i1,(Next )} by A11, Th50;
then ( x = i1 or x = Next ) by A12, TARSKI:def 2;
hence x in {il,(Next )} by A12, TARSKI:def 1, TARSKI:def 2; :: thesis: verum
end;
end;
end;
assume A13: x in {il,(Next )} ; :: thesis: b1 in union { ((NIC b2,il) \ (JUMP b2)) where I is Element of the Instructions of SCM : verum }
per cases ( x = il or x = Next ) by A13, TARSKI:def 2;
suppose A14: x = il ; :: thesis: b1 in union { ((NIC b2,il) \ (JUMP b2)) where I is Element of the Instructions of SCM : verum }
set i = halt SCM ;
(NIC (halt SCM ),il) \ (JUMP (halt SCM )) = {il} by Th40;
then ( x in {il} & {il} in { ((NIC I,il) \ (JUMP I)) where I is Element of the Instructions of SCM : verum } ) by A14, TARSKI:def 1;
hence x in union { ((NIC I,il) \ (JUMP I)) where I is Element of the Instructions of SCM : verum } by TARSKI:def 4; :: thesis: verum
end;
suppose A15: x = Next ; :: thesis: b1 in union { ((NIC b2,il) \ (JUMP b2)) where I is Element of the Instructions of SCM : verum }
consider a, b being Data-Location ;
set i = AddTo a,b;
(NIC (AddTo a,b),il) \ (JUMP (AddTo a,b)) = {(Next )} by Th42;
then ( x in {(Next )} & {(Next )} in { ((NIC I,il) \ (JUMP I)) where I is Element of the Instructions of SCM : verum } ) by A15, TARSKI:def 1;
hence x in union { ((NIC I,il) \ (JUMP I)) where I is Element of the Instructions of SCM : verum } by TARSKI:def 4; :: thesis: verum
end;
end;
end;
hence SUCC il = {il,(Next )} by TARSKI:2; :: thesis: verum