:: AMI_1 semantic presentation
theorem :: AMI_1:1
canceled;
theorem E1: :: AMI_1:2
theorem :: AMI_1:3
theorem :: AMI_1:4
canceled;
theorem E2: :: AMI_1:5
proof
let c
1, c
2, c
3, c
4 be
set ;
assume E3:
c
1 <> c
2
;
set c
5 =
{(c1,c2 --> c3,c4)};
set c
6 = c
1,c
2 --> {c3},
{c4};
E4:
dom (c1,c2 --> {c3},{c4}) = {c1,c2}
by FUNCT_4:65;
now
let c
7 be
set ;
thus
not ( c
7 in {(c1,c2 --> c3,c4)} & ( for b
1 being
Function holds
not ( c
7 = b
1 &
dom b
1 = dom (c1,c2 --> {c3},{c4}) & ( for b
2 being
set holds
( b
2 in dom (c1,c2 --> {c3},{c4}) implies b
1 . b
2 in (c1,c2 --> {c3},{c4}) . b
2 ) ) ) ) )
proof
assume E5:
c
7 in {(c1,c2 --> c3,c4)}
;
take c
8 = c
1,c
2 --> c
3,c
4;
thus
c
7 = c
8
by E5, TARSKI:def 1;
thus
dom c
8 = dom (c1,c2 --> {c3},{c4})
by E4, FUNCT_4:65;
let c
9 be
set ;
assume
c
9 in dom (c1,c2 --> {c3},{c4})
;
then E6:
( c
9 = c
1 or c
9 = c
2 )
by E4, TARSKI:def 2;
( c
8 . c
1 = c
3 &
(c1,c2 --> {c3},{c4}) . c
1 = {c3} & c
8 . c
2 = c
4 &
(c1,c2 --> {c3},{c4}) . c
2 = {c4} )
by E3, FUNCT_4:66;
hence
c
8 . c
9 in (c1,c2 --> {c3},{c4}) . c
9
by E6, TARSKI:def 1;
end;
given c
8 being
Function such that E5:
c
7 = c
8
and E6:
dom c
8 = dom (c1,c2 --> {c3},{c4})
and E7:
for b
1 being
set holds
( b
1 in dom (c1,c2 --> {c3},{c4}) implies c
8 . b
1 in (c1,c2 --> {c3},{c4}) . b
1 )
;
( c
1 in dom (c1,c2 --> {c3},{c4}) & c
2 in dom (c1,c2 --> {c3},{c4}) )
by E4, TARSKI:def 2;
then
( c
8 . c
1 in (c1,c2 --> {c3},{c4}) . c
1 & c
8 . c
2 in (c1,c2 --> {c3},{c4}) . c
2 &
(c1,c2 --> {c3},{c4}) . c
1 = {c3} &
(c1,c2 --> {c3},{c4}) . c
2 = {c4} )
by E3, E7, FUNCT_4:66;
then
( c
8 . c
1 = c
3 & c
8 . c
2 = c
4 )
by TARSKI:def 1;
then
c
8 = c
1,c
2 --> c
3,c
4
by E4, E6, FUNCT_4:69;
hence
c
7 in {(c1,c2 --> c3,c4)}
by E5, TARSKI:def 1;
end;
hence
product (c1,c2 --> {c3},{c4}) = {(c1,c2 --> c3,c4)}
by CARD_3:def 5;
end;
definition
let c
1 be
set ;
attr a
2 is
strict;
struct AMI-Struct of c
1 -> 1-sorted ;
aggr AMI-Struct(#
carrier,
Instruction-Counter,
Instruction-Locations,
Instruction-Codes,
Instructions,
Object-Kind,
Execution #)
-> AMI-Struct of a
1;
sel Instruction-Counter c
2 -> Element of the
carrier of a
2;
sel Instruction-Locations c
2 -> Subset of the
carrier of a
2;
sel Instruction-Codes c
2 -> non
empty set ;
sel Instructions c
2 -> non
empty Subset of
[:the Instruction-Codes of a2,(((union a1) \/ the carrier of a2) * ):];
sel Object-Kind c
2 -> Function of the
carrier of a
2,a
1 \/ {the Instructions of a2,the Instruction-Locations of a2};
sel Execution c
2 -> Function of the
Instructions of a
2,
Funcs (product the Object-Kind of a2),
(product the Object-Kind of a2);
end;
definition
let c
1 be
set ;
canceled;func Trivial-AMI c
1 -> strict AMI-Struct of a
1 means :
E3:
:: AMI_1:def 2
( the
carrier of a
2 = {0,1} & the
Instruction-Counter of a
2 = 0 & the
Instruction-Locations of a
2 = {1} & the
Instruction-Codes of a
2 = {0} & the
Instructions of a
2 = {[0,{} ]} & the
Object-Kind of a
2 = 0,1
--> {1},
{[0,{} ]} & the
Execution of a
2 = [0,{} ] .--> (id (product (0,1 --> {1},{[0,{} ]}))) );
existence
ex b1 being strict AMI-Struct of c1 st
( the carrier of b1 = {0,1} & the Instruction-Counter of b1 = 0 & the Instruction-Locations of b1 = {1} & the Instruction-Codes of b1 = {0} & the Instructions of b1 = {[0,{} ]} & the Object-Kind of b1 = 0,1 --> {1},{[0,{} ]} & the Execution of b1 = [0,{} ] .--> (id (product (0,1 --> {1},{[0,{} ]}))) )
proof
reconsider c
2 = 0 as
Element of
{0,1} by TARSKI:def 2;
( 0
in {0} &
{} in ((union c1) \/ {0,1}) * )
by FINSEQ_1:66, TARSKI:def 1;
then
[0,{} ] in [:{0},(((union c1) \/ {0,1}) * ):]
by ZFMISC_1:106;
then reconsider c
3 =
{[0,{} ]} as non
empty Subset of
[:{0},(((union c1) \/ {0,1}) * ):] by ZFMISC_1:37;
reconsider c
4 =
{1} as non
empty Subset of
{0,1} by ZFMISC_1:12;
set c
5 = 0,1
--> c
4,c
3;
(
rng (0,1 --> c4,c3) c= {c3,c4} &
{c3,c4} c= c
1 \/ {c3,c4} )
by FUNCT_4:65, XBOOLE_1:7;
then
(
dom (0,1 --> c4,c3) = {0,1} &
rng (0,1 --> c4,c3) c= c
1 \/ {c3,c4} )
by FUNCT_4:65, XBOOLE_1:1;
then reconsider c
6 = 0,1
--> c
4,c
3 as
Function of
{0,1},c
1 \/ {c3,c4} by FUNCT_2:def 1, RELSET_1:11;
id (product c6) in Funcs (product c6),
(product c6)
by FUNCT_2:12;
then reconsider c
7 = c
3 --> (id (product c6)) as
Function of c
3,
Funcs (product c6),
(product c6) by FUNCOP_1:57;
take
AMI-Struct(#
{0,1},c
2,c
4,
{0},c
3,c
6,c
7 #)
;
thus
( the
carrier of
AMI-Struct(#
{0,1},c
2,c
4,
{0},c
3,c
6,c
7 #)
= {0,1} & the
Instruction-Counter of
AMI-Struct(#
{0,1},c
2,c
4,
{0},c
3,c
6,c
7 #)
= 0 & the
Instruction-Locations of
AMI-Struct(#
{0,1},c
2,c
4,
{0},c
3,c
6,c
7 #)
= {1} & the
Instruction-Codes of
AMI-Struct(#
{0,1},c
2,c
4,
{0},c
3,c
6,c
7 #)
= {0} & the
Instructions of
AMI-Struct(#
{0,1},c
2,c
4,
{0},c
3,c
6,c
7 #)
= {[0,{} ]} & the
Object-Kind of
AMI-Struct(#
{0,1},c
2,c
4,
{0},c
3,c
6,c
7 #)
= 0,1
--> {1},
{[0,{} ]} & the
Execution of
AMI-Struct(#
{0,1},c
2,c
4,
{0},c
3,c
6,c
7 #)
= [0,{} ] .--> (id (product (0,1 --> {1},{[0,{} ]}))) )
;
end;
uniqueness
for b1, b2 being strict AMI-Struct of c1 holds
( ( the carrier of b1 = {0,1} & the Instruction-Counter of b1 = 0 & the Instruction-Locations of b1 = {1} & the Instruction-Codes of b1 = {0} & the Instructions of b1 = {[0,{} ]} & the Object-Kind of b1 = 0,1 --> {1},{[0,{} ]} & the Execution of b1 = [0,{} ] .--> (id (product (0,1 --> {1},{[0,{} ]}))) & the carrier of b2 = {0,1} & the Instruction-Counter of b2 = 0 & the Instruction-Locations of b2 = {1} & the Instruction-Codes of b2 = {0} & the Instructions of b2 = {[0,{} ]} & the Object-Kind of b2 = 0,1 --> {1},{[0,{} ]} & the Execution of b2 = [0,{} ] .--> (id (product (0,1 --> {1},{[0,{} ]}))) ) implies ( b1 = b2 ) )
;
end;
:: deftheorem AMI_1:def 1 :
canceled;
:: deftheorem E3 defines Trivial-AMI AMI_1:def 2 :
:: deftheorem E4 defines void AMI_1:def 3 :
:: deftheorem AMI_1:def 4 :
canceled;
:: deftheorem defines IC AMI_1:def 5 :
:: deftheorem defines ObjectKind AMI_1:def 6 :
:: deftheorem defines Exec AMI_1:def 7 :
:: deftheorem E5 defines halting AMI_1:def 8 :
:: deftheorem E6 defines halting AMI_1:def 9 :
theorem E7: :: AMI_1:6
proof
let c
1 be
with_non-empty_elements set ;
set c
2 =
Trivial-AMI c
1;
E8:
{[0,{} ]} = the
Instructions of
(Trivial-AMI c1)
by E3;
then reconsider c
3 =
[0,{} ] as
Instruction of
(Trivial-AMI c1) by TARSKI:def 1;
take
c
3
;
:: according to AMI_1:def 9
thus
c
3 is
halting
proof
let c
4 be
State of
(Trivial-AMI c1);
:: according to AMI_1:def 8
E9:
product the
Object-Kind of
(Trivial-AMI c1) =
product (0,1 --> {1},{[0,{} ]})
by E3
.=
{(0,1 --> 1,[0,{} ])}
by E2
;
hence Exec c
3,c
4 =
0,1
--> 1,
[0,{} ]
by TARSKI:def 1
.=
c
4
by E9, TARSKI:def 1
;
end;
let c
4 be
Instruction of
(Trivial-AMI c1);
assume
c
4 is
halting
;
thus
c
3 = c
4
by E8, TARSKI:def 1;
end;
:: deftheorem E8 defines halt AMI_1:def 10 :
:: deftheorem E9 defines IC-Ins-separated AMI_1:def 11 :
:: deftheorem defines data-oriented AMI_1:def 12 :
:: deftheorem E10 defines steady-programmed AMI_1:def 13 :
:: deftheorem E11 defines definite AMI_1:def 14 :
theorem E12: :: AMI_1:7
theorem E13: :: AMI_1:8
proof
let c
1 be
set ;
let c
2 be
set ;
:: according to TARSKI:def 3,
AMI_1:def 12
E14:
1
<> [0,{} ]
by E1;
assume E15:
c
2 in the
Object-Kind of
(Trivial-AMI c1) " {the Instructions of (Trivial-AMI c1)}
;
then
( c
2 in the
carrier of
(Trivial-AMI c1) & the
Object-Kind of
(Trivial-AMI c1) . c
2 in {the Instructions of (Trivial-AMI c1)} )
by FUNCT_2:46;
then E16: the
Object-Kind of
(Trivial-AMI c1) . c
2 =
the
Instructions of
(Trivial-AMI c1)
by TARSKI:def 1
.=
{[0,{} ]}
by E3
;
E17: the
Object-Kind of
(Trivial-AMI c1) . 0 =
(0,1 --> {1},{[0,{} ]}) . 0
by E3
.=
{1}
by FUNCT_4:66
;
the
carrier of
(Trivial-AMI c1) = {0,1}
by E3;
then
( c
2 = 0 or c
2 = 1 )
by E15, TARSKI:def 2;
then
c
2 in {1}
by E14, E16, E17, TARSKI:def 1, ZFMISC_1:6;
hence
c
2 in the
Instruction-Locations of
(Trivial-AMI c1)
by E3;
end;
theorem E14: :: AMI_1:9
proof
let c
1 be
set ;
let c
2, c
3 be
State of
(Trivial-AMI c1);
E15:
product the
Object-Kind of
(Trivial-AMI c1) =
product (0,1 --> {1},{[0,{} ]})
by E3
.=
{(0,1 --> 1,[0,{} ])}
by E2
;
hence c
2 =
0,1
--> 1,
[0,{} ]
by TARSKI:def 1
.=
c
3
by E15, TARSKI:def 1
;
end;
theorem E15: :: AMI_1:10
theorem E16: :: AMI_1:11
:: deftheorem defines IC AMI_1:def 15 :
theorem :: AMI_1:12
canceled;
theorem :: AMI_1:13
canceled;
theorem E17: :: AMI_1:14
theorem E18: :: AMI_1:15
proof
let c
1 be
set ;
assume that E19:
for b
1 being
set holds
( b
1 in c
1 implies b
1 is
Function )
and E20:
for b
1, b
2 being
Function holds
( ( b
1 in c
1 & b
2 in c
1 ) implies ( b
1 tolerates b
2 ) )
;
now
let c
2, c
3, c
4 be
set ;
assume E22:
(
[c2,c3] in union c
1 &
[c2,c4] in union c
1 )
;
then consider c
5 being
set such that E23:
(
[c2,c3] in c
5 & c
5 in c
1 )
by TARSKI:def 4;
consider c
6 being
set such that E24:
(
[c2,c4] in c
6 & c
6 in c
1 )
by E22, TARSKI:def 4;
reconsider c
7 = c
5, c
8 = c
6 as
Function by E19, E23, E24;
c
7 tolerates c
8
by E20, E23, E24;
hence
c
3 = c
4
by E23, E24, E17;
end;
hence
union c
1 is
Function
by E21, FUNCT_1:def 1, RELAT_1:def 1;
end;
theorem :: AMI_1:16
canceled;
theorem :: AMI_1:17
canceled;
theorem E19: :: AMI_1:18
theorem E20: :: AMI_1:19
theorem E21: :: AMI_1:20
for b
1, b
2, b
3 being
set holds b
1,b
1 --> b
2,b
3 = b
1 .--> b
3