:: AMI_5 semantic presentation
theorem :: AMI_5:1
canceled;
theorem :: AMI_5:2
canceled;
theorem :: AMI_5:3
for b
1, b
2 being
Nat holds
( b
2 <> 0 implies
(b1 * b2) div b
2 = b
1 )
theorem :: AMI_5:4
theorem :: AMI_5:5
canceled;
theorem :: AMI_5:6
canceled;
theorem :: AMI_5:7
canceled;
theorem :: AMI_5:8
canceled;
theorem :: AMI_5:9
canceled;
theorem :: AMI_5:10
canceled;
theorem :: AMI_5:11
canceled;
theorem :: AMI_5:12
canceled;
theorem :: AMI_5:13
canceled;
theorem :: AMI_5:14
canceled;
theorem E1: :: AMI_5:15
proof
let c
1 be
Data-Location ;
let c
2 be
State of
SCM ;
reconsider c
3 = c
1 as
Element of
SCM-Data-Loc by AMI_3:def 2;
reconsider c
4 =
Divide c
1,c
1 as
Element of
SCM-Instr by AMI_3:def 1;
reconsider c
5 = c
2 as
SCM-State by AMI_3:def 1;
set c
6 =
SCM-Chg c
5,
(c4 address_1 ),
((c5 . (c4 address_1 )) div (c5 . (c4 address_2 )));
set c
7 =
SCM-Chg (SCM-Chg c5,(c4 address_1 ),((c5 . (c4 address_1 )) div (c5 . (c4 address_2 )))),
(c4 address_2 ),
((c5 . (c4 address_1 )) mod (c5 . (c4 address_2 )));
reconsider c
8 = 5 as
Element of
Segm 9
by GR_CY_1:10;
E2:
c
4 = [c8,<*c3,c3*>]
;
E3:
Exec (Divide c1,c1),c
2 =
SCM-Exec-Res c
4,c
5
by AMI_3:7
.=
SCM-Chg (SCM-Chg (SCM-Chg c5,(c4 address_1 ),((c5 . (c4 address_1 )) div (c5 . (c4 address_2 )))),(c4 address_2 ),((c5 . (c4 address_1 )) mod (c5 . (c4 address_2 )))),
(Next (IC c5))
by E2, AMI_2:def 16
;
E4:
( c
4 address_1 = c
3 & c
4 address_2 = c
3 )
by E2, AMI_2:23;
thus
(Exec (Divide c1,c1),c2) . (IC SCM ) = Next (IC c2)
by AMI_3:12;
thus (Exec (Divide c1,c1),c2) . c
1 =
(SCM-Chg (SCM-Chg c5,(c4 address_1 ),((c5 . (c4 address_1 )) div (c5 . (c4 address_2 )))),(c4 address_2 ),((c5 . (c4 address_1 )) mod (c5 . (c4 address_2 )))) . c
3
by E3, AMI_2:17
.=
(c2 . c1) mod (c2 . c1)
by E4, AMI_2:20
;
thus
for b
1 being
Data-Location holds
( b
1 <> c
1 implies
(Exec (Divide c1,c1),c2) . b
1 = c
2 . b
1 )
by AMI_3:12;
end;
theorem E2: :: AMI_5:16
theorem :: AMI_5:17
canceled;
theorem E3: :: AMI_5:18
theorem E4: :: AMI_5:19
theorem E5: :: AMI_5:20
theorem :: AMI_5:21
canceled;
theorem E6: :: AMI_5:22
theorem E7: :: AMI_5:23
theorem :: AMI_5:24
theorem E8: :: AMI_5:25
theorem :: AMI_5:26
theorem E9: :: AMI_5:27
theorem E10: :: AMI_5:28
theorem :: AMI_5:29
theorem :: AMI_5:30
theorem E11: :: AMI_5:31
theorem E12: :: AMI_5:32
theorem E13: :: AMI_5:33
theorem :: AMI_5:34
theorem E14: :: AMI_5:35
:: deftheorem defines InsCode AMI_5:def 1 :
:: deftheorem defines @ AMI_5:def 2 :
:: deftheorem defines @ AMI_5:def 3 :
:: deftheorem defines @ AMI_5:def 4 :
theorem E15: :: AMI_5:36
theorem E16: :: AMI_5:37
theorem :: AMI_5:38
theorem :: AMI_5:39
theorem :: AMI_5:40
theorem :: AMI_5:41
theorem :: AMI_5:42
theorem :: AMI_5:43
theorem :: AMI_5:44
theorem :: AMI_5:45
theorem E17: :: AMI_5:46
proof
let c
1 be
Instruction of
SCM ;
assume E18:
InsCode c
1 = 0
;
E19:
now
assume
c
1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Data-Loc , B is Element of SCM-Data-Loc : b1 in {1,2,3,4,5} }
;
then consider c
2 being
Element of
Segm 9, c
3, c
4 being
Element of
SCM-Data-Loc such that
E20:
c
1 = [c2,<*c3,c4*>]
and
E21:
c
2 in {1,2,3,4,5}
;
InsCode c
1 =
c
1 `1
.=
c
2
by E20, MCART_1:7
;
hence
not verum
by E18, E21, ENUMSET1:def 3;
end;
E20:
now
assume
c
1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} }
;
then consider c
2 being
Element of
Segm 9, c
3 being
Element of
SCM-Instr-Loc , c
4 being
Element of
SCM-Data-Loc such that
E21:
c
1 = [c2,<*c3,c4*>]
and
E22:
c
2 in {7,8}
;
InsCode c
1 =
c
1 `1
.=
c
2
by E21, MCART_1:7
;
hence
not verum
by E18, E22, TARSKI:def 2;
end;
c
1 in ({[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ) \/ { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} }
by E19, AMI_2:def 4, AMI_3:def 1, XBOOLE_0:def 2;
then
c
1 in {[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 }
by E20, XBOOLE_0:def 2;
then
c
1 in {[SCM-Halt ,{} ]}
by E21, XBOOLE_0:def 2;
hence
c
1 = halt SCM
by AMI_2:def 1, AMI_3:71, TARSKI:def 1;
end;
theorem E18: :: AMI_5:47
proof
let c
1 be
Instruction of
SCM ;
assume E19:
InsCode c
1 = 1
;
E20:
not c
1 in {[SCM-Halt ,{} ]}
by E19, E16, AMI_2:def 1, AMI_3:71, TARSKI:def 1;
E21:
now
assume
c
1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} }
;
then consider c
2 being
Element of
Segm 9, c
3 being
Element of
SCM-Instr-Loc , c
4 being
Element of
SCM-Data-Loc such that
E22:
c
1 = [c2,<*c3,c4*>]
and
E23:
c
2 in {7,8}
;
InsCode c
1 =
c
1 `1
.=
c
2
by E22, MCART_1:7
;
hence
not verum
by E19, E23, TARSKI:def 2;
end;
then
not c
1 in {[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 }
by E20, XBOOLE_0:def 2;
then
not c
1 in ({[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ) \/ { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} }
by E21, XBOOLE_0:def 2;
then
c
1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Data-Loc , B is Element of SCM-Data-Loc : b1 in {1,2,3,4,5} }
by AMI_2:def 4, AMI_3:def 1, XBOOLE_0:def 2;
then consider c
2 being
Element of
Segm 9, c
3, c
4 being
Element of
SCM-Data-Loc such that
E22:
c
1 = [c2,<*c3,c4*>]
and
c
2 in {1,2,3,4,5}
;
E23:
InsCode c
1 =
c
1 `1
.=
c
2
by E22, MCART_1:7
;
reconsider c
5 = c
3 @ , c
6 = c
4 @ as
Data-Location ;
take
c
5
;
take
c
6
;
( c
3 = c
3 @ & c
4 = c
4 @ )
;
hence
c
1 = c
5 := c
6
by E19, E22, E23;
end;
theorem E19: :: AMI_5:48
proof
let c
1 be
Instruction of
SCM ;
assume E20:
InsCode c
1 = 2
;
E21:
not c
1 in {[SCM-Halt ,{} ]}
by E20, E16, AMI_2:def 1, AMI_3:71, TARSKI:def 1;
E22:
now
assume
c
1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} }
;
then consider c
2 being
Element of
Segm 9, c
3 being
Element of
SCM-Instr-Loc , c
4 being
Element of
SCM-Data-Loc such that
E23:
c
1 = [c2,<*c3,c4*>]
and
E24:
c
2 in {7,8}
;
InsCode c
1 =
c
1 `1
.=
c
2
by E23, MCART_1:7
;
hence
not verum
by E20, E24, TARSKI:def 2;
end;
then
not c
1 in {[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 }
by E21, XBOOLE_0:def 2;
then
not c
1 in ({[SCM-Halt ,{} ]} \/ { [b1,<*b2*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc : b1 = 6 } ) \/ { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Instr-Loc , B is Element of SCM-Data-Loc : b1 in {7,8} }
by E22, XBOOLE_0:def 2;
then
c
1 in { [b1,<*b2,b3*>] where B is Element of Segm 9, B is Element of SCM-Data-Loc , B is Element of SCM-Data-Loc : b1 in {1,2,3,4,5} }
by AMI_2:def 4, AMI_3:def 1, XBOOLE_0:def 2;
then consider c
2 being
Element of
Segm 9, c
3, c
4 being
Element of
SCM-Data-Loc such that
E23:
c
1 = [c2,<*c3,c4*>]
and
c
2 in {1,2,3,4,5}
;
E24:
InsCode c
1 =
c
1 `1
.=
c
2
by E23, MCART_1:7
;
reconsider c
5 = c
3 @ , c
6 = c
4 @ as
Data-Location ;
take
c
5
;
take
c
6
;
( c
3 = c
3 @ & c
4 = c
4 @ )
;
hence
c
1 = AddTo c
5,c
6
by E20, E23, E24;
end;
theorem E20: :: AMI_5:49