:: AMI_5 semantic presentation

theorem Th1: :: AMI_5:1
canceled;

theorem Th2: :: AMI_5:2
canceled;

theorem Th3: :: AMI_5:3
canceled;

theorem Th4: :: AMI_5:4
canceled;

theorem Th5: :: AMI_5:5
canceled;

theorem Th6: :: AMI_5:6
canceled;

theorem Th7: :: AMI_5:7
canceled;

theorem Th8: :: AMI_5:8
canceled;

theorem Th9: :: AMI_5:9
canceled;

theorem Th10: :: AMI_5:10
canceled;

theorem Th11: :: AMI_5:11
canceled;

theorem Th12: :: AMI_5:12
canceled;

theorem Th13: :: AMI_5:13
canceled;

theorem Th14: :: AMI_5:14
canceled;

theorem Th15: :: AMI_5:15
for b1 being Data-Location
for b2 being State of SCM holds
( (Exec (Divide b1,b1),b2) . (IC SCM ) = Next (IC b2) & (Exec (Divide b1,b1),b2) . b1 = (b2 . b1) mod (b2 . b1) & ( for b3 being Data-Location holds
( b3 <> b1 implies (Exec (Divide b1,b1),b2) . b3 = b2 . b3 ) ) ) by AMI_3:12;

theorem Th16: :: AMI_5:16
for b1 being set holds
( b1 in SCM-Data-Loc implies b1 is Data-Location ) by AMI_3:def 1, AMI_3:def 2;

theorem Th17: :: AMI_5:17
canceled;

theorem Th18: :: AMI_5:18
for b1 being Data-Location holds
ex b2 being Nat st b1 = dl. b2
proof
let c1 be Data-Location ;
c1 in SCM-Data-Loc by AMI_3:def 2;
then consider c2 being Nat such that
E4: c1 = (2 * c2) + 1 by AMI_2:def 2;
consider c3 being Nat such that
E5: c2 = c3 ;
take c3 ;
thus c1 = dl. c3 by E4, E5;
end;

theorem Th19: :: AMI_5:19
for b1 being Instruction-Location of SCM holds
ex b2 being Nat st b1 = il. b2
proof
let c1 be Instruction-Location of SCM ;
c1 in SCM-Instr-Loc by AMI_3:def 1;
then consider c2 being Nat such that
E5: ( c1 = 2 * c2 & c2 > 0 ) by AMI_2:def 3;
consider c3 being Nat such that
E6: c2 = c3 + 1 by E5, NAT_1:22;
take c3 ;
thus c1 = (2 * c3) + (2 * 1) by E5, E6
.= il. c3 ;
end;

theorem Th20: :: AMI_5:20
for b1 being Data-Location holds
b1 <> IC SCM
proof
let c1 be Data-Location ;
consider c2 being Nat such that
E6: c1 = dl. c2 by Th18;
thus c1 <> IC SCM by E6, AMI_3:57;
end;

theorem Th21: :: AMI_5:21
canceled;

theorem Th22: :: AMI_5:22
for b1 being Instruction-Location of SCM
for b2 being Data-Location holds
b1 <> b2
proof
let c1 be Instruction-Location of SCM ;
let c2 be Data-Location ;
consider c3 being Nat such that
E7: c1 = il. c3 by Th19;
consider c4 being Nat such that
E8: c2 = dl. c4 by Th18;
thus c1 <> c2 by E7, E8, AMI_3:56;
end;

