let N be with_zero set ; for S being non empty with_non-empty_values IC-Ins-separated halting standard AMI-Struct over N holds ExecTree (Stop S) = TrivialInfiniteTree --> 0
set D = TrivialInfiniteTree ;
let S be non empty with_non-empty_values IC-Ins-separated halting standard AMI-Struct over N; ExecTree (Stop S) = TrivialInfiniteTree --> 0
set M = Stop S;
set E = ExecTree (Stop S);
defpred S1[ set ] means (ExecTree (Stop S)) . $1 in dom (Stop S);
defpred S2[ Nat] means (dom (ExecTree (Stop S))) -level $1 = TrivialInfiniteTree -level $1;
A2:
(Stop S) . 0 = halt S
by FUNCOP_1:72;
A3:
for t being Element of dom (ExecTree (Stop S)) holds card (NIC ((halt S),((ExecTree (Stop S)) . t))) = {0}
A4:
for f being Element of dom (ExecTree (Stop S)) st S1[f] holds
for a being Element of NAT st f ^ <*a*> in dom (ExecTree (Stop S)) holds
S1[f ^ <*a*>]
proof
let f be
Element of
dom (ExecTree (Stop S));
( S1[f] implies for a being Element of NAT st f ^ <*a*> in dom (ExecTree (Stop S)) holds
S1[f ^ <*a*>] )
assume A5:
S1[
f]
;
for a being Element of NAT st f ^ <*a*> in dom (ExecTree (Stop S)) holds
S1[f ^ <*a*>]
A6:
(Stop S) /. ((ExecTree (Stop S)) . f) = (Stop S) . ((ExecTree (Stop S)) . f)
by A5, PARTFUN1:def 6;
reconsider Ef =
(ExecTree (Stop S)) . f as
Nat ;
A7:
(ExecTree (Stop S)) . f = 0
by A5, TARSKI:def 1;
then
NIC (
(halt S),
((ExecTree (Stop S)) . f))
= {0}
by AMISTD_1:2;
then
canonical_isomorphism_of (
(RelIncl (order_type_of (RelIncl (NIC (((Stop S) /. ((ExecTree (Stop S)) . f)),((ExecTree (Stop S)) . f)))))),
(RelIncl (NIC (((Stop S) /. ((ExecTree (Stop S)) . f)),((ExecTree (Stop S)) . f)))))
= 0 .--> Ef
by A2, A7, A6, CARD_5:38;
then A8:
(canonical_isomorphism_of ((RelIncl (order_type_of (RelIncl (NIC (((Stop S) /. ((ExecTree (Stop S)) . f)),((ExecTree (Stop S)) . f)))))),(RelIncl (NIC (((Stop S) /. ((ExecTree (Stop S)) . f)),((ExecTree (Stop S)) . f)))))) . 0 =
Ef
by FUNCOP_1:72
.=
0
by A5, TARSKI:def 1
;
A9:
card (NIC ((halt S),((ExecTree (Stop S)) . f))) = {0}
by A3;
then A10:
0 in card (NIC (((Stop S) /. ((ExecTree (Stop S)) . f)),((ExecTree (Stop S)) . f)))
by A2, A7, A6, TARSKI:def 1;
A11:
succ f = { (f ^ <*k*>) where k is Nat : k in card (NIC (((Stop S) /. ((ExecTree (Stop S)) . f)),((ExecTree (Stop S)) . f))) }
by Def2;
A12:
succ f = {(f ^ <*0*>)}
let a be
Element of
NAT ;
( f ^ <*a*> in dom (ExecTree (Stop S)) implies S1[f ^ <*a*>] )
assume
f ^ <*a*> in dom (ExecTree (Stop S))
;
S1[f ^ <*a*>]
then
f ^ <*a*> in succ f
by TREES_2:12;
then
f ^ <*a*> = f ^ <*0*>
by A12, TARSKI:def 1;
then (ExecTree (Stop S)) . (f ^ <*a*>) =
(LocSeq ((NIC (((Stop S) /. ((ExecTree (Stop S)) . f)),((ExecTree (Stop S)) . f))),S)) . 0
by A10, Def2
.=
0
by A10, A8, Def1
;
hence
S1[
f ^ <*a*>]
by TARSKI:def 1;
verum
end;
(ExecTree (Stop S)) . {} = FirstLoc (Stop S)
by Def2;
then A15:
S1[ <*> NAT]
by VALUED_1:33;
A16:
for f being Element of dom (ExecTree (Stop S)) holds S1[f]
from HILBERT2:sch 1(A15, A4);
A17:
for x being object st x in dom (ExecTree (Stop S)) holds
(ExecTree (Stop S)) . x = 0
A18:
for n being Nat st S2[n] holds
S2[n + 1]
proof
let n be
Nat;
( S2[n] implies S2[n + 1] )
set f0 =
n |-> 0;
set f1 =
(n + 1) |-> 0;
A19:
(dom (ExecTree (Stop S))) -level (n + 1) = { w where w is Element of dom (ExecTree (Stop S)) : len w = n + 1 }
by TREES_2:def 6;
A20:
len ((n + 1) |-> 0) = n + 1
by CARD_1:def 7;
assume A21:
S2[
n]
;
S2[n + 1]
(dom (ExecTree (Stop S))) -level (n + 1) = {((n + 1) |-> 0)}
proof
hereby TARSKI:def 3,
XBOOLE_0:def 10 {((n + 1) |-> 0)} c= (dom (ExecTree (Stop S))) -level (n + 1)
let a be
object ;
( a in (dom (ExecTree (Stop S))) -level (n + 1) implies a in {((n + 1) |-> 0)} )assume
a in (dom (ExecTree (Stop S))) -level (n + 1)
;
a in {((n + 1) |-> 0)}then consider t1 being
Element of
dom (ExecTree (Stop S)) such that A22:
a = t1
and A23:
len t1 = n + 1
by A19;
reconsider t0 =
t1 | (Seg n) as
Element of
dom (ExecTree (Stop S)) by RELAT_1:59, TREES_1:20;
A24:
succ t0 = { (t0 ^ <*k*>) where k is Nat : k in card (NIC (((Stop S) /. ((ExecTree (Stop S)) . t0)),((ExecTree (Stop S)) . t0))) }
by Def2;
(ExecTree (Stop S)) . t0 in dom (Stop S)
by A16;
then A25:
(ExecTree (Stop S)) . t0 = 0
by TARSKI:def 1;
A26:
(
card (NIC ((halt S),((ExecTree (Stop S)) . t0))) = {0} &
(Stop S) /. ((ExecTree (Stop S)) . t0) = (Stop S) . ((ExecTree (Stop S)) . t0) )
by A3, A16, PARTFUN1:def 6;
then A27:
0 in card (NIC (((Stop S) /. ((ExecTree (Stop S)) . t0)),((ExecTree (Stop S)) . t0)))
by A2, A25, TARSKI:def 1;
A28:
succ t0 = {(t0 ^ <*0*>)}
(
t1 . (n + 1) is
Nat &
t1 = t0 ^ <*(t1 . (n + 1))*> )
by A23, FINSEQ_3:55;
then
t0 ^ <*(t1 . (n + 1))*> in succ t0
by TREES_2:12;
then A31:
t0 ^ <*(t1 . (n + 1))*> = t0 ^ <*0*>
by A28, TARSKI:def 1;
A32:
n in NAT
by ORDINAL1:def 12;
n <= n + 1
by NAT_1:11;
then
Seg n c= Seg (n + 1)
by FINSEQ_1:5;
then
Seg n c= dom t1
by A23, FINSEQ_1:def 3;
then
dom t0 = Seg n
by RELAT_1:62;
then
(
(dom (ExecTree (Stop S))) -level n = { w where w is Element of dom (ExecTree (Stop S)) : len w = n } &
len t0 = n )
by FINSEQ_1:def 3, TREES_2:def 6, A32;
then A33:
t0 in (dom (ExecTree (Stop S))) -level n
;
A34:
(dom (ExecTree (Stop S))) -level n = {(n |-> 0)}
by A21, TREES_2:39;
for
k being
Nat st 1
<= k &
k <= len t1 holds
t1 . k = ((n + 1) |-> 0) . k
then
t1 = (n + 1) |-> 0
by A20, A23, FINSEQ_1:14;
hence
a in {((n + 1) |-> 0)}
by A22, TARSKI:def 1;
verum
end;
defpred S3[
Nat]
means $1
|-> 0 in dom (ExecTree (Stop S));
let a be
object ;
TARSKI:def 3 ( not a in {((n + 1) |-> 0)} or a in (dom (ExecTree (Stop S))) -level (n + 1) )
A37:
for
n being
Nat st
S3[
n] holds
S3[
n + 1]
A40:
S3[
0 ]
by TREES_1:22;
for
n being
Nat holds
S3[
n]
from NAT_1:sch 2(A40, A37);
then A41:
(n + 1) |-> 0 is
Element of
dom (ExecTree (Stop S))
;
assume
a in {((n + 1) |-> 0)}
;
a in (dom (ExecTree (Stop S))) -level (n + 1)
then
a = (n + 1) |-> 0
by TARSKI:def 1;
hence
a in (dom (ExecTree (Stop S))) -level (n + 1)
by A19, A20, A41;
verum
end;
hence
S2[
n + 1]
by TREES_2:39;
verum
end;
(dom (ExecTree (Stop S))) -level 0 =
{{}}
by TREES_9:44
.=
TrivialInfiniteTree -level 0
by TREES_9:44
;
then A42:
S2[ 0 ]
;
for x being Nat holds S2[x]
from NAT_1:sch 2(A42, A18);
then
dom (ExecTree (Stop S)) = TrivialInfiniteTree
by TREES_2:38;
hence
ExecTree (Stop S) = TrivialInfiniteTree --> 0
by A17, FUNCOP_1:11; verum