Lm1:
2 in {0,1,2,3,4,5}
by ENUMSET1:def 4;
Lm2:
0 in {0}
by TARSKI:def 1;
theorem Th3:
for
f,
g being
Function for
w,
x,
y,
z being
object st
dom f = dom g &
f . w = g . w &
f . x = g . x &
f . y = g . y &
f . z = g . z holds
f | {w,x,y,z} = g | {w,x,y,z}
::
deftheorem defines
<% AMI_8:def 1 :
for x1, x2, x3, x4, x5 being object holds <%x1,x2,x3,x4,x5%> = <%x1,x2,x3,x4%> ^ <%x5%>;
registration
let x1,
x2,
x3,
x4,
x5 be
object ;
coherence
( <%x1,x2,x3,x4,x5%> is Function-like & <%x1,x2,x3,x4,x5%> is Relation-like )
;
end;
registration
let x1,
x2,
x3,
x4,
x5 be
object ;
coherence
( <%x1,x2,x3,x4,x5%> is finite & <%x1,x2,x3,x4,x5%> is Sequence-like )
;
end;
theorem Th4:
for
x1,
x2,
x3,
x4,
x5 being
object holds
dom <%x1,x2,x3,x4,x5%> = {0,1,2,3,4}
registration
let x1,
x2,
x3,
x4,
x5 be
object ;
A1:
dom <%x1,x2,x3,x4%> = {0,1,2,3}
by Th1;
reducibility
<%x1,x2,x3,x4,x5%> . 0 = x1
reducibility
<%x1,x2,x3,x4,x5%> . 1 = x2
reducibility
<%x1,x2,x3,x4,x5%> . 2 = x3
reducibility
<%x1,x2,x3,x4,x5%> . 3 = x4
reducibility
<%x1,x2,x3,x4,x5%> . 4 = x5
end;
::
deftheorem defines
<% AMI_8:def 2 :
for x1, x2, x3, x4, x5, x6 being object holds <%x1,x2,x3,x4,x5,x6%> = <%x1,x2,x3,x4,x5%> ^ <%x6%>;
registration
let x1,
x2,
x3,
x4,
x5,
x6 be
object ;
coherence
( <%x1,x2,x3,x4,x5,x6%> is Function-like & <%x1,x2,x3,x4,x5,x6%> is Relation-like )
;
end;
registration
let x1,
x2,
x3,
x4,
x5,
x6 be
object ;
coherence
( <%x1,x2,x3,x4,x5,x6%> is finite & <%x1,x2,x3,x4,x5,x6%> is Sequence-like )
;
end;
theorem Th6:
for
x1,
x2,
x3,
x4,
x5,
x6 being
object holds
dom <%x1,x2,x3,x4,x5,x6%> = {0,1,2,3,4,5}
theorem
for
x1,
x2,
x3,
x4,
x5,
x6 being
object holds
len <%x1,x2,x3,x4,x5,x6%> = 6
by Th6, CARD_1:54;
registration
let x1,
x2,
x3,
x4,
x5,
x6 be
object ;
A1:
dom <%x1,x2,x3,x4,x5%> = {0,1,2,3,4}
by Th4;
reducibility
<%x1,x2,x3,x4,x5,x6%> . 0 = x1
reducibility
<%x1,x2,x3,x4,x5,x6%> . 1 = x2
reducibility
<%x1,x2,x3,x4,x5,x6%> . 2 = x3
reducibility
<%x1,x2,x3,x4,x5,x6%> . 3 = x4
reducibility
<%x1,x2,x3,x4,x5,x6%> . 4 = x5
reducibility
<%x1,x2,x3,x4,x5,x6%> . 5 = x6
end;
theorem Th8:
for
x1,
x2,
x3,
x4,
x5,
x6 being
object for
f being
Function st
<%x1,x2,x3,x4,x5,x6%> c= f holds
(
f . 0 = x1 &
f . 1
= x2 &
f . 2
= x3 &
f . 3
= x4 &
f . 4
= x5 &
f . 5
= x6 )
set a = dl. 0;
set b = dl. 1;
set c = dl. 2;
set SA = Start-At (0,SCM);
theorem Th16:
for
s being
State of
SCM for
I being
Instruction of
SCM for
P being
Instruction-Sequence of
SCM st
IterativeAlgorithm I c= P holds
for
k being
Nat st
IC (Comput (P,s,k)) = 0 holds
( (
(Comput (P,s,k)) . (dl. 1) > 0 implies
IC (Comput (P,s,(k + 1))) = 2 ) & (
(Comput (P,s,k)) . (dl. 1) <= 0 implies
IC (Comput (P,s,(k + 1))) = 1 ) & ( for
j being
Nat holds
(Comput (P,s,(k + 1))) . (dl. j) = (Comput (P,s,k)) . (dl. j) ) )
theorem Th19:
for
m,
n being
Nat for
s being
State of
SCM for
P being
Instruction-Sequence of
SCM st
IterativeAlgorithm (AddTo ((dl. m),(dl. n))) c= P holds
for
k being
Nat st
IC (Comput (P,s,k)) = 2 holds
(
IC (Comput (P,s,(k + 1))) = 3 &
(Comput (P,s,(k + 1))) . (dl. m) = ((Comput (P,s,k)) . (dl. m)) + ((Comput (P,s,k)) . (dl. n)) & ( for
j being
Nat st
j <> m holds
(Comput (P,s,(k + 1))) . (dl. j) = (Comput (P,s,k)) . (dl. j) ) )
theorem Th20:
for
m,
n being
Nat for
s being
State of
SCM for
P being
Instruction-Sequence of
SCM st
IterativeAlgorithm (SubFrom ((dl. m),(dl. n))) c= P holds
for
k being
Nat st
IC (Comput (P,s,k)) = 2 holds
(
IC (Comput (P,s,(k + 1))) = 3 &
(Comput (P,s,(k + 1))) . (dl. m) = ((Comput (P,s,k)) . (dl. m)) - ((Comput (P,s,k)) . (dl. n)) & ( for
j being
Nat st
j <> m holds
(Comput (P,s,(k + 1))) . (dl. j) = (Comput (P,s,k)) . (dl. j) ) )
theorem Th21:
for
m,
n being
Nat for
s being
State of
SCM for
P being
Instruction-Sequence of
SCM st
IterativeAlgorithm (MultBy ((dl. m),(dl. n))) c= P holds
for
k being
Nat st
IC (Comput (P,s,k)) = 2 holds
(
IC (Comput (P,s,(k + 1))) = 3 &
(Comput (P,s,(k + 1))) . (dl. m) = ((Comput (P,s,k)) . (dl. m)) * ((Comput (P,s,k)) . (dl. n)) & ( for
j being
Nat st
j <> m holds
(Comput (P,s,(k + 1))) . (dl. j) = (Comput (P,s,k)) . (dl. j) ) )
theorem Th22:
for
s being
State of
SCM for
I being
Instruction of
SCM for
P being
Instruction-Sequence of
SCM st
IterativeAlgorithm I c= P holds
for
k being
Nat st
IC (Comput (P,s,k)) = 3 holds
(
IC (Comput (P,s,(k + 1))) = 4 &
(Comput (P,s,(k + 1))) . (dl. 1) = ((Comput (P,s,k)) . (dl. 1)) - ((Comput (P,s,k)) . (dl. 0)) & ( for
j being
Nat st
j <> 1 holds
(Comput (P,s,(k + 1))) . (dl. j) = (Comput (P,s,k)) . (dl. j) ) )
theorem Th23:
for
s being
State of
SCM for
I being
Instruction of
SCM for
P being
Instruction-Sequence of
SCM st
IterativeAlgorithm I c= P holds
for
k being
Nat st
IC (Comput (P,s,k)) = 4 holds
( (
(Comput (P,s,k)) . (dl. 1) = 0 implies
IC (Comput (P,s,(k + 1))) = 1 ) & (
(Comput (P,s,k)) . (dl. 1) <> 0 implies
IC (Comput (P,s,(k + 1))) = 5 ) & ( for
j being
Nat holds
(Comput (P,s,(k + 1))) . (dl. j) = (Comput (P,s,k)) . (dl. j) ) )
theorem Th27:
for
i1,
i2 being
Integer for
I being
Instruction of
SCM st
I is
sequential &
I is
0 -dl.constant holds
for
P being
Instruction-Sequence of
SCM st
IterativeAlgorithm I c= P holds
for
s being
0 -started State-consisting of
<%i1,0,i2%> holds
(
IC (Comput (P,s,0)) = 0 & ( for
k being
Nat st
k >= 1 holds
IC (Comput (P,s,k)) = 1 ) & ( for
k being
Nat holds
(
(Comput (P,s,k)) . (dl. 0) = i1 &
(Comput (P,s,k)) . (dl. 1) = 0 &
(Comput (P,s,k)) . (dl. 2) = i2 ) ) &
LifeSpan (
P,
s)
= 1 )
theorem
for
I being
Instruction of
SCM for
A being
Integer for
N being
Nat for
P being
Instruction-Sequence of
SCM st
IterativeAlgorithm I c= P &
I is
sequential &
I is
0 -dl.constant holds
for
s being
0 -started State-consisting of
<%1,N,A%> st
(Comput (P,s,2)) . (dl. 1) = (Comput (P,s,1)) . (dl. 1) & ( for
k being
Nat holds
(Comput (P,s,((4 * k) + 6))) . (dl. 1) = (Comput (P,s,((4 * k) + 5))) . (dl. 1) ) holds
(
P halts_on s &
IC (Comput (P,s,0)) = 0 &
(Comput (P,s,1)) . (dl. 2) = A & ( for
k being
Nat st
0 < k &
k < N holds
IC (Comput (P,s,(4 * k))) = 5 ) & ( for
k being
Nat st
k < N holds
(
IC (Comput (P,s,((4 * k) + 1))) = 2 &
IC (Comput (P,s,((4 * k) + 2))) = 3 &
IC (Comput (P,s,((4 * k) + 3))) = 4 &
(Comput (P,s,((4 * k) + 1))) . (dl. 1) = N - k &
(Comput (P,s,((4 * k) + 2))) . (dl. 1) = N - k &
(Comput (P,s,((4 * k) + 3))) . (dl. 1) = (N - k) - 1 &
(Comput (P,s,((4 * k) + 4))) . (dl. 1) = (N - k) - 1 &
(Comput (P,s,(4 * k))) . (dl. 1) > 0 &
(Comput (P,s,((4 * k) + 1))) . (dl. 1) > 0 &
(Comput (P,s,((4 * k) + 2))) . (dl. 1) > 0 ) ) & (
N <> 0 implies (
LifeSpan (
P,
s)
= 4
* N & ( for
k,
j being
Nat st
k >= N holds
(
IC (Comput (P,s,((4 * k) + j))) = 1 &
(Comput (P,s,(((4 * k) + 1) + j))) . (dl. 1) = 0 ) ) ) ) )
theorem Th29:
for
I being
Instruction of
SCM for
A being
Integer for
N being
Nat for
P being
Instruction-Sequence of
SCM st (
I = AddTo (
(dl. 2),
(dl. 1)) or
I = SubFrom (
(dl. 2),
(dl. 1)) or
I = MultBy (
(dl. 2),
(dl. 1)) ) &
IterativeAlgorithm I c= P holds
for
s being
0 -started State-consisting of
<%1,N,A%> holds
(
P halts_on s &
(Comput (P,s,1)) . (dl. 2) = A & ( for
k being
Nat st
0 < k &
k < N holds
IC (Comput (P,s,(4 * k))) = 5 ) & ( for
k being
Nat st
k < N holds
(
IC (Comput (P,s,((4 * k) + 1))) = 2 &
IC (Comput (P,s,((4 * k) + 2))) = 3 &
IC (Comput (P,s,((4 * k) + 3))) = 4 &
(Comput (P,s,((4 * k) + 1))) . (dl. 1) = N - k &
(Comput (P,s,((4 * k) + 2))) . (dl. 1) = N - k &
(Comput (P,s,((4 * k) + 3))) . (dl. 1) = (N - k) - 1 &
(Comput (P,s,((4 * k) + 4))) . (dl. 1) = (N - k) - 1 &
(Comput (P,s,(4 * k))) . (dl. 1) > 0 &
(Comput (P,s,((4 * k) + 1))) . (dl. 1) > 0 &
(Comput (P,s,((4 * k) + 2))) . (dl. 1) > 0 ) ) & (
N <> 0 implies (
LifeSpan (
P,
s)
= 4
* N & ( for
k,
j being
Nat st
k >= N holds
(
IC (Comput (P,s,((4 * k) + j))) = 1 &
(Comput (P,s,(((4 * k) + 1) + j))) . (dl. 1) = 0 ) ) ) ) )
now for A being Integer
for P being Instruction-Sequence of SCM st IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P holds
for s being 0 -started State-consisting of <%1,0,A%> holds verum
let A be
Integer;
for P being Instruction-Sequence of SCM st IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P holds
for s being 0 -started State-consisting of <%1,0,A%> holds verumset N =
0 ;
let P be
Instruction-Sequence of
SCM;
( IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P implies for s being 0 -started State-consisting of <%1,0,A%> holds verum )assume A1:
IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P
;
for s being 0 -started State-consisting of <%1,0,A%> holds verumlet s be
0 -started State-consisting of
<%1,0,A%>;
verum
IC (Comput (P,s,0)) = 0
by MEMSTR_0:def 12;
IC (Comput (P,s,1)) = 1
by A1, Th27;
IC (Comput (P,s,2)) = 1
by A1, Th27;
IC (Comput (P,s,3)) = 1
by A1, Th27;
IC (Comput (P,s,4)) = 1
by A1, Th27;
IC (Comput (P,s,5)) = 1
by A1, Th27;
for
x being
Nat holds
(Comput (P,s,x)) . (dl. 0) = 1
by A1, Th26;
(Comput (P,s,0)) . (dl. 1) = 0
by Th14;
(Comput (P,s,1)) . (dl. 1) = 0
by A1, Th27;
(Comput (P,s,2)) . (dl. 1) = 0
by A1, Th27;
(Comput (P,s,3)) . (dl. 1) = 0
by A1, Th27;
(Comput (P,s,4)) . (dl. 1) = 0
by A1, Th27;
(Comput (P,s,5)) . (dl. 1) = 0
by A1, Th27;
(Comput (P,s,100)) . (dl. 1) = 0
by A1, Th27;
end;
now for A being Integer
for P being Instruction-Sequence of SCM st IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P holds
for s being 0 -started State-consisting of <%1,1,A%> holds verum
let A be
Integer;
for P being Instruction-Sequence of SCM st IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P holds
for s being 0 -started State-consisting of <%1,1,A%> holds verumset N = 1;
let P be
Instruction-Sequence of
SCM;
( IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P implies for s being 0 -started State-consisting of <%1,1,A%> holds verum )assume A1:
IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P
;
for s being 0 -started State-consisting of <%1,1,A%> holds verumlet s be
0 -started State-consisting of
<%1,1,A%>;
verum
IC (Comput (P,s,0)) = 0
by MEMSTR_0:def 12;
IC (Comput (P,s,((4 * 0) + 1))) = 2
by A1, Th29;
IC (Comput (P,s,((4 * 0) + 2))) = 3
by A1, Th29;
IC (Comput (P,s,((4 * 0) + 3))) = 4
by A1, Th29;
IC (Comput (P,s,((4 * 1) + 0))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 1) + 1))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 1) + 2))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 1) + 3))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 1) + 7))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 5) + 0))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 5) + 1))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 6) + 0))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 0))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 1))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 2))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 3))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 4))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 5))) = 1
by A1, Th29;
for
x being
Nat holds
(Comput (P,s,x)) . (dl. 0) = 1
by A1, Th26;
(Comput (P,s,0)) . (dl. 1) = 1
by Th14;
(Comput (P,s,((4 * 0) + 1))) . (dl. 1) = 1
- 0
by A1, Th29;
(Comput (P,s,((4 * 0) + 2))) . (dl. 1) = 1
- 0
by A1, Th29;
(Comput (P,s,((4 * 0) + 3))) . (dl. 1) = (1 - 0) - 1
by A1, Th29;
(Comput (P,s,((4 * 0) + 4))) . (dl. 1) = (1 - 0) - 1
by A1, Th29;
(Comput (P,s,(((4 * 1) + 1) + 0))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 1) + 1) + 1))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 1) + 1) + 2))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 1) + 1) + 3))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 2) + 1) + 0))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 2) + 1) + 1))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 2) + 1) + 2))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 2) + 1) + 3))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 5) + 1) + 0))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 5) + 1) + 1))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 3))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 4))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 5))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 6))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 7))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 8))) . (dl. 1) = 0
by A1, Th29;
end;
now for A being Integer
for P being Instruction-Sequence of SCM st IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P holds
for s being 0 -started State-consisting of <%1,5,A%> holds verum
let A be
Integer;
for P being Instruction-Sequence of SCM st IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P holds
for s being 0 -started State-consisting of <%1,5,A%> holds verumset N = 5;
let P be
Instruction-Sequence of
SCM;
( IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P implies for s being 0 -started State-consisting of <%1,5,A%> holds verum )assume A1:
IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) c= P
;
for s being 0 -started State-consisting of <%1,5,A%> holds verumlet s be
0 -started State-consisting of
<%1,5,A%>;
verum
IC (Comput (P,s,0)) = 0
by MEMSTR_0:def 12;
IC (Comput (P,s,((4 * 0) + 1))) = 2
by A1, Th29;
IC (Comput (P,s,((4 * 0) + 2))) = 3
by A1, Th29;
IC (Comput (P,s,((4 * 0) + 3))) = 4
by A1, Th29;
IC (Comput (P,s,(4 * 1))) = 5
by A1, Th29;
IC (Comput (P,s,((4 * 1) + 1))) = 2
by A1, Th29;
IC (Comput (P,s,((4 * 1) + 2))) = 3
by A1, Th29;
IC (Comput (P,s,((4 * 1) + 3))) = 4
by A1, Th29;
IC (Comput (P,s,(4 * 2))) = 5
by A1, Th29;
IC (Comput (P,s,((4 * 2) + 1))) = 2
by A1, Th29;
IC (Comput (P,s,((4 * 2) + 2))) = 3
by A1, Th29;
IC (Comput (P,s,((4 * 2) + 3))) = 4
by A1, Th29;
IC (Comput (P,s,(4 * 3))) = 5
by A1, Th29;
IC (Comput (P,s,((4 * 3) + 1))) = 2
by A1, Th29;
IC (Comput (P,s,((4 * 3) + 2))) = 3
by A1, Th29;
IC (Comput (P,s,((4 * 3) + 3))) = 4
by A1, Th29;
IC (Comput (P,s,(4 * 4))) = 5
by A1, Th29;
IC (Comput (P,s,((4 * 4) + 1))) = 2
by A1, Th29;
IC (Comput (P,s,((4 * 4) + 2))) = 3
by A1, Th29;
IC (Comput (P,s,((4 * 4) + 3))) = 4
by A1, Th29;
IC (Comput (P,s,((4 * 5) + 0))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 5) + 1))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 6) + 0))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 0))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 1))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 2))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 3))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 4))) = 1
by A1, Th29;
IC (Comput (P,s,((4 * 22) + 5))) = 1
by A1, Th29;
for
x being
Nat holds
(Comput (P,s,x)) . (dl. 0) = 1
by A1, Th26;
(Comput (P,s,0)) . (dl. 1) = 5
by Th14;
(Comput (P,s,((4 * 0) + 1))) . (dl. 1) = 5
- 0
by A1, Th29;
(Comput (P,s,((4 * 0) + 2))) . (dl. 1) = 5
- 0
by A1, Th29;
(Comput (P,s,((4 * 0) + 3))) . (dl. 1) = (5 - 0) - 1
by A1, Th29;
(Comput (P,s,((4 * 0) + 4))) . (dl. 1) = (5 - 0) - 1
by A1, Th29;
(Comput (P,s,((4 * 1) + 1))) . (dl. 1) = 5
- 1
by A1, Th29;
(Comput (P,s,((4 * 1) + 2))) . (dl. 1) = 5
- 1
by A1, Th29;
(Comput (P,s,((4 * 1) + 3))) . (dl. 1) = (5 - 1) - 1
by A1, Th29;
(Comput (P,s,((4 * 1) + 4))) . (dl. 1) = (5 - 1) - 1
by A1, Th29;
(Comput (P,s,((4 * 2) + 1))) . (dl. 1) = 5
- 2
by A1, Th29;
(Comput (P,s,((4 * 2) + 2))) . (dl. 1) = 5
- 2
by A1, Th29;
(Comput (P,s,((4 * 2) + 3))) . (dl. 1) = (5 - 2) - 1
by A1, Th29;
(Comput (P,s,((4 * 2) + 4))) . (dl. 1) = (5 - 2) - 1
by A1, Th29;
(Comput (P,s,((4 * 3) + 1))) . (dl. 1) = 5
- 3
by A1, Th29;
(Comput (P,s,((4 * 3) + 2))) . (dl. 1) = 5
- 3
by A1, Th29;
(Comput (P,s,((4 * 3) + 3))) . (dl. 1) = (5 - 3) - 1
by A1, Th29;
(Comput (P,s,((4 * 3) + 4))) . (dl. 1) = (5 - 3) - 1
by A1, Th29;
(Comput (P,s,((4 * 4) + 1))) . (dl. 1) = 5
- 4
by A1, Th29;
(Comput (P,s,((4 * 4) + 2))) . (dl. 1) = 5
- 4
by A1, Th29;
(Comput (P,s,((4 * 4) + 3))) . (dl. 1) = (5 - 4) - 1
by A1, Th29;
(Comput (P,s,((4 * 4) + 4))) . (dl. 1) = (5 - 4) - 1
by A1, Th29;
(Comput (P,s,(((4 * 5) + 1) + 0))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 5) + 1) + 1))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 3))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 4))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 5))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 6))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 7))) . (dl. 1) = 0
by A1, Th29;
(Comput (P,s,(((4 * 21) + 1) + 8))) . (dl. 1) = 0
by A1, Th29;
end;
scheme
AddOfOneSch{
F1()
-> Integer,
F2()
-> Nat,
F3(
object )
-> Integer } :
for
P being
IterativeAlgorithm (AddTo ((dl. 2),(dl. 1))) -extending Instruction-Sequence of
SCM for
s being
0 -started State-consisting of
<%1,F2(),F1()%> holds
( ( for
k being
Nat st
k < F2() holds
(
(Comput (P,s,((4 * k) + 1))) . (dl. 2) = F1()
+ (F3(F2()) - F3(((Comput (P,s,((4 * k) + 1))) . (dl. 1)))) &
(Comput (P,s,((4 * k) + 2))) . (dl. 2) = F1()
+ (F3(F2()) - F3((((Comput (P,s,((4 * k) + 2))) . (dl. 1)) -' 1))) &
(Comput (P,s,((4 * k) + 3))) . (dl. 2) = (Comput (P,s,((4 * k) + 2))) . (dl. 2) &
(Comput (P,s,((4 * k) + 4))) . (dl. 2) = (Comput (P,s,((4 * k) + 3))) . (dl. 2) ) ) & ( for
k,
j being
Nat st
k >= F2() holds
(Comput (P,s,(((4 * k) + 1) + j))) . (dl. 2) = F3(
F2()) ) &
(Result (P,s)) . (dl. 2) = F3(
F2()) )
provided
A1:
F3(
0)
= F1()
and A2:
for
n being
Nat holds
F3(
(n + 1))
= (n + 1) + F3(
n)
scheme
MultOfOneSch{
F1()
-> Integer,
F2()
-> Nat,
F3(
object )
-> Integer } :
for
P being
IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) -extending Instruction-Sequence of
SCM for
s being
0 -started State-consisting of
<%1,F2(),F1()%> holds
( ( for
k being
Nat st
k < F2() holds
(
(Comput (P,s,((4 * k) + 1))) . (dl. 2) = F1()
* (F3(F2()) / F3(((Comput (P,s,((4 * k) + 1))) . (dl. 1)))) &
(Comput (P,s,((4 * k) + 2))) . (dl. 2) = F1()
* (F3(F2()) / F3((((Comput (P,s,((4 * k) + 2))) . (dl. 1)) -' 1))) &
(Comput (P,s,((4 * k) + 3))) . (dl. 2) = (Comput (P,s,((4 * k) + 2))) . (dl. 2) &
(Comput (P,s,((4 * k) + 4))) . (dl. 2) = (Comput (P,s,((4 * k) + 3))) . (dl. 2) ) ) & ( for
k,
j being
Nat st
k >= F2() holds
(Comput (P,s,(((4 * k) + 1) + j))) . (dl. 2) = F3(
F2()) ) &
(Result (P,s)) . (dl. 2) = F3(
F2()) )
provided
A1:
F3(
0)
= F1()
and A2:
F1()
<> 0
and A3:
for
n being
Nat holds
F3(
(n + 1))
= (n + 1) * F3(
n)
deffunc H1( Nat) -> set = Triangle $1;
theorem Th31:
for
n being
Nat for
P being
IterativeAlgorithm (AddTo ((dl. 2),(dl. 1))) -extending Instruction-Sequence of
SCM for
s being
0 -started State-consisting of
<%1,n,0%> holds
( ( for
k being
Nat st
k < n holds
(
(Comput (P,s,((4 * k) + 1))) . (dl. 2) = (Triangle n) - (Triangle ((Comput (P,s,((4 * k) + 1))) . (dl. 1))) &
(Comput (P,s,((4 * k) + 2))) . (dl. 2) = (Triangle n) - (Triangle (((Comput (P,s,((4 * k) + 2))) . (dl. 1)) -' 1)) &
(Comput (P,s,((4 * k) + 3))) . (dl. 2) = (Comput (P,s,((4 * k) + 2))) . (dl. 2) &
(Comput (P,s,((4 * k) + 4))) . (dl. 2) = (Comput (P,s,((4 * k) + 3))) . (dl. 2) ) ) & ( for
k,
j being
Nat st
k >= n holds
(Comput (P,s,(((4 * k) + 1) + j))) . (dl. 2) = Triangle n ) &
(Result (P,s)) . (dl. 2) = Triangle n )
deffunc H2( Nat) -> Element of omega = $1 ! ;
theorem Th32:
for
n being
Nat for
P being
IterativeAlgorithm (MultBy ((dl. 2),(dl. 1))) -extending Instruction-Sequence of
SCM for
s being
0 -started State-consisting of
<%1,n,1%> holds
( ( for
k being
Nat st
k < n holds
(
(Comput (P,s,((4 * k) + 1))) . (dl. 2) = (n !) / (((Comput (P,s,((4 * k) + 1))) . (dl. 1)) !) &
(Comput (P,s,((4 * k) + 2))) . (dl. 2) = (n !) / ((((Comput (P,s,((4 * k) + 2))) . (dl. 1)) -' 1) !) &
(Comput (P,s,((4 * k) + 3))) . (dl. 2) = (Comput (P,s,((4 * k) + 2))) . (dl. 2) &
(Comput (P,s,((4 * k) + 4))) . (dl. 2) = (Comput (P,s,((4 * k) + 3))) . (dl. 2) ) ) & ( for
k,
j being
Nat st
k >= n holds
(Comput (P,s,(((4 * k) + 1) + j))) . (dl. 2) = n ! ) &
(Result (P,s)) . (dl. 2) = n ! )
scheme
PartFuncFinPartStUn{
F1()
-> Integer,
F2()
-> Integer,
F3(
object )
-> Integer } :
for
f1,
f2 being
PartFunc of
(FinPartSt SCM),
(FinPartSt SCM) st ( for
p,
q being
FinPartState of
SCM holds
(
[p,q] in f1 iff ex
n being
Nat st
(
p = (
(dl. 0),
(dl. 1),
(dl. 2))
--> (
F1(),
n,
F2()) &
q = (dl. 2) .--> F3(
n) ) ) ) & ( for
p,
q being
FinPartState of
SCM holds
(
[p,q] in f2 iff ex
n being
Nat st
(
p = (
(dl. 0),
(dl. 1),
(dl. 2))
--> (
F1(),
n,
F2()) &
q = (dl. 2) .--> F3(
n) ) ) ) holds
f1 = f2
definition
existence
ex b1 being PartFunc of (FinPartSt SCM),(FinPartSt SCM) st
for p, q being FinPartState of SCM holds
( [p,q] in b1 iff ex n being Nat st
( p = ((dl. 0),(dl. 1),(dl. 2)) --> (1,n,1) & q = (dl. 2) .--> (n !) ) )
from AMI_8:sch 3();
uniqueness
for b1, b2 being PartFunc of (FinPartSt SCM),(FinPartSt SCM) st ( for p, q being FinPartState of SCM holds
( [p,q] in b1 iff ex n being Nat st
( p = ((dl. 0),(dl. 1),(dl. 2)) --> (1,n,1) & q = (dl. 2) .--> (n !) ) ) ) & ( for p, q being FinPartState of SCM holds
( [p,q] in b2 iff ex n being Nat st
( p = ((dl. 0),(dl. 1),(dl. 2)) --> (1,n,1) & q = (dl. 2) .--> (n !) ) ) ) holds
b1 = b2
from AMI_8:sch 4();
end;
set pf = powerSCMFunction ;
set q = IterativeAlgorithm (MultBy ((dl. 2),(dl. 1)));
scheme
AutonomicSch{
F1()
-> PartFunc of
(FinPartSt SCM),
(FinPartSt SCM),
F2()
-> Instruction of
SCM,
F3(
object )
-> Nat } :
provided
A1:
(
F2()
= AddTo (
(dl. 2),
(dl. 1)) or
F2()
= SubFrom (
(dl. 2),
(dl. 1)) or
F2()
= MultBy (
(dl. 2),
(dl. 1)) )
and A2:
for
x being
object st
x in dom F1() holds
ex
n being
Nat st
x = (
(dl. 0),
(dl. 1),
(dl. 2))
--> (1,
n,
F3(
n))
and A3:
for
P,
Q being
Instruction-Sequence of
SCM st
IterativeAlgorithm F2()
c= P &
IterativeAlgorithm F2()
c= Q holds
for
x being
FinPartState of
SCM st
x in dom F1() holds
for
s1,
s2 being
State of
SCM st
Initialize x c= s1 &
Initialize x c= s2 holds
for
k being
Nat holds
(Comput (P,s1,k)) . (dl. 2) = (Comput (Q,s2,k)) . (dl. 2)
scheme
AutonomySch{
F1()
-> PartFunc of
(FinPartSt SCM),
(FinPartSt SCM),
F2()
-> Instruction of
SCM,
F3(
object )
-> Nat } :
provided
A1:
(
F2()
= AddTo (
(dl. 2),
(dl. 1)) or
F2()
= SubFrom (
(dl. 2),
(dl. 1)) or
F2()
= MultBy (
(dl. 2),
(dl. 1)) )
and A2:
for
x being
object st
x in dom F1() holds
ex
n being
Nat st
x = (
(dl. 0),
(dl. 1),
(dl. 2))
--> (1,
n,
F3(
n))
and A3:
for
P,
Q being
Instruction-Sequence of
SCM st
IterativeAlgorithm F2()
c= P &
IterativeAlgorithm F2()
c= Q holds
for
x being
FinPartState of
SCM st
x in dom F1() holds
for
s1,
s2 being
State of
SCM st
Initialize x c= s1 &
Initialize x c= s2 holds
for
k being
Nat holds
(Comput (P,s1,k)) . (dl. 2) = (Comput (Q,s2,k)) . (dl. 2)
definition
existence
ex b1 being PartFunc of (FinPartSt SCM),(FinPartSt SCM) st
for p, q being FinPartState of SCM holds
( [p,q] in b1 iff ex n being Nat st
( p = ((dl. 0),(dl. 1),(dl. 2)) --> (1,n,0) & q = (dl. 2) .--> (Triangle n) ) )
from AMI_8:sch 3();
uniqueness
for b1, b2 being PartFunc of (FinPartSt SCM),(FinPartSt SCM) st ( for p, q being FinPartState of SCM holds
( [p,q] in b1 iff ex n being Nat st
( p = ((dl. 0),(dl. 1),(dl. 2)) --> (1,n,0) & q = (dl. 2) .--> (Triangle n) ) ) ) & ( for p, q being FinPartState of SCM holds
( [p,q] in b2 iff ex n being Nat st
( p = ((dl. 0),(dl. 1),(dl. 2)) --> (1,n,0) & q = (dl. 2) .--> (Triangle n) ) ) ) holds
b1 = b2
from AMI_8:sch 4();
end;
set pf = sumSCMFunction ;
set q = IterativeAlgorithm (AddTo ((dl. 2),(dl. 1)));
:: a := 1 - for step
:: b - input
:: c - output
:: 0) if b > 0 then goto 2
:: 1) halt
:: 2) I (e.g., c := c+b or c := c*b)
:: 3) b := b-a
:: 4) if b = 0 then goto 1
:: 5) goto 2