let q be NAT -defined the Instructions of (STC N) -valued finite non halt-free Function; AMISTD_5:def 4 for p being non empty q -autonomic FinPartState of (STC N)
for s being State of (STC N) st p c= s holds
for P being Instruction-Sequence of (STC N) st q c= P holds
for i being Element of NAT holds IC (Comput (P,s,i)) in dom q
let p be non empty q -autonomic FinPartState of (STC N); for s being State of (STC N) st p c= s holds
for P being Instruction-Sequence of (STC N) st q c= P holds
for i being Element of NAT holds IC (Comput (P,s,i)) in dom q
let s be State of (STC N); ( p c= s implies for P being Instruction-Sequence of (STC N) st q c= P holds
for i being Element of NAT holds IC (Comput (P,s,i)) in dom q )
assume A1:
p c= s
; for P being Instruction-Sequence of (STC N) st q c= P holds
for i being Element of NAT holds IC (Comput (P,s,i)) in dom q
let P be Instruction-Sequence of (STC N); ( q c= P implies for i being Element of NAT holds IC (Comput (P,s,i)) in dom q )
assume A2:
q c= P
; for i being Element of NAT holds IC (Comput (P,s,i)) in dom q
let i be Element of NAT ; IC (Comput (P,s,i)) in dom q
set Csi = Comput (P,s,i);
set loc = IC (Comput (P,s,i));
set loc1 = (IC (Comput (P,s,i))) + 1;
assume B4:
not IC (Comput (P,s,i)) in dom q
; contradiction
the Instructions of (STC N) = {[0,0,0],[1,0,0]}
by AMISTD_1:def 7;
then reconsider I = [1,0,0] as Instruction of (STC N) by TARSKI:def 2;
set p1 = q +* ((IC (Comput (P,s,i))) .--> I);
set p2 = q +* ((IC (Comput (P,s,i))) .--> (halt (STC N)));
reconsider P1 = P +* ((IC (Comput (P,s,i))) .--> I) as Instruction-Sequence of (STC N) ;
reconsider P2 = P +* ((IC (Comput (P,s,i))) .--> (halt (STC N))) as Instruction-Sequence of (STC N) ;
A6:
dom ((IC (Comput (P,s,i))) .--> (halt (STC N))) = {(IC (Comput (P,s,i)))}
by FUNCOP_1:13;
then A7:
IC (Comput (P,s,i)) in dom ((IC (Comput (P,s,i))) .--> (halt (STC N)))
by TARSKI:def 1;
A12:
dom ((IC (Comput (P,s,i))) .--> I) = {(IC (Comput (P,s,i)))}
by FUNCOP_1:13;
then A13:
IC (Comput (P,s,i)) in dom ((IC (Comput (P,s,i))) .--> I)
by TARSKI:def 1;
Y6:
dom q misses dom ((IC (Comput (P,s,i))) .--> (halt (STC N)))
by B4, A6, ZFMISC_1:50;
Y5:
dom q misses dom ((IC (Comput (P,s,i))) .--> I)
by B4, A12, ZFMISC_1:50;
P3:
q +* ((IC (Comput (P,s,i))) .--> I) c= P1
by A2, FUNCT_4:123;
P4:
q +* ((IC (Comput (P,s,i))) .--> (halt (STC N))) c= P2
by A2, FUNCT_4:123;
set Cs2i = Comput (P2,s,i);
set Cs1i = Comput (P1,s,i);
not p is q -autonomic
proof
((IC (Comput (P,s,i))) .--> (halt (STC N))) . (IC (Comput (P,s,i))) = halt (STC N)
by FUNCOP_1:72;
then A18:
P2 . (IC (Comput (P,s,i))) = halt (STC N)
by A7, FUNCT_4:13;
((IC (Comput (P,s,i))) .--> I) . (IC (Comput (P,s,i))) = I
by FUNCOP_1:72;
then A19:
P1 . (IC (Comput (P,s,i))) = I
by A13, FUNCT_4:13;
take
P1
;
EXTPRO_1:def 10 ex b1 being set st
( q c= P1 & q c= b1 & ex b2, b3 being set st
( p c= b2 & p c= b3 & not for b4 being Element of NAT holds (Comput (P1,b2,b4)) | (proj1 p) = (Comput (b1,b3,b4)) | (proj1 p) ) )
take
P2
;
( q c= P1 & q c= P2 & ex b1, b2 being set st
( p c= b1 & p c= b2 & not for b3 being Element of NAT holds (Comput (P1,b1,b3)) | (proj1 p) = (Comput (P2,b2,b3)) | (proj1 p) ) )
q c= q +* ((IC (Comput (P,s,i))) .--> I)
by Y5, FUNCT_4:32;
hence A25:
q c= P1
by P3, XBOOLE_1:1;
( q c= P2 & ex b1, b2 being set st
( p c= b1 & p c= b2 & not for b3 being Element of NAT holds (Comput (P1,b1,b3)) | (proj1 p) = (Comput (P2,b2,b3)) | (proj1 p) ) )
q c= q +* ((IC (Comput (P,s,i))) .--> (halt (STC N)))
by Y6, FUNCT_4:32;
hence A27:
q c= P2
by P4, XBOOLE_1:1;
ex b1, b2 being set st
( p c= b1 & p c= b2 & not for b3 being Element of NAT holds (Comput (P1,b1,b3)) | (proj1 p) = (Comput (P2,b2,b3)) | (proj1 p) )
take
s
;
ex b1 being set st
( p c= s & p c= b1 & not for b2 being Element of NAT holds (Comput (P1,s,b2)) | (proj1 p) = (Comput (P2,b1,b2)) | (proj1 p) )
take
s
;
( p c= s & p c= s & not for b1 being Element of NAT holds (Comput (P1,s,b1)) | (proj1 p) = (Comput (P2,s,b1)) | (proj1 p) )
thus
p c= s
by A1;
( p c= s & not for b1 being Element of NAT holds (Comput (P1,s,b1)) | (proj1 p) = (Comput (P2,s,b1)) | (proj1 p) )
A28:
(Comput (P1,s,i)) | (dom p) = (Comput (P,s,i)) | (dom p)
by A25, A2, A1, EXTPRO_1:def 10;
thus
p c= s
by A1;
not for b1 being Element of NAT holds (Comput (P1,s,b1)) | (proj1 p) = (Comput (P2,s,b1)) | (proj1 p)
A29:
(Comput (P1,s,i)) | (dom p) = (Comput (P2,s,i)) | (dom p)
by A25, A27, A1, EXTPRO_1:def 10;
take k =
i + 1;
not (Comput (P1,s,k)) | (proj1 p) = (Comput (P2,s,k)) | (proj1 p)
set Cs1k =
Comput (
P1,
s,
k);
A31:
Comput (
P1,
s,
k) =
Following (
P1,
(Comput (P1,s,i)))
by EXTPRO_1:3
.=
Exec (
(CurInstr (P1,(Comput (P1,s,i)))),
(Comput (P1,s,i)))
;
InsCode I = 1
by RECDEF_2:def 1;
then A32:
IC (Exec (I,(Comput (P1,s,i)))) = succ (IC (Comput (P1,s,i)))
by AMISTD_1:9;
A33:
IC in dom p
by Th6;
A34:
IC (Comput (P,s,i)) = IC ((Comput (P,s,i)) | (dom p))
by A33, FUNCT_1:49;
then
IC (Comput (P1,s,i)) = IC (Comput (P,s,i))
by A28, A33, FUNCT_1:49;
then A35:
IC (Comput (P1,s,k)) = (IC (Comput (P,s,i))) + 1
by A32, A31, A19, PBOOLE:143;
set Cs2k =
Comput (
P2,
s,
k);
A36:
Comput (
P2,
s,
k) =
Following (
P2,
(Comput (P2,s,i)))
by EXTPRO_1:3
.=
Exec (
(CurInstr (P2,(Comput (P2,s,i)))),
(Comput (P2,s,i)))
;
A37:
P2 /. (IC (Comput (P2,s,i))) = P2 . (IC (Comput (P2,s,i)))
by PBOOLE:143;
IC (Comput (P2,s,i)) = IC (Comput (P,s,i))
by A28, A34, A29, A33, FUNCT_1:49;
then A38:
IC (Comput (P2,s,k)) = IC (Comput (P,s,i))
by A36, A18, A37, EXTPRO_1:def 3;
(
IC ((Comput (P1,s,k)) | (dom p)) = IC (Comput (P1,s,k)) &
IC ((Comput (P2,s,k)) | (dom p)) = IC (Comput (P2,s,k)) )
by A33, FUNCT_1:49;
hence
not
(Comput (P1,s,k)) | (proj1 p) = (Comput (P2,s,k)) | (proj1 p)
by A35, A38;
verum
end;
hence
contradiction
; verum