:: SCMFSA_2 semantic presentation
theorem Th1: :: SCMFSA_2:1
canceled;
theorem Th2: :: SCMFSA_2:2
canceled;
theorem Th3: :: SCMFSA_2:3
theorem Th4: :: SCMFSA_2:4
theorem Th5: :: SCMFSA_2:5
definition
func SCM+FSA -> strict AMI-Struct of
{INT ,(INT * )} equals :: SCMFSA_2:def 1
AMI-Struct(#
INT ,
(In 0,INT ),
SCM+FSA-Instr-Loc ,
(Segm 13),
SCM+FSA-Instr ,
SCM+FSA-OK ,
SCM+FSA-Exec #);
coherence
AMI-Struct(# INT ,(In 0,INT ),SCM+FSA-Instr-Loc ,(Segm 13),SCM+FSA-Instr ,SCM+FSA-OK ,SCM+FSA-Exec #) is strict AMI-Struct of {INT ,(INT * )}
;
end;
:: deftheorem Def1 defines SCM+FSA SCMFSA_2:def 1 :
theorem Th6: :: SCMFSA_2:6
theorem Th7: :: SCMFSA_2:7
:: deftheorem Def2 defines Int-Locations SCMFSA_2:def 2 :
:: deftheorem Def3 defines FinSeq-Locations SCMFSA_2:def 3 :
theorem Th8: :: SCMFSA_2:8
:: deftheorem Def4 defines Int-Location SCMFSA_2:def 4 :
:: deftheorem Def5 defines FinSeq-Location SCMFSA_2:def 5 :
theorem Th9: :: SCMFSA_2:9
theorem Th10: :: SCMFSA_2:10
theorem Th11: :: SCMFSA_2:11
theorem Th12: :: SCMFSA_2:12
theorem Th13: :: SCMFSA_2:13
theorem Th14: :: SCMFSA_2:14
theorem Th15: :: SCMFSA_2:15
:: deftheorem Def6 defines intloc SCMFSA_2:def 6 :
:: deftheorem Def7 defines insloc SCMFSA_2:def 7 :
:: deftheorem Def8 defines fsloc SCMFSA_2:def 8 :
theorem Th16: :: SCMFSA_2:16
theorem Th17: :: SCMFSA_2:17
theorem Th18: :: SCMFSA_2:18
theorem Th19: :: SCMFSA_2:19
theorem Th20: :: SCMFSA_2:20
theorem Th21: :: SCMFSA_2:21
theorem Th22: :: SCMFSA_2:22
theorem Th23: :: SCMFSA_2:23
theorem Th24: :: SCMFSA_2:24
theorem Th25: :: SCMFSA_2:25
theorem Th26: :: SCMFSA_2:26
theorem Th27: :: SCMFSA_2:27
theorem Th28: :: SCMFSA_2:28
theorem Th29: :: SCMFSA_2:29
theorem Th30: :: SCMFSA_2:30
:: deftheorem Def9 defines Next SCMFSA_2:def 9 :
theorem Th31: :: SCMFSA_2:31
theorem Th32: :: SCMFSA_2:32
theorem Th33: :: SCMFSA_2:33
theorem Th34: :: SCMFSA_2:34
theorem Th35: :: SCMFSA_2:35
theorem Th36: :: SCMFSA_2:36
canceled;
theorem Th37: :: SCMFSA_2:37
theorem Th38: :: SCMFSA_2:38
definition
let c1,
c2 be
Int-Location ;
canceled;func c1 := c2 -> Instruction of
SCM+FSA means :
Def11:
:: SCMFSA_2:def 11
ex
b1,
b2 being
Data-Location st
(
a1 = b1 &
a2 = b2 &
a3 = b1 := b2 );
existence
ex b1 being Instruction of SCM+FSA ex b2, b3 being Data-Location st
( c1 = b2 & c2 = b3 & b1 = b2 := b3 )
correctness
uniqueness
for b1, b2 being Instruction of SCM+FSA st ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b1 = b3 := b4 ) & ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b2 = b3 := b4 ) holds
b1 = b2;
;
func AddTo c1,
c2 -> Instruction of
SCM+FSA means :
Def12:
:: SCMFSA_2:def 12
ex
b1,
b2 being
Data-Location st
(
a1 = b1 &
a2 = b2 &
a3 = AddTo b1,
b2 );
existence
ex b1 being Instruction of SCM+FSA ex b2, b3 being Data-Location st
( c1 = b2 & c2 = b3 & b1 = AddTo b2,b3 )
correctness
uniqueness
for b1, b2 being Instruction of SCM+FSA st ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b1 = AddTo b3,b4 ) & ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b2 = AddTo b3,b4 ) holds
b1 = b2;
;
func SubFrom c1,
c2 -> Instruction of
SCM+FSA means :
Def13:
:: SCMFSA_2:def 13
ex
b1,
b2 being
Data-Location st
(
a1 = b1 &
a2 = b2 &
a3 = SubFrom b1,
b2 );
existence
ex b1 being Instruction of SCM+FSA ex b2, b3 being Data-Location st
( c1 = b2 & c2 = b3 & b1 = SubFrom b2,b3 )
correctness
uniqueness
for b1, b2 being Instruction of SCM+FSA st ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b1 = SubFrom b3,b4 ) & ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b2 = SubFrom b3,b4 ) holds
b1 = b2;
;
func MultBy c1,
c2 -> Instruction of
SCM+FSA means :
Def14:
:: SCMFSA_2:def 14
ex
b1,
b2 being
Data-Location st
(
a1 = b1 &
a2 = b2 &
a3 = MultBy b1,
b2 );
existence
ex b1 being Instruction of SCM+FSA ex b2, b3 being Data-Location st
( c1 = b2 & c2 = b3 & b1 = MultBy b2,b3 )
correctness
uniqueness
for b1, b2 being Instruction of SCM+FSA st ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b1 = MultBy b3,b4 ) & ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b2 = MultBy b3,b4 ) holds
b1 = b2;
;
func Divide c1,
c2 -> Instruction of
SCM+FSA means :
Def15:
:: SCMFSA_2:def 15
ex
b1,
b2 being
Data-Location st
(
a1 = b1 &
a2 = b2 &
a3 = Divide b1,
b2 );
existence
ex b1 being Instruction of SCM+FSA ex b2, b3 being Data-Location st
( c1 = b2 & c2 = b3 & b1 = Divide b2,b3 )
correctness
uniqueness
for b1, b2 being Instruction of SCM+FSA st ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b1 = Divide b3,b4 ) & ex b3, b4 being Data-Location st
( c1 = b3 & c2 = b4 & b2 = Divide b3,b4 ) holds
b1 = b2;
;
end;
:: deftheorem Def10 SCMFSA_2:def 10 :
canceled;
:: deftheorem Def11 defines := SCMFSA_2:def 11 :
:: deftheorem Def12 defines AddTo SCMFSA_2:def 12 :
:: deftheorem Def13 defines SubFrom SCMFSA_2:def 13 :
:: deftheorem Def14 defines MultBy SCMFSA_2:def 14 :
:: deftheorem Def15 defines Divide SCMFSA_2:def 15 :
theorem Th39: :: SCMFSA_2:39
:: deftheorem Def16 defines goto SCMFSA_2:def 16 :
:: deftheorem Def17 defines =0_goto SCMFSA_2:def 17 :
:: deftheorem Def18 defines >0_goto SCMFSA_2:def 18 :
definition
let c1,
c2 be
Int-Location ;
let c3 be
FinSeq-Location ;
func c1 := c3,
c2 -> Instruction of
SCM+FSA equals :: SCMFSA_2:def 19
[9,<*a1,a3,a2*>];
coherence
[9,<*c1,c3,c2*>] is Instruction of SCM+FSA
func c3,
c2 := c1 -> Instruction of
SCM+FSA equals :: SCMFSA_2:def 20
[10,<*a1,a3,a2*>];
coherence
[10,<*c1,c3,c2*>] is Instruction of SCM+FSA
end;
:: deftheorem Def19 defines := SCMFSA_2:def 19 :
:: deftheorem Def20 defines := SCMFSA_2:def 20 :
definition
let c1 be
Int-Location ;
let c2 be
FinSeq-Location ;
func c1 :=len c2 -> Instruction of
SCM+FSA equals :: SCMFSA_2:def 21
[11,<*a1,a2*>];
coherence
[11,<*c1,c2*>] is Instruction of SCM+FSA
func c2 :=<0,...,0> c1 -> Instruction of
SCM+FSA equals :: SCMFSA_2:def 22
[12,<*a1,a2*>];
coherence
[12,<*c1,c2*>] is Instruction of SCM+FSA
end;
:: deftheorem Def21 defines :=len SCMFSA_2:def 21 :
:: deftheorem Def22 defines :=<0,...,0> SCMFSA_2:def 22 :
theorem Th40: :: SCMFSA_2:40
canceled;
theorem Th41: :: SCMFSA_2:41
canceled;
theorem Th42: :: SCMFSA_2:42
theorem Th43: :: SCMFSA_2:43
theorem Th44: :: SCMFSA_2:44
theorem Th45: :: SCMFSA_2:45
theorem Th46: :: SCMFSA_2:46
theorem Th47: :: SCMFSA_2:47
theorem Th48: :: SCMFSA_2:48
theorem Th49: :: SCMFSA_2:49
theorem Th50: :: SCMFSA_2:50
theorem Th51: :: SCMFSA_2:51
theorem Th52: :: SCMFSA_2:52
theorem Th53: :: SCMFSA_2:53
theorem Th54: :: SCMFSA_2:54
theorem Th55: :: SCMFSA_2:55
theorem Th56: :: SCMFSA_2:56
theorem Th57: :: SCMFSA_2:57
theorem Th58: :: SCMFSA_2:58
theorem Th59: :: SCMFSA_2:59
theorem Th60: :: SCMFSA_2:60
theorem Th61: :: SCMFSA_2:61
theorem Th62: :: SCMFSA_2:62
theorem Th63: :: SCMFSA_2:63
theorem Th64: :: SCMFSA_2:64
theorem Th65: :: SCMFSA_2:65
theorem Th66: :: SCMFSA_2:66
theorem Th67: :: SCMFSA_2:67
theorem Th68: :: SCMFSA_2:68
theorem Th69: :: SCMFSA_2:69
theorem Th70: :: SCMFSA_2:70
theorem Th71: :: SCMFSA_2:71
theorem Th72: :: SCMFSA_2:72
theorem Th73: :: SCMFSA_2:73
theorem Th74: :: SCMFSA_2:74
theorem Th75: :: SCMFSA_2:75
theorem Th76: :: SCMFSA_2:76
theorem Th77: :: SCMFSA_2:77
theorem Th78: :: SCMFSA_2:78
theorem Th79: :: SCMFSA_2:79
theorem Th80: :: SCMFSA_2:80
theorem Th81: :: SCMFSA_2:81
theorem Th82: :: SCMFSA_2:82
theorem Th83: :: SCMFSA_2:83
theorem Th84: :: SCMFSA_2:84
theorem Th85: :: SCMFSA_2:85
theorem Th86: :: SCMFSA_2:86
theorem Th87: :: SCMFSA_2:87
canceled;
theorem Th88: :: SCMFSA_2:88
theorem Th89: :: SCMFSA_2:89
theorem Th90: :: SCMFSA_2:90
theorem Th91: :: SCMFSA_2:91
theorem Th92: :: SCMFSA_2:92
theorem Th93: :: SCMFSA_2:93
for
b1,
b2 being
Int-Location for
b3 being
State of
SCM+FSA holds
(
(Exec (Divide b1,b2),b3) . (IC SCM+FSA ) = Next (IC b3) & (
b1 <> b2 implies
(Exec (Divide b1,b2),b3) . b1 = (b3 . b1) div (b3 . b2) ) &
(Exec (Divide b1,b2),b3) . b2 = (b3 . b1) mod (b3 . b2) & ( for
b4 being
Int-Location st
b4 <> b1 &
b4 <> b2 holds
(Exec (Divide b1,b2),b3) . b4 = b3 . b4 ) & ( for
b4 being
FinSeq-Location holds
(Exec (Divide b1,b2),b3) . b4 = b3 . b4 ) )
theorem Th94: :: SCMFSA_2:94
theorem Th95: :: SCMFSA_2:95
theorem Th96: :: SCMFSA_2:96
theorem Th97: :: SCMFSA_2:97
theorem Th98: :: SCMFSA_2:98
theorem Th99: :: SCMFSA_2:99
for
b1 being
FinSeq-Location for
b2,
b3 being
Int-Location for
b4 being
State of
SCM+FSA holds
(
(Exec (b1,b2 := b3),b4) . (IC SCM+FSA ) = Next (IC b4) & ex
b5 being
Nat st
(
b5 = abs (b4 . b2) &
(Exec (b1,b2 := b3),b4) . b1 = (b4 . b1) +* b5,
(b4 . b3) ) & ( for
b5 being
Int-Location holds
(Exec (b1,b2 := b3),b4) . b5 = b4 . b5 ) & ( for
b5 being
FinSeq-Location st
b5 <> b1 holds
(Exec (b1,b2 := b3),b4) . b5 = b4 . b5 ) )
theorem Th100: :: SCMFSA_2:100
theorem Th101: :: SCMFSA_2:101
for
b1 being
FinSeq-Location for
b2 being
Int-Location for
b3 being
State of
SCM+FSA holds
(
(Exec (b1 :=<0,...,0> b2),b3) . (IC SCM+FSA ) = Next (IC b3) & ex
b4 being
Nat st
(
b4 = abs (b3 . b2) &
(Exec (b1 :=<0,...,0> b2),b3) . b1 = b4 |-> 0 ) & ( for
b4 being
Int-Location holds
(Exec (b1 :=<0,...,0> b2),b3) . b4 = b3 . b4 ) & ( for
b4 being
FinSeq-Location st
b4 <> b1 holds
(Exec (b1 :=<0,...,0> b2),b3) . b4 = b3 . b4 ) )
theorem Th102: :: SCMFSA_2:102
theorem Th103: :: SCMFSA_2:103
theorem Th104: :: SCMFSA_2:104
theorem Th105: :: SCMFSA_2:105
theorem Th106: :: SCMFSA_2:106
theorem Th107: :: SCMFSA_2:107
theorem Th108: :: SCMFSA_2:108
theorem Th109: :: SCMFSA_2:109
theorem Th110: :: SCMFSA_2:110
theorem Th111: :: SCMFSA_2:111
theorem Th112: :: SCMFSA_2:112
theorem Th113: :: SCMFSA_2:113
theorem Th114: :: SCMFSA_2:114
theorem Th115: :: SCMFSA_2:115
theorem Th116: :: SCMFSA_2:116
theorem Th117: :: SCMFSA_2:117
theorem Th118: :: SCMFSA_2:118
theorem Th119: :: SCMFSA_2:119
theorem Th120: :: SCMFSA_2:120
for
b1 being
set holds
(
b1 is
Instruction of
SCM+FSA iff (
b1 = [0,{} ] or ex
b2,
b3 being
Int-Location st
b1 = b2 := b3 or ex
b2,
b3 being
Int-Location st
b1 = AddTo b2,
b3 or ex
b2,
b3 being
Int-Location st
b1 = SubFrom b2,
b3 or ex
b2,
b3 being
Int-Location st
b1 = MultBy b2,
b3 or ex
b2,
b3 being
Int-Location st
b1 = Divide b2,
b3 or ex
b2 being
Instruction-Location of
SCM+FSA st
b1 = goto b2 or ex
b2 being
Instruction-Location of
SCM+FSA ex
b3 being
Int-Location st
b1 = b3 =0_goto b2 or ex
b2 being
Instruction-Location of
SCM+FSA ex
b3 being
Int-Location st
b1 = b3 >0_goto b2 or ex
b2,
b3 being
Int-Location ex
b4 being
FinSeq-Location st
b1 = b3 := b4,
b2 or ex
b2,
b3 being
Int-Location ex
b4 being
FinSeq-Location st
b1 = b4,
b2 := b3 or ex
b2 being
Int-Location ex
b3 being
FinSeq-Location st
b1 = b2 :=len b3 or ex
b2 being
Int-Location ex
b3 being
FinSeq-Location st
b1 = b3 :=<0,...,0> b2 ) )
theorem Th121: :: SCMFSA_2:121
theorem Th122: :: SCMFSA_2:122
theorem Th123: :: SCMFSA_2:123
theorem Th124: :: SCMFSA_2:124
theorem Th125: :: SCMFSA_2:125