theorem Th23: :: AMI_5:23
the carrier of SCM = ({(IC SCM )} \/ SCM-Data-Loc ) \/ SCM-Instr-Loc
proof
E8: NAT c= ({0} \/ { ((2 * b1) + 1) where B is Nat : verum } ) \/ { (2 * b1) where B is Nat : b1 > 0 }
proof
let c1 be set ; :: according to TARSKI:def 3
assume c1 in NAT ;
then reconsider c2 = c1 as Nat ;
E9: not ( not c2 div 2 = 0 & not c2 div 2 > 0 ) by NAT_1:19;
c2 mod 2 < 2 by NAT_1:46;
then ( c2 mod 2 = 0 or c2 mod 2 = 1 ) by NAT_1:71;
then E10: ( c2 = (2 * (c2 div 2)) + 0 or c2 = (2 * (c2 div 2)) + 1 ) by NAT_1:47;
per cases not ( not c1 = 0 & ( for b1 being Nat holds
not c1 = (2 * b1) + 1 ) & ( for b1 being Nat holds
not ( c1 = 2 * b1 & b1 > 0 ) ) )
by E9, E10;
suppose c1 = 0 ;
then c1 in {0} by TARSKI:def 1;
then c1 in {0} \/ { ((2 * b1) + 1) where B is Nat : verum } by XBOOLE_0:def 2;
hence c1 in ({0} \/ { ((2 * b1) + 1) where B is Nat : verum } ) \/ { (2 * b1) where B is Nat : b1 > 0 } by XBOOLE_0:def 2;
end;
suppose ex b1 being Nat st c1 = (2 * b1) + 1 ;
then c1 in { ((2 * b1) + 1) where B is Nat : verum } ;
then c1 in {0} \/ { ((2 * b1) + 1) where B is Nat : verum } by XBOOLE_0:def 2;
hence c1 in ({0} \/ { ((2 * b1) + 1) where B is Nat : verum } ) \/ { (2 * b1) where B is Nat : b1 > 0 } by XBOOLE_0:def 2;
end;
suppose ex b1 being Nat st
( c1 = 2 * b1 & b1 > 0 ) ;
then c1 in { (2 * b1) where B is Nat : b1 > 0 } ;
hence c1 in ({0} \/ { ((2 * b1) + 1) where B is Nat : verum } ) \/ { (2 * b1) where B is Nat : b1 > 0 } by XBOOLE_0:def 2;
end;
end;
end;
{(IC SCM )} c= NAT by AMI_3:4, ZFMISC_1:37;
then {(IC SCM )} \/ SCM-Data-Loc c= NAT by XBOOLE_1:8;
then ({(IC SCM )} \/ SCM-Data-Loc ) \/ SCM-Instr-Loc c= NAT by XBOOLE_1:8;
hence the carrier of SCM = ({(IC SCM )} \/ SCM-Data-Loc ) \/ SCM-Instr-Loc by E8, AMI_2:def 2, AMI_2:def 3, AMI_3:def 1, XBOOLE_0:def 10;
end;

theorem Th24: :: AMI_5:24
for b1 being State of SCM
for b2 being Data-Location
for b3 being Instruction-Location of SCM holds
( b2 in dom b1 & b3 in dom b1 )
proof
let c1 be State of SCM ;
let c2 be Data-Location ;
let c3 be Instruction-Location of SCM ;
c2 in SCM-Data-Loc by AMI_3:def 2;
then c2 in {(IC SCM )} \/ SCM-Data-Loc by XBOOLE_0:def 2;
then c2 in ({(IC SCM )} \/ SCM-Data-Loc ) \/ SCM-Instr-Loc by XBOOLE_0:def 2;
hence c2 in dom c1 by Th23, AMI_3:36;
c3 in ({(IC SCM )} \/ SCM-Data-Loc ) \/ SCM-Instr-Loc by AMI_3:def 1, XBOOLE_0:def 2;
hence c3 in dom c1 by Th23, AMI_3:36;
end;

theorem Th25: :: AMI_5:25
for b1 being with_non-empty_elements set
for b2 being non empty non void IC-Ins-separated definite AMI-Struct of b1
for b3 being State of b2 holds IC b2 in dom b3
proof
let c1 be with_non-empty_elements set ;
let c2 be non empty non void IC-Ins-separated definite AMI-Struct of c1;
let c3 be State of c2;
dom c3 = the carrier of c2 by AMI_3:36;
hence IC c2 in dom c3 ;
end;

