:: AMI_6 semantic presentation
theorem E1: :: AMI_6:1
theorem E2: :: AMI_6:2
theorem E3: :: AMI_6:3
theorem E4: :: AMI_6:4
theorem E5: :: AMI_6:5
proof
let c
1 be
Data-Location ;
let c
2, c
3 be
State of
SCM ;
set c
4 = the
Instruction-Locations of
SCM ;
assume E6:
c
2,c
3 equal_outside the
Instruction-Locations of
SCM
;
E7:
dom c
2 = the
carrier of
SCM
by AMI_3:36;
E8:
dom c
3 = the
carrier of
SCM
by AMI_3:36;
E9:
not c
1 in the
Instruction-Locations of
SCM
by E1;
then
c
1 in (dom c2) \ the
Instruction-Locations of
SCM
by E7, XBOOLE_0:def 4;
then E10:
c
1 in (dom c2) /\ ((dom c2) \ the Instruction-Locations of SCM )
by E7, XBOOLE_0:def 3;
c
1 in (dom c3) \ the
Instruction-Locations of
SCM
by E8, E9, XBOOLE_0:def 4;
then E11:
c
1 in (dom c3) /\ ((dom c3) \ the Instruction-Locations of SCM )
by E8, XBOOLE_0:def 3;
thus c
2 . c
1 =
(c2 | ((dom c2) \ the Instruction-Locations of SCM )) . c
1
by E10, FUNCT_1:71
.=
(c3 | ((dom c3) \ the Instruction-Locations of SCM )) . c
1
by E6, FUNCT_7:def 2
.=
c
3 . c
1
by E11, FUNCT_1:71
;
end;
theorem E6: :: AMI_6:6
proof
let c
1 be
with_non-empty_elements set ;
let c
2 be non
empty non
void IC-Ins-separated definite realistic AMI-Struct of c
1;
let c
3, c
4 be
State of c
2;
let c
5 be
Instruction-Location of c
2;
let c
6 be
Element of
ObjectKind (IC c2);
let c
7 be
Element of
ObjectKind c
5;
assume that
E7:
c
6 = c
5
and
E8:
c
4 = c
3 +* ((IC c2),c5 --> c6,c7)
;
E9:
dom ((IC c2),c5 --> c6,c7) = {(IC c2),c5}
by FUNCT_4:65;
then E10:
IC c
2 in dom ((IC c2),c5 --> c6,c7)
by TARSKI:def 2;
E11:
IC c
2 <> c
5
by AMI_1:48;
c
5 in dom ((IC c2),c5 --> c6,c7)
by E9, TARSKI:def 2;
hence c
4 . c
5 =
((IC c2),c5 --> c6,c7) . c
5
by E8, FUNCT_4:14
.=
c
7
by E11, FUNCT_4:66
;
thus IC c
4 =
c
4 . (IC c2)
by AMI_1:def 15
.=
((IC c2),c5 --> c6,c7) . (IC c2)
by E8, E10, FUNCT_4:14
.=
c
5
by E7, E11, FUNCT_4:66
;
thus IC (Following c4) =
IC (Exec (CurInstr c4),c4)
by AMI_1:def 18
.=
IC (Exec (c4 . (IC c4)),c4)
by AMI_1:def 17
.=
(Exec (c4 . (IC c4)),c4) . (IC c2)
by AMI_1:def 15
;
end;
E7:
for b1, b2 being set holds
( b1 in dom <*b2*> implies b1 = 1 )
E8:
for b1, b2, b3 being set holds
not ( b1 in dom <*b2,b3*> & not b1 = 1 & not b1 = 2 )
E9:
for b1 being InsType of SCM holds
not ( not b1 = 0 & not b1 = 1 & not b1 = 2 & not b1 = 3 & not b1 = 4 & not b1 = 5 & not b1 = 6 & not b1 = 7 & not b1 = 8 )
theorem E10: :: AMI_6:7
theorem E11: :: AMI_6:8
theorem E12: :: AMI_6:9
theorem E13: :: AMI_6:10
theorem E14: :: AMI_6:11
theorem E15: :: AMI_6:12
theorem E16: :: AMI_6:13
theorem E17: :: AMI_6:14
theorem E18: :: AMI_6:15
theorem E19: :: AMI_6:16
registration
let c
1 be
InsType of
SCM ;
cluster AddressParts a
1 -> non
empty ;
coherence
not AddressParts c1 is empty
proof
consider c
2, c
3 being
Data-Location , c
4 being
Instruction-Location of
SCM ;
E20:
not ( not c
1 = 0 & not c
1 = 1 & not c
1 = 2 & not c
1 = 3 & not c
1 = 4 & not c
1 = 5 & not c
1 = 6 & not c
1 = 7 & not c
1 = 8 )
by E9;
(
InsCode (halt SCM ) = 0 &
InsCode (c2 := c3) = 1 &
InsCode (AddTo c2,c3) = 2 &
InsCode (SubFrom c2,c3) = 3 &
InsCode (MultBy c2,c3) = 4 &
InsCode (Divide c2,c3) = 5 &
InsCode (goto c4) = 6 &
InsCode (c2 =0_goto c4) = 7 &
InsCode (c2 >0_goto c4) = 8 )
by AMI_5:37, AMI_5:38, AMI_5:39, AMI_5:40, AMI_5:41, AMI_5:42, AMI_5:43, AMI_5:44, AMI_5:45;
then
not ( not
AddressPart (halt SCM ) in AddressParts c
1 & not
AddressPart (c2 := c3) in AddressParts c
1 & not
AddressPart (AddTo c2,c3) in AddressParts c
1 & not
AddressPart (SubFrom c2,c3) in AddressParts c
1 & not
AddressPart (MultBy c2,c3) in AddressParts c
1 & not
AddressPart (Divide c2,c3) in AddressParts c
1 & not
AddressPart (goto c4) in AddressParts c
1 & not
AddressPart (c2 =0_goto c4) in AddressParts c
1 & not
AddressPart (c2 >0_goto c4) in AddressParts c
1 )
by E20;
hence
not
AddressParts c
1 is
empty
;
end;
end;
theorem E20: :: AMI_6:17
theorem E21: :: AMI_6:18
theorem E22: :: AMI_6:19
theorem E23: :: AMI_6:20
theorem E24: :: AMI_6:21
theorem E25: :: AMI_6:22
theorem E26: :: AMI_6:23
theorem E27: :: AMI_6:24
theorem E28: :: AMI_6:25
theorem E29: :: AMI_6:26
theorem E30: :: AMI_6:27
proof
let c
1, c
2 be
Data-Location ;
E31:
InsCode (AddTo c1,c2) = 2
by AMI_5:39;
then
dom (PA (AddressParts (InsCode (AddTo c1,c2)))) = {1,2}
by E21;
then E32:
1
in dom (PA (AddressParts (InsCode (AddTo c1,c2))))
by TARSKI:def 2;
hereby :: uses TARSKI:def 3,
XBOOLE_0:def 10
let c
3 be
set ;
assume
c
3 in (PA (AddressParts (InsCode (AddTo c1,c2)))) . 1
;
then
c
3 in pi (AddressParts (InsCode (AddTo c1,c2))),1
by E32, AMISTD_2:def 1;
then consider c
4 being
Function such that
E33:
c
4 in AddressParts (InsCode (AddTo c1,c2))
and
E34:
c
4 . 1
= c
3
by CARD_3:def 6;
consider c
5 being
Instruction of
SCM such that
E35:
c
4 = AddressPart c
5
and
E36:
InsCode c
5 = InsCode (AddTo c1,c2)
by E33;
InsCode c
5 = 2
by E36, AMI_5:39;
then consider c
6, c
7 being
Data-Location such that
E37:
c
5 = AddTo c
6,c
7
by AMI_5:48;
c
3 =
<*c6,c7*> . 1
by E34, E35, E37, E12
.=
c
6
by FINSEQ_1:61
;
hence
c
3 in SCM-Data-Loc
by AMI_3:def 2;
end;
let c
3 be
set ;
:: uses TARSKI:def 3
assume
c
3 in SCM-Data-Loc
;
then reconsider c
4 = c
3 as
Data-Location by AMI_5:16;
InsCode (AddTo c4,c2) = 2
by AMI_5:39;
then
AddressPart (AddTo c4,c2) in AddressParts (InsCode (AddTo c1,c2))
by E31;
then E33:
(AddressPart (AddTo c4,c2)) . 1
in pi (AddressParts (InsCode (AddTo c1,c2))),1
by CARD_3:def 6;
(AddressPart (AddTo c4,c2)) . 1 =
<*c4,c2*> . 1
by E12
.=
c
4
by FINSEQ_1:61
;
hence
c
3 in (PA (AddressParts (InsCode (AddTo c1,c2)))) . 1
by E32, E33, AMISTD_2:def 1;
end;
theorem E31: :: AMI_6:28
proof
let c
1, c
2 be
Data-Location ;
E32:
InsCode (AddTo c1,c2) = 2
by AMI_5:39;
then
dom (PA (AddressParts (InsCode (AddTo c1,c2)))) = {1,2}
by E21;
then E33:
2
in dom (PA (AddressParts (InsCode (AddTo c1,c2))))
by TARSKI:def 2;
hereby :: uses TARSKI:def 3,
XBOOLE_0:def 10
let c
3 be
set ;
assume
c
3 in (PA (AddressParts (InsCode (AddTo c1,c2)))) . 2
;
then
c
3 in pi (AddressParts (InsCode (AddTo c1,c2))),2
by E33, AMISTD_2:def 1;
then consider c
4 being
Function such that
E34:
c
4 in AddressParts (InsCode (AddTo c1,c2))
and
E35:
c
4 . 2
= c
3
by CARD_3:def 6;
consider c
5 being
Instruction of
SCM such that
E36:
c
4 = AddressPart c
5
and
E37:
InsCode c
5 = InsCode (AddTo c1,c2)
by E34;
InsCode c
5 = 2
by E37, AMI_5:39;
then consider c
6, c
7 being
Data-Location such that
E38:
c
5 = AddTo c
6,c
7
by AMI_5:48;
c
3 =
<*c6,c7*> . 2
by E35, E36, E38, E12
.=
c
7
by FINSEQ_1:61
;
hence
c
3 in SCM-Data-Loc
by AMI_3:def 2;
end;
let c
3 be
set ;
:: uses TARSKI:def 3
assume
c
3 in SCM-Data-Loc
;
then reconsider c
4 = c
3 as
Data-Location by AMI_5:16;
InsCode (