definition
let N be
with_zero set ;
existence
ex b1 being strict AMI-Struct over N st
( the carrier of b1 = {0} & the ZeroF of b1 = 0 & the InstructionsF of b1 = {[0,{},{}]} & the Object-Kind of b1 = 0 .--> 0 & the ValuesF of b1 = N --> NAT & the Execution of b1 = [0,{},{}] .--> (id (product ((N --> NAT) * (0 .--> 0)))) )
uniqueness
for b1, b2 being strict AMI-Struct over N st the carrier of b1 = {0} & the ZeroF of b1 = 0 & the InstructionsF of b1 = {[0,{},{}]} & the Object-Kind of b1 = 0 .--> 0 & the ValuesF of b1 = N --> NAT & the Execution of b1 = [0,{},{}] .--> (id (product ((N --> NAT) * (0 .--> 0)))) & the carrier of b2 = {0} & the ZeroF of b2 = 0 & the InstructionsF of b2 = {[0,{},{}]} & the Object-Kind of b2 = 0 .--> 0 & the ValuesF of b2 = N --> NAT & the Execution of b2 = [0,{},{}] .--> (id (product ((N --> NAT) * (0 .--> 0)))) holds
b1 = b2
;
end;
definition
let N be non
empty with_zero set ;
let S be non
empty with_non-empty_values IC-Ins-separated halting AMI-Struct over
N;
let p be
NAT -defined the
InstructionsF of
S -valued Function;
let s be
State of
S;
assume A1:
p halts_on s
;
uniqueness
for b1, b2 being State of S st ex k being Nat st
( b1 = Comput (p,s,k) & CurInstr (p,b1) = halt S ) & ex k being Nat st
( b2 = Comput (p,s,k) & CurInstr (p,b2) = halt S ) holds
b1 = b2
correctness
existence
ex b1 being State of S ex k being Nat st
( b1 = Comput (p,s,k) & CurInstr (p,b1) = halt S );
by A1;
end;
definition
let N be non
empty with_zero set ;
let S be non
empty with_non-empty_values IC-Ins-separated halting AMI-Struct over
N;
let p be
NAT -defined the
InstructionsF of
S -valued Function;
let s be
State of
S;
assume A1:
p halts_on s
;
existence
ex b1 being Nat st
( CurInstr (p,(Comput (p,s,b1))) = halt S & ( for k being Nat st CurInstr (p,(Comput (p,s,k))) = halt S holds
b1 <= k ) )
uniqueness
for b1, b2 being Nat st CurInstr (p,(Comput (p,s,b1))) = halt S & ( for k being Nat st CurInstr (p,(Comput (p,s,k))) = halt S holds
b1 <= k ) & CurInstr (p,(Comput (p,s,b2))) = halt S & ( for k being Nat st CurInstr (p,(Comput (p,s,k))) = halt S holds
b2 <= k ) holds
b1 = b2
end;