theorem Th26: :: AMI_5:26
for b1, b2 being State of SCM holds
( IC b1 = IC b2 & ( for b3 being Data-Location holds b1 . b3 = b2 . b3 ) & ( for b3 being Instruction-Location of SCM holds b1 . b3 = b2 . b3 ) implies b1 = b2 )
proof
let c1, c2 be State of SCM ;
assume that
E9: IC c1 = IC c2 and
E10: for b1 being Data-Location holds c1 . b1 = c2 . b1 and
E11: for b1 being Instruction-Location of SCM holds c1 . b1 = c2 . b1 ;
consider c3 being Function such that
E12: ( c1 = c3 & dom c3 = dom SCM-OK & ( for b1 being set holds
( b1 in dom SCM-OK implies c3 . b1 in SCM-OK . b1 ) ) ) by AMI_3:def 1, CARD_3:def 5;
consider c4 being Function such that
E13: ( c2 = c4 & dom c4 = dom SCM-OK & ( for b1 being set holds
( b1 in dom SCM-OK implies c4 . b1 in SCM-OK . b1 ) ) ) by AMI_3:def 1, CARD_3:def 5;
E14: ( NAT = dom c3 & NAT = dom c4 ) by E12, E13, FUNCT_2:def 1;
now
let c5 be set ;
assume E15: c5 in NAT ;
E16: ( c5 in {(IC SCM )} \/ SCM-Data-Loc or c5 in SCM-Instr-Loc ) by E15, Th23, AMI_3:def 1, XBOOLE_0:def 2;
per cases not ( not c5 in {(IC SCM )} & not c5 in SCM-Data-Loc & not c5 in SCM-Instr-Loc ) by E16, XBOOLE_0:def 2;
suppose c5 in {(IC SCM )} ;
then E17: c5 = IC SCM by TARSKI:def 1;
c1 . (IC SCM ) = IC c2 by E9
.= c2 . (IC SCM ) ;
hence c3 . c5 = c4 . c5 by E12, E13, E17;
end;
suppose c5 in SCM-Data-Loc ;
then c5 is Data-Location by Th16;
hence c3 . c5 = c4 . c5 by E10, E12, E13;
end;
suppose c5 in SCM-Instr-Loc ;
hence c3 . c5 = c4 . c5 by E11, E12, E13, AMI_3:def 1;
end;
end;
end;
hence c1 = c2 by E12, E13, E14, FUNCT_1:9;
end;

theorem Th27: :: AMI_5:27
for b1 being State of SCM holds SCM-Data-Loc c= dom b1
proof
let c1 be State of SCM ;
SCM-Data-Loc c= SCM-Data-Loc \/ SCM-Instr-Loc by XBOOLE_1:10;
then SCM-Data-Loc c= {(IC SCM )} \/ (SCM-Data-Loc \/ SCM-Instr-Loc ) by XBOOLE_1:10;
then SCM-Data-Loc c= ({(IC SCM )} \/ SCM-Data-Loc ) \/ SCM-Instr-Loc by XBOOLE_1:4;
hence SCM-Data-Loc c= dom c1 by Th23, AMI_3:36;
end;

theorem Th28: :: AMI_5:28
for b1 being State of SCM holds SCM-Instr-Loc c= dom b1
proof
let c1 be State of SCM ;
SCM-Instr-Loc c= ({(IC SCM )} \/ SCM-Data-Loc ) \/ SCM-Instr-Loc by XBOOLE_1:10;
hence SCM-Instr-Loc c= dom c1 by Th23, AMI_3:36;
end;

theorem Th29: :: AMI_5:29
for b1 being State of SCM holds dom (b1 | SCM-Data-Loc ) = SCM-Data-Loc
proof
let c1 be State of SCM ;
SCM-Data-Loc c= dom c1 by Th27;
hence dom (c1 | SCM-Data-Loc ) = SCM-Data-Loc by RELAT_1:91;
end;

theorem Th30: :: AMI_5:30
for b1 being State of SCM holds dom (b1 | SCM-Instr-Loc ) = SCM-Instr-Loc
proof
let c1 be State of SCM ;
SCM-Instr-Loc c= dom c1 by Th28;
hence dom (c1 | SCM-Instr-Loc ) = SCM-Instr-Loc by RELAT_1:91;
end;

