let ins be Instruction of SCM; :: thesis: ( InsCode ins = 3 implies ex da, db being Data-Location st ins = SubFrom (da,db) )
assume A1: InsCode ins = 3 ; :: thesis: ex da, db being Data-Location st ins = SubFrom (da,db)
A2: now :: thesis: not ins in { [J,<*a*>,{}] where J is Element of Segm 9, a is Nat : J = 6 }
assume ins in { [J,<*a*>,{}] where J is Element of Segm 9, a is Nat : J = 6 } ; :: thesis: contradiction
then ex J being Element of Segm 9 ex a being Nat st
( ins = [J,<*a*>,{}] & J = 6 ) ;
hence contradiction by A1; :: thesis: verum
end;
A3: now :: thesis: not ins in { [K,<*a1*>,<*b1*>] where K is Element of Segm 9, a1 is Nat, b1 is Element of Data-Locations : K in {7,8} }
assume ins in { [K,<*a1*>,<*b1*>] where K is Element of Segm 9, a1 is Nat, b1 is Element of Data-Locations : K in {7,8} } ; :: thesis: contradiction
then consider K being Element of Segm 9, a1 being Nat, b1 being Element of Data-Locations such that
A4: ins = [K,<*a1*>,<*b1*>] and
A5: K in {7,8} ;
InsCode ins = K by A4;
hence contradiction by A1, A5, TARSKI:def 2; :: thesis: verum
end;
InsCode (halt SCM) = 0 by COMPOS_1:70;
then not ins in {[SCM-Halt,{},{}]} by A1, AMI_3:26, TARSKI:def 1;
then not ins in {[SCM-Halt,{},{}]} \/ { [J,<*a*>,{}] where J is Element of Segm 9, a is Nat : J = 6 } by A2, XBOOLE_0:def 3;
then not ins in ({[SCM-Halt,{},{}]} \/ { [J,<*a*>,{}] where J is Element of Segm 9, a is Nat : J = 6 } ) \/ { [K,<*a1*>,<*b1*>] where K is Element of Segm 9, a1 is Nat, b1 is Element of Data-Locations : K in {7,8} } by A3, XBOOLE_0:def 3;
then ins in { [I,{},<*b,c*>] where I is Element of Segm 9, b, c is Element of Data-Locations : I in {1,2,3,4,5} } by AMI_3:27, XBOOLE_0:def 3;
then consider I being Element of Segm 9, b, c being Element of Data-Locations such that
A6: ins = [I,{},<*b,c*>] and
I in {1,2,3,4,5} ;
reconsider da = b, db = c as Data-Location by Lm1;
take da ; :: thesis: ex db being Data-Location st ins = SubFrom (da,db)
take db ; :: thesis: ins = SubFrom (da,db)
thus ins = SubFrom (da,db) by A1, A6; :: thesis: verum