:: SCMFSA_7 semantic presentation
theorem Th1: :: SCMFSA_7:1
Lemma2:
for b1, b2, b3 being Nat st b1 >= b3 & b2 >= b3 & b1 -' b3 = b2 -' b3 holds
b1 = b2
by BINARITH:49;
Lemma3:
for b1, b2 being natural number st b1 >= b2 holds
b1 -' b2 = b1 - b2
by BINARITH:50;
Lemma4:
for b1, b2 being Integer st b1 < b2 holds
b1 <= b2 - 1
by INT_1:79;
theorem Th2: :: SCMFSA_7:2
canceled;
theorem Th3: :: SCMFSA_7:3
canceled;
theorem Th4: :: SCMFSA_7:4
canceled;
theorem Th5: :: SCMFSA_7:5
canceled;
theorem Th6: :: SCMFSA_7:6
canceled;
theorem Th7: :: SCMFSA_7:7
canceled;
theorem Th8: :: SCMFSA_7:8
canceled;
theorem Th9: :: SCMFSA_7:9
canceled;
theorem Th10: :: SCMFSA_7:10
canceled;
Lemma5:
for b1, b2, b3 being FinSequence holds
( ((len b1) + (len b2)) + (len b3) = len ((b1 ^ b2) ^ b3) & ((len b1) + (len b2)) + (len b3) = len (b1 ^ (b2 ^ b3)) & (len b1) + ((len b2) + (len b3)) = len (b1 ^ (b2 ^ b3)) & (len b1) + ((len b2) + (len b3)) = len ((b1 ^ b2) ^ b3) )
Lemma6:
for b1, b2, b3, b4 being FinSequence holds
( ((b1 ^ b2) ^ b3) ^ b4 = (b1 ^ b2) ^ (b3 ^ b4) & ((b1 ^ b2) ^ b3) ^ b4 = b1 ^ ((b2 ^ b3) ^ b4) & ((b1 ^ b2) ^ b3) ^ b4 = b1 ^ (b2 ^ (b3 ^ b4)) & ((b1 ^ b2) ^ b3) ^ b4 = (b1 ^ (b2 ^ b3)) ^ b4 )
Lemma7:
for b1, b2, b3, b4, b5 being FinSequence holds
( (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = ((b1 ^ b2) ^ b3) ^ (b4 ^ b5) & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = (b1 ^ b2) ^ ((b3 ^ b4) ^ b5) & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = (b1 ^ b2) ^ (b3 ^ (b4 ^ b5)) & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = b1 ^ (((b2 ^ b3) ^ b4) ^ b5) & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = b1 ^ ((b2 ^ b3) ^ (b4 ^ b5)) & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = b1 ^ (b2 ^ ((b3 ^ b4) ^ b5)) & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = b1 ^ (b2 ^ (b3 ^ (b4 ^ b5))) & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = ((b1 ^ b2) ^ (b3 ^ b4)) ^ b5 & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = (b1 ^ ((b2 ^ b3) ^ b4)) ^ b5 & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = (b1 ^ (b2 ^ (b3 ^ b4))) ^ b5 & (((b1 ^ b2) ^ b3) ^ b4) ^ b5 = b1 ^ ((b2 ^ (b3 ^ b4)) ^ b5) )
theorem Th11: :: SCMFSA_7:11
canceled;
theorem Th12: :: SCMFSA_7:12
theorem Th13: :: SCMFSA_7:13
theorem Th14: :: SCMFSA_7:14
theorem Th15: :: SCMFSA_7:15
theorem Th16: :: SCMFSA_7:16
theorem Th17: :: SCMFSA_7:17
theorem Th18: :: SCMFSA_7:18
theorem Th19: :: SCMFSA_7:19
theorem Th20: :: SCMFSA_7:20
theorem Th21: :: SCMFSA_7:21
theorem Th22: :: SCMFSA_7:22
theorem Th23: :: SCMFSA_7:23
deffunc H1( Nat) -> Element of the Instruction-Locations of SCM+FSA = insloc (a1 -' 1);
:: deftheorem Def1 defines Load SCMFSA_7:def 1 :
theorem Th24: :: SCMFSA_7:24
canceled;
theorem Th25: :: SCMFSA_7:25
theorem Th26: :: SCMFSA_7:26
theorem Th27: :: SCMFSA_7:27
canceled;
theorem Th28: :: SCMFSA_7:28
for
b1,
b2 being
Nat holds
(
b1 < b2 iff ( 1
<= b1 + 1 &
b1 + 1
<= b2 ) )
theorem Th29: :: SCMFSA_7:29
theorem Th30: :: SCMFSA_7:30
theorem Th31: :: SCMFSA_7:31
theorem Th32: :: SCMFSA_7:32
:: deftheorem Def2 defines := SCMFSA_7:def 2 :
definition
let c1 be
Int-Location ;
let c2 be
Integer;
func aSeq c1,
c2 -> FinSequence of the
Instructions of
SCM+FSA means :
Def3:
:: SCMFSA_7:def 3
ex
b1 being
Nat st
(
b1 + 1
= a2 &
a3 = <*(a1 := (intloc 0))*> ^ (b1 |-> (AddTo a1,(intloc 0))) )
if a2 > 0
otherwise ex
b1 being
Nat st
(
b1 + a2 = 1 &
a3 = <*(a1 := (intloc 0))*> ^ (b1 |-> (SubFrom a1,(intloc 0))) );
existence
( ( c2 > 0 implies ex b1 being FinSequence of the Instructions of SCM+FSA ex b2 being Nat st
( b2 + 1 = c2 & b1 = <*(c1 := (intloc 0))*> ^ (b2 |-> (AddTo c1,(intloc 0))) ) ) & ( not c2 > 0 implies ex b1 being FinSequence of the Instructions of SCM+FSA ex b2 being Nat st
( b2 + c2 = 1 & b1 = <*(c1 := (intloc 0))*> ^ (b2 |-> (SubFrom c1,(intloc 0))) ) ) )
uniqueness
for b1, b2 being FinSequence of the Instructions of SCM+FSA holds
( ( c2 > 0 & ex b3 being Nat st
( b3 + 1 = c2 & b1 = <*(c1 := (intloc 0))*> ^ (b3 |-> (AddTo c1,(intloc 0))) ) & ex b3 being Nat st
( b3 + 1 = c2 & b2 = <*(c1 := (intloc 0))*> ^ (b3 |-> (AddTo c1,(intloc 0))) ) implies b1 = b2 ) & ( not c2 > 0 & ex b3 being Nat st
( b3 + c2 = 1 & b1 = <*(c1 := (intloc 0))*> ^ (b3 |-> (SubFrom c1,(intloc 0))) ) & ex b3 being Nat st
( b3 + c2 = 1 & b2 = <*(c1 := (intloc 0))*> ^ (b3 |-> (SubFrom c1,(intloc 0))) ) implies b1 = b2 ) )
;
correctness
consistency
for b1 being FinSequence of the Instructions of SCM+FSA holds verum;
;
end;
:: deftheorem Def3 defines aSeq SCMFSA_7:def 3 :
theorem Th33: :: SCMFSA_7:33
definition
let c1 be
FinSeq-Location ;
let c2 be
FinSequence of
INT ;
func aSeq c1,
c2 -> FinSequence of the
Instructions of
SCM+FSA means :
Def4:
:: SCMFSA_7:def 4
ex
b1 being
FinSequence of the
Instructions of
SCM+FSA * st
(
len b1 = len a2 & ( for
b2 being
Nat st 1
<= b2 &
b2 <= len a2 holds
ex
b3 being
Integer st
(
b3 = a2 . b2 &
b1 . b2 = ((aSeq (intloc 1),b2) ^ (aSeq (intloc 2),b3)) ^ <*(a1,(intloc 1) := (intloc 2))*> ) ) &
a3 = FlattenSeq b1 );
existence
ex b1 being FinSequence of the Instructions of SCM+FSA ex b2 being FinSequence of the Instructions of SCM+FSA * st
( len b2 = len c2 & ( for b3 being Nat st 1 <= b3 & b3 <= len c2 holds
ex b4 being Integer st
( b4 = c2 . b3 & b2 . b3 = ((aSeq (intloc 1),b3) ^ (aSeq (intloc 2),b4)) ^ <*(c1,(intloc 1) := (intloc 2))*> ) ) & b1 = FlattenSeq b2 )
uniqueness
for b1, b2 being FinSequence of the Instructions of SCM+FSA st ex b3 being FinSequence of the Instructions of SCM+FSA * st
( len b3 = len c2 & ( for b4 being Nat st 1 <= b4 & b4 <= len c2 holds
ex b5 being Integer st
( b5 = c2 . b4 & b3 . b4 = ((aSeq (intloc 1),b4) ^ (aSeq (intloc 2),b5)) ^ <*(c1,(intloc 1) := (intloc 2))*> ) ) & b1 = FlattenSeq b3 ) & ex b3 being FinSequence of the Instructions of SCM+FSA * st
( len b3 = len c2 & ( for b4 being Nat st 1 <= b4 & b4 <= len c2 holds
ex b5 being Integer st
( b5 = c2 . b4 & b3 . b4 = ((aSeq (intloc 1),b4) ^ (aSeq (intloc 2),b5)) ^ <*(c1,(intloc 1) := (intloc 2))*> ) ) & b2 = FlattenSeq b3 ) holds
b1 = b2
correctness
;
end;
:: deftheorem Def4 defines aSeq SCMFSA_7:def 4 :
:: deftheorem Def5 defines := SCMFSA_7:def 5 :
theorem Th34: :: SCMFSA_7:34
theorem Th35: :: SCMFSA_7:35
theorem Th36: :: SCMFSA_7:36
theorem Th37: :: SCMFSA_7:37
theorem Th38: :: SCMFSA_7:38
theorem Th39: :: SCMFSA_7:39