theorem Th31: :: AMI_5:31
not SCM-Data-Loc is finite
proof
deffunc H1( Element of NAT ) -> Element of NAT = (2 * a1) + 1;
consider c1 being Function of NAT , NAT such that
E12: for b1 being Element of NAT holds c1 . b1 = H1(b1) from FUNCT_2:sch 4();
E13: dom c1 = NAT by FUNCT_2:def 1;
NAT , SCM-Data-Loc are_equipotent
proof
take c1 ; :: according to WELLORD2:def 4
thus c1 is one-to-one
proof
let c2, c3 be set ; :: according to FUNCT_1:def 8
assume that
E14: c2 in dom c1 and
E15: c3 in dom c1 and
E16: c1 . c2 = c1 . c3 ;
reconsider c4 = c2, c5 = c3 as Nat by E14, E15, FUNCT_2:def 1;
dl. c4 = (2 * c4) + 1
.= c1 . c4 by E12
.= (2 * c5) + 1 by E12, E16
.= dl. c5 ;
hence c2 = c3 ;
end;
thus dom c1 = NAT by FUNCT_2:def 1;
thus rng c1 c= SCM-Data-Loc :: according to XBOOLE_0:def 10
proof
let c2 be set ; :: according to TARSKI:def 3
assume c2 in rng c1 ;
then consider c3 being set such that
E14: c3 in dom c1 and
E15: c2 = c1 . c3 by FUNCT_1:def 5;
reconsider c4 = c3 as Nat by E14, FUNCT_2:def 1;
c2 = (2 * c4) + 1 by E12, E15
.= dl. c4 ;
hence c2 in SCM-Data-Loc by AMI_3:def 2;
end;
thus SCM-Data-Loc c= rng c1
proof
let c2 be set ; :: according to TARSKI:def 3
assume E14: c2 in SCM-Data-Loc ;
reconsider c3 = c2 as Data-Location by E14, AMI_3:def 1, AMI_3:def 2;
consider c4 being Nat such that
E15: c3 = dl. c4 by Th18;
c2 = (2 * c4) + 1 by E15
.= c1 . c4 by E12 ;
hence c2 in rng c1 by E13, FUNCT_1:def 5;
end;
end;
hence not SCM-Data-Loc is finite by CARD_1:68, CARD_4:15;
end;

theorem Th32: :: AMI_5:32
not the Instruction-Locations of SCM is finite
proof
deffunc H1( Element of NAT ) -> Element of NAT = (2 * a1) + 2;
consider c1 being Function of NAT , NAT such that
E13: for b1 being Element of NAT holds c1 . b1 = H1(b1) from FUNCT_2:sch 4();
E14: dom c1 = NAT by FUNCT_2:def 1;
NAT , SCM-Instr-Loc are_equipotent
proof
take c1 ; :: according to WELLORD2:def 4
thus c1 is one-to-one
proof
let c2, c3 be set ; :: according to FUNCT_1:def 8
assume that
E15: c2 in dom c1 and
E16: c3 in dom c1 and
E17: c1 . c2 = c1 . c3 ;
reconsider c4 = c2, c5 = c3 as Nat by E15, E16, FUNCT_2:def 1;
il. c4 = (2 * c4) + 2
.= c1 . c4 by E13
.= (2 * c5) + 2 by E13, E17
.= il. c5 ;
hence c2 = c3 ;
end;
thus dom c1 = NAT by FUNCT_2:def 1;
thus rng c1 c= SCM-Instr-Loc :: according to XBOOLE_0:def 10
proof
let c2 be set ; :: according to TARSKI:def 3
assume c2 in rng c1 ;
then consider c3 being set such that
E15: c3 in dom c1 and
E16: c2 = c1 . c3 by FUNCT_1:def 5;
reconsider c4 = c3 as Nat by E15, FUNCT_2:def 1;
c2 = (2 * c4) + 2 by E13, E16
.= il. c4 ;
hence c2 in SCM-Instr-Loc by AMI_3:def 1;
end;
thus SCM-Instr-Loc c= rng c1
proof
let c2 be set ; :: according to TARSKI:def 3
assume c2 in SCM-Instr-Loc ;
then reconsider c3 = c2 as Instruction-Location of SCM by AMI_3:def 1;
consider c4 being Nat such that
E15: c3 = il. c4 by Th19;
c2 = (2 * c4) + 2 by E15
.= c1 . c4 by E13 ;
hence c2 in rng c1 by E14, FUNCT_1:def 5;
end;
end;
hence not the Instruction-Locations of SCM is finite by AMI_3:def 1, CARD_1:68, CARD_4:15;
end;

registration
cluster SCM-Data-Loc -> infinite ;
coherence
not SCM-Data-Loc is finite
by Th31;
cluster the Instruction-Locations of SCM -> infinite ;
coherence
not the Instruction-Locations of SCM is finite
by Th32;
end;

