let p be autonomic FinPartState of ; ( DataPart p <> {} implies IC SCMPDS in dom p )
assume
DataPart p <> {}
; IC SCMPDS in dom p
then A1:
dom (DataPart p) <> {}
;
assume A2:
not IC SCMPDS in dom p
; contradiction
not p is autonomic
proof
consider il being
Element of
NAT \ (dom p);
consider d1 being
Element of
dom (DataPart p);
A3:
d1 in dom (DataPart p)
by A1;
dom (DataPart p) c= the
carrier of
SCMPDS
by AMI_1:80;
then reconsider d1 =
d1 as
Element of
by A3;
not
NAT c= dom p
;
then A4:
NAT \ (dom p) <> {}
by XBOOLE_1:37;
then
il is
Element of
NAT
by XBOOLE_0:def 5;
then reconsider il =
il as
Instruction-Location of
SCMPDS by AMI_1:def 4;
not
il in dom p
by A4, XBOOLE_0:def 5;
then A5:
dom p misses {il}
by ZFMISC_1:56;
dom (DataPart p) c= SCM-Data-Loc
by RELAT_1:87, SCMPDS_2:100;
then reconsider d1 =
d1 as
Int_position by A3, SCMPDS_2:9;
A6:
dom (Start-At il) = {(IC SCMPDS )}
by FUNCOP_1:19;
then A7:
IC SCMPDS in dom (Start-At il)
by TARSKI:def 1;
il <> IC SCMPDS
by AMI_1:48;
then A8:
not
il in dom (Start-At il)
by A6, TARSKI:def 1;
A9:
dom p misses {(IC SCMPDS )}
by A2, ZFMISC_1:56;
set p2 =
p +* ((il .--> (d1 := 1)) +* (Start-At il));
set p1 =
p +* ((il .--> (d1 := 0 )) +* (Start-At il));
consider s1 being
State of
such that A10:
p +* ((il .--> (d1 := 0 )) +* (Start-At il)) c= s1
by CARD_3:97;
consider s2 being
State of
such that A11:
p +* ((il .--> (d1 := 1)) +* (Start-At il)) c= s2
by CARD_3:97;
take
s1
;
AMI_1:def 25 ex b1 being Element of product the Object-Kind of SCMPDS st
( p c= s1 & p c= b1 & not for b2 being Element of NAT holds (Computation s1,b2) | (dom p) = (Computation b1,b2) | (dom p) )
take
s2
;
( p c= s1 & p c= s2 & not for b1 being Element of NAT holds (Computation s1,b1) | (dom p) = (Computation s2,b1) | (dom p) )
dom ((il .--> (d1 := 0 )) +* (Start-At il)) =
(dom (il .--> (d1 := 0 ))) \/ (dom (Start-At il))
by FUNCT_4:def 1
.=
(dom (il .--> (d1 := 0 ))) \/ {(IC SCMPDS )}
by FUNCOP_1:19
.=
{il} \/ {(IC SCMPDS )}
by FUNCOP_1:19
;
then (dom p) /\ (dom ((il .--> (d1 := 0 )) +* (Start-At il))) =
((dom p) /\ {il}) \/ ((dom p) /\ {(IC SCMPDS )})
by XBOOLE_1:23
.=
((dom p) /\ {il}) \/ {}
by A9, XBOOLE_0:def 7
.=
{}
by A5, XBOOLE_0:def 7
;
then
dom p misses dom ((il .--> (d1 := 0 )) +* (Start-At il))
by XBOOLE_0:def 7;
then
p c= p +* ((il .--> (d1 := 0 )) +* (Start-At il))
by FUNCT_4:33;
hence
p c= s1
by A10, XBOOLE_1:1;
( p c= s2 & not for b1 being Element of NAT holds (Computation s1,b1) | (dom p) = (Computation s2,b1) | (dom p) )
dom ((il .--> (d1 := 1)) +* (Start-At il)) =
(dom (il .--> (d1 := 1))) \/ (dom (Start-At il))
by FUNCT_4:def 1
.=
(dom (il .--> (d1 := 1))) \/ {(IC SCMPDS )}
by FUNCOP_1:19
.=
{il} \/ {(IC SCMPDS )}
by FUNCOP_1:19
;
then (dom p) /\ (dom ((il .--> (d1 := 1)) +* (Start-At il))) =
((dom p) /\ {il}) \/ ((dom p) /\ {(IC SCMPDS )})
by XBOOLE_1:23
.=
((dom p) /\ {il}) \/ {}
by A9, XBOOLE_0:def 7
.=
{}
by A5, XBOOLE_0:def 7
;
then
dom p misses dom ((il .--> (d1 := 1)) +* (Start-At il))
by XBOOLE_0:def 7;
then
p c= p +* ((il .--> (d1 := 1)) +* (Start-At il))
by FUNCT_4:33;
hence
p c= s2
by A11, XBOOLE_1:1;
not for b1 being Element of NAT holds (Computation s1,b1) | (dom p) = (Computation s2,b1) | (dom p)
take
1
;
not (Computation s1,1) | (dom p) = (Computation s2,1) | (dom p)
A12:
dom (p +* ((il .--> (d1 := 1)) +* (Start-At il))) = (dom p) \/ (dom ((il .--> (d1 := 1)) +* (Start-At il)))
by FUNCT_4:def 1;
A13:
dom ((il .--> (d1 := 1)) +* (Start-At il)) = (dom (il .--> (d1 := 1))) \/ (dom (Start-At il))
by FUNCT_4:def 1;
then A14:
IC SCMPDS in dom ((il .--> (d1 := 1)) +* (Start-At il))
by A7, XBOOLE_0:def 3;
then
IC SCMPDS in dom (p +* ((il .--> (d1 := 1)) +* (Start-At il)))
by A12, XBOOLE_0:def 3;
then A15:
IC s2 =
(p +* ((il .--> (d1 := 1)) +* (Start-At il))) . (IC SCMPDS )
by A11, GRFUNC_1:8
.=
((il .--> (d1 := 1)) +* (Start-At il)) . (IC SCMPDS )
by A14, FUNCT_4:14
.=
(Start-At il) . (IC SCMPDS )
by A7, FUNCT_4:14
.=
il
by FUNCOP_1:87
;
dom (il .--> (d1 := 1)) = {il}
by FUNCOP_1:19;
then
il in dom (il .--> (d1 := 1))
by TARSKI:def 1;
then A16:
il in dom ((il .--> (d1 := 1)) +* (Start-At il))
by A13, XBOOLE_0:def 3;
then
il in dom (p +* ((il .--> (d1 := 1)) +* (Start-At il)))
by A12, XBOOLE_0:def 3;
then A17:
s2 . il =
(p +* ((il .--> (d1 := 1)) +* (Start-At il))) . il
by A11, GRFUNC_1:8
.=
((il .--> (d1 := 1)) +* (Start-At il)) . il
by A16, FUNCT_4:14
.=
(il .--> (d1 := 1)) . il
by A8, FUNCT_4:12
.=
d1 := 1
by FUNCOP_1:87
;
A18:
(Computation s2,(0 + 1)) . d1 =
(Following (Computation s2,0 )) . d1
by AMI_1:14
.=
(Following s2) . d1
by AMI_1:13
.=
1
by A15, A17, SCMPDS_2:57
;
dom (Computation s1,1) = the
carrier of
SCMPDS
by AMI_1:79;
then A19:
dom ((Computation s1,1) | (dom p)) = dom p
by AMI_1:80, RELAT_1:91;
il <> IC SCMPDS
by AMI_1:48;
then A20:
not
il in dom (Start-At il)
by A6, TARSKI:def 1;
dom (Computation s2,1) = the
carrier of
SCMPDS
by AMI_1:79;
then A21:
dom ((Computation s2,1) | (dom p)) = dom p
by AMI_1:80, RELAT_1:91;
A22:
dom (p +* ((il .--> (d1 := 0 )) +* (Start-At il))) = (dom p) \/ (dom ((il .--> (d1 := 0 )) +* (Start-At il)))
by FUNCT_4:def 1;
A23:
dom ((il .--> (d1 := 0 )) +* (Start-At il)) = (dom (il .--> (d1 := 0 ))) \/ (dom (Start-At il))
by FUNCT_4:def 1;
then A24:
IC SCMPDS in dom ((il .--> (d1 := 0 )) +* (Start-At il))
by A7, XBOOLE_0:def 3;
then
IC SCMPDS in dom (p +* ((il .--> (d1 := 0 )) +* (Start-At il)))
by A22, XBOOLE_0:def 3;
then A25:
IC s1 =
(p +* ((il .--> (d1 := 0 )) +* (Start-At il))) . (IC SCMPDS )
by A10, GRFUNC_1:8
.=
((il .--> (d1 := 0 )) +* (Start-At il)) . (IC SCMPDS )
by A24, FUNCT_4:14
.=
(Start-At il) . (IC SCMPDS )
by A7, FUNCT_4:14
.=
il
by FUNCOP_1:87
;
dom (il .--> (d1 := 0 )) = {il}
by FUNCOP_1:19;
then
il in dom (il .--> (d1 := 0 ))
by TARSKI:def 1;
then A26:
il in dom ((il .--> (d1 := 0 )) +* (Start-At il))
by A23, XBOOLE_0:def 3;
then
il in dom (p +* ((il .--> (d1 := 0 )) +* (Start-At il)))
by A22, XBOOLE_0:def 3;
then A27:
s1 . il =
(p +* ((il .--> (d1 := 0 )) +* (Start-At il))) . il
by A10, GRFUNC_1:8
.=
((il .--> (d1 := 0 )) +* (Start-At il)) . il
by A26, FUNCT_4:14
.=
(il .--> (d1 := 0 )) . il
by A20, FUNCT_4:12
.=
d1 := 0
by FUNCOP_1:87
;
DataPart p c= p
by RELAT_1:88;
then A28:
dom (DataPart p) c= dom p
by RELAT_1:25;
(Computation s1,(0 + 1)) . d1 =
(Following (Computation s1,0 )) . d1
by AMI_1:14
.=
(Following s1) . d1
by AMI_1:13
.=
0
by A25, A27, SCMPDS_2:57
;
then
((Computation s1,1) | (dom p)) . d1 = 0
by A3, A28, A19, FUNCT_1:70;
hence
not
(Computation s1,1) | (dom p) = (Computation s2,1) | (dom p)
by A3, A28, A21, A18, FUNCT_1:70;
verum
end;
hence
contradiction
; verum