theorem Th33: :: AMI_5:33
SCM-Data-Loc misses SCM-Instr-Loc
proof
{ ((2 * b1) + 1) where B is Nat : verum } /\ { (2 * b1) where B is Nat : b1 > 0 } = {}
proof
consider c1 being Element of { ((2 * b1) + 1) where B is Nat : verum } /\ { (2 * b1) where B is Nat : b1 > 0 } ;
assume { ((2 * b1) + 1) where B is Nat : verum } /\ { (2 * b1) where B is Nat : b1 > 0 } <> {} ;
then E14: ( c1 in { ((2 * b1) + 1) where B is Nat : verum } & c1 in { (2 * b1) where B is Nat : b1 > 0 } ) by XBOOLE_0:def 3;
then consider c2 being Nat such that
E15: c1 = (2 * c2) + 1 ;
consider c3 being Nat such that
E16: ( c1 = 2 * c3 & c3 > 0 ) by E14;
consider c4 being Nat such that
E17: c3 = c4 + 1 by E16, NAT_1:22;
c1 = (2 * c4) + (2 * 1) by E16, E17
.= (2 * c4) + 2 ;
then ( c1 = dl. c2 & c1 = il. c4 ) by E15;
hence not verum by SCM_1:7;
end;
hence SCM-Data-Loc misses SCM-Instr-Loc by AMI_2:def 2, AMI_2:def 3, XBOOLE_0:def 7;
end;

theorem Th34: :: AMI_5:34
for b1 being with_non-empty_elements set
for b2 being non empty non void IC-Ins-separated definite AMI-Struct of b1
for b3 being State of b2 holds Start-At (IC b3) = b3 | {(IC b2)}
proof
let c1 be with_non-empty_elements set ;
let c2 be non empty non void IC-Ins-separated definite AMI-Struct of c1;
let c3 be State of c2;
E14: IC c2 in dom c3 by Th25;
thus Start-At (IC c3) = (IC c2) .--> (IC c3)
.= (IC c2) .--> (c3 . (IC c2))
.= {[(IC c2),(c3 . (IC c2))]} by AMI_1:19
.= c3 | {(IC c2)} by E14, GRFUNC_1:89 ;
end;

theorem Th35: :: AMI_5:35
for b1 being with_non-empty_elements set
for b2 being non empty non void IC-Ins-separated definite AMI-Struct of b1
for b3 being Instruction-Location of b2 holds Start-At b3 = {[(IC b2),b3]}
proof
let c1 be with_non-empty_elements set ;
let c2 be non empty non void IC-Ins-separated definite AMI-Struct of c1;
let c3 be Instruction-Location of c2;
thus Start-At c3 = (IC c2) .--> c3
.= [:{(IC c2)},{c3}:] by FUNCOP_1:def 2
.= {[(IC c2),c3]} by ZFMISC_1:35 ;
end;

definition
let c1 be set ;
let c2 be AMI-Struct of c1;
let c3 be Element of the Instructions of c2;
func InsCode c3 -> InsType of a2 equals :: AMI_5:def 1
a3 `1 ;
coherence
c3 `1 is InsType of c2
proof
reconsider c4 = c3 as Instruction of c2 ;
c4 `1 in the Instruction-Codes of c2 ;
hence c3 `1 is InsType of c2 ;
end;
end;

:: deftheorem Def1 defines InsCode AMI_5:def 1 :
for b1 being set
for b2 being AMI-Struct of b1
for b3 being Element of the Instructions of b2 holds InsCode b3 = b3 `1 ;

registration
let c1 be Instruction of SCM ;
cluster InsCode a1 -> natural ;
coherence
InsCode c1 is natural
proof end;
end;

definition
let c1 be Instruction of SCM ;
func @ c1 -> Element of SCM-Instr equals :: AMI_5:def 2
a1;
coherence
c1 is Element of SCM-Instr
by AMI_3:def 1;
end;

:: deftheorem Def2 defines @ AMI_5:def 2 :
for b1 being Instruction of SCM holds @ b1 = b1;

definition
let c1 be Element of SCM-Instr-Loc ;
func c1 @ -> Instruction-Location of SCM equals :: AMI_5:def 3
a1;
coherence
c1 is Instruction-Location of SCM
by AMI_3:def 1;
end;

:: deftheorem Def3 defines @ AMI_5:def 3 :
for b1 being Element of SCM-Instr-Loc holds b1 @ = b1;

definition
let c1 be Element of SCM-Data-Loc ;
func c1 @ -> Data-Location equals :: AMI_5:def 4
a1;
coherence
c1 is Data-Location
by AMI_3:def 1, AMI_3:def 2;
end;

:: deftheorem Def4 defines @ AMI_5:def 4 :
for b1 being Element of SCM-Data-Loc holds b1 @ = b1;

theorem Th36: :: AMI_5:36
for b1 being Instruction of SCM holds InsCode b1 <= 8
proof
let c1 be Instruction of SCM ;
InsCode c1 < 8 + 1 by AMI_3:def 1, GR_CY_1:10;
hence InsCode c1 <= 8 by NAT_1:38;
end;

theorem Th37: :: AMI_5:37
InsCode (halt SCM ) = 0 by AMI_3:71, MCART_1:7;

theorem Th38: :: AMI_5:38
for b1, b2 being Data-Location holds InsCode (b1 := b2) = 1 by MCART_1:7;

theorem Th39: :: AMI_5:39
for b1, b2 being Data-Location holds InsCode (AddTo b1,b2) = 2 by MCART_1:7;

theorem Th40: :: AMI_5:40
for b1, b2 being Data-Location holds InsCode (SubFrom b1,b2) = 3 by MCART_1:7;

theorem Th41: :: AMI_5:41
for b1, b2 being Data-Location holds InsCode (MultBy b1,b2) = 4 by MCART_1:7;

theorem Th42: :: AMI_5:42
for b1, b2 being Data-Location holds InsCode (Divide b1,b2) = 5 by MCART_1:7;

theorem Th43: :: AMI_5:43
for b1 being Instruction-Location of SCM holds InsCode (goto b1) = 6 by MCART_1:7;

theorem Th44: :: AMI_5:44
for b1 being Data-Location
for b2 being Instruction-Location of SCM holds InsCode (b1 =0_goto b2) = 7 by MCART_1:7;

theorem Th45: :: AMI_5:45
for b1 being Data-Location
for b2 being Instruction-Location of SCM holds InsCode (b1 >0_goto b2) = 8 by MCART_1:7;

theorem Th46: :: AMI_5:46
for b1 being Instruction of SCM holds
( InsCode b1 = 0 implies b1 = halt SCM )
proof
let c1 be Instruction of SCM ;
assume E18: InsCode c1 = 0 ;
E19: now
assume c1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Data-Loc , B is Element of SCM-Data-Loc : b1 in {1,2,3,4,5} } ;
then consider c2 being Element of Segm 9, c3, c4 being Element of SCM-Data-Loc such that
E20: c1 = [c2,<*c3,c4*>] and
E21: c2 in {1,2,3,4,5} ;
InsCode c1 = c1 `1
.= c2 by E20, MCART_1:7 ;
hence not verum by E18, E21, ENUMSET1:def 3;
end;
E20: now
assume c1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} } ;
then consider c2 being Element of Segm 9, c3 being Element of SCM-Instr-Loc , c4 being Element of SCM-Data-Loc such that
E21: c1 = [c2,<*c3,c4*>] and
E22: c2 in {7,8} ;
InsCode c1 = c1 `1
.= c2 by E21, MCART_1:7 ;
hence not verum by E18, E22, TARSKI:def 2;
end;
E21: now
assume c1 in { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ;
then consider c2 being Element of Segm 9, c3 being Element of SCM-Instr-Loc such that
E22: c1 = [c2,<*c3*>] and
E23: c2 = 6 ;
InsCode c1 = c1 `1
.= c2 by E22, MCART_1:7 ;
hence not verum by E18, E23;
end;
c1 in ({[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ) \/ { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} } by E19, AMI_2:def 4, AMI_3:def 1, XBOOLE_0:def 2;
then c1 in {[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } by E20, XBOOLE_0:def 2;
then c1 in {[SCM-Halt ,{} ]} by E21, XBOOLE_0:def 2;
hence c1 = halt SCM by AMI_2:def 1, AMI_3:71, TARSKI:def 1;
end;

theorem Th47: :: AMI_5:47
for b1 being Instruction of SCM holds
not ( InsCode b1 = 1 & ( for b2, b3 being Data-Location holds
not b1 = b2 := b3 ) )
proof
let c1 be Instruction of SCM ;
assume E19: InsCode c1 = 1 ;
E20: not c1 in {[SCM-Halt ,{} ]} by E19, Th37, AMI_2:def 1, AMI_3:71, TARSKI:def 1;
E21: now
assume c1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} } ;
then consider c2 being Element of Segm 9, c3 being Element of SCM-Instr-Loc , c4 being Element of SCM-Data-Loc such that
E22: c1 = [c2,<*c3,c4*>] and
E23: c2 in {7,8} ;
InsCode c1 = c1 `1
.= c2 by E22, MCART_1:7 ;
hence not verum by E19, E23, TARSKI:def 2;
end;
now
assume c1 in { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ;
then consider c2 being Element of Segm 9, c3 being Element of SCM-Instr-Loc such that
E22: c1 = [c2,<*c3*>] and
E23: c2 = 6 ;
InsCode c1 = c1 `1
.= c2 by E22, MCART_1:7 ;
hence not verum by E19, E23;
end;
then not c1 in {[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } by E20, XBOOLE_0:def 2;
then not c1 in ({[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ) \/ { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} } by E21, XBOOLE_0:def 2;
then c1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Data-Loc , B is Element of SCM-Data-Loc : b1 in {1,2,3,4,5} } by AMI_2:def 4, AMI_3:def 1, XBOOLE_0:def 2;
then consider c2 being Element of Segm 9, c3, c4 being Element of SCM-Data-Loc such that
E22: c1 = [c2,<*c3,c4*>] and
c2 in {1,2,3,4,5} ;
E23: InsCode c1 = c1 `1
.= c2 by E22, MCART_1:7 ;
reconsider c5 = c3 @ , c6 = c4 @ as Data-Location ;
take c5 ;
take c6 ;
thus c1 = c5 := c6 by E19, E22, E23;
end;

theorem Th48: :: AMI_5:48
for b1 being Instruction of SCM holds
not ( InsCode b1 = 2 & ( for b2, b3 being Data-Location holds
not b1 = AddTo b2,b3 ) )
proof
let c1 be Instruction of SCM ;
assume E20: InsCode c1 = 2 ;
E21: not c1 in {[SCM-Halt ,{} ]} by E20, Th37, AMI_2:def 1, AMI_3:71, TARSKI:def 1;
E22: now
assume c1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} } ;
then consider c2 being Element of Segm 9, c3 being Element of SCM-Instr-Loc , c4 being Element of SCM-Data-Loc such that
E23: c1 = [c2,<*c3,c4*>] and
E24: c2 in {7,8} ;
InsCode c1 = c1 `1
.= c2 by E23, MCART_1:7 ;
hence not verum by E20, E24, TARSKI:def 2;
end;
now
assume c1 in { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ;
then consider c2 being Element of Segm 9, c3 being Element of SCM-Instr-Loc such that
E23: c1 = [c2,<*c3*>] and
E24: c2 = 6 ;
InsCode c1 = c1 `1
.= c2 by E23, MCART_1:7 ;
hence not verum by E20, E24;
end;
then not c1 in {[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } by E21, XBOOLE_0:def 2;
then not c1 in ({[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ) \/ { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} } by E22, XBOOLE_0:def 2;
then c1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Data-Loc , B is Element of SCM-Data-Loc : b1 in {1,2,3,4,5} } by AMI_2:def 4, AMI_3:def 1, XBOOLE_0:def 2;
then consider c2 being Element of Segm 9, c3, c4 being Element of SCM-Data-Loc such that
E23: c1 = [c2,<*c3,c4*>] and
c2 in {1,2,3,4,5} ;
E24: InsCode c1 = c1 `1
.= c2 by E23, MCART_1:7 ;
reconsider c5 = c3 @ , c6 = c4 @ as Data-Location ;
take c5 ;
take c6 ;
thus c1 = AddTo c5,c6 by E20, E23, E24;
end;

theorem Th49: :: AMI_5:49
for b1 being Instruction of SCM holds
not ( InsCode b1 = 3 & ( for b2, b3 being Data-Location holds
not b1 = SubFrom b2,b3 ) )
proof
let c1 be Instruction of SCM ;
assume E21: InsCode c1 = 3 ;
E22: not c1 in {[SCM-Halt ,{} ]} by E21, Th37, AMI_2:def 1, AMI_3:71, TARSKI:def 1;
E23: now
assume c1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} } ;
then consider c2 being Element of Segm 9, c3 being Element of SCM-Instr-Loc , c4 being Element of SCM-Data-Loc such that
E24: c1 = [c2,<*c3,c4*>] and
E25: c2 in {7,8} ;
InsCode c1 = c1 `1
.= c2 by E24, MCART_1:7 ;
hence not verum by E21, E25, TARSKI:def 2;
end;
now
assume c1 in { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ;
then consider c2 being Element of Segm 9, c3 being Element of SCM-Instr-Loc such that
E24: c1 = [c2,<*c3