Article SCMRING4, MML version 4.99.1005

:: SCMRING4:th 1
theorem
NAT,NAT are_equipotent;

:: SCMRING4:th 2
theorem
for b1, b2 being natural set
for b3 being with_non-empty_elements set
for b4 being non empty stored-program IC-Ins-separated definite standard AMI-Struct over NAT,b3 holds
   (il.(b4,b1)) + b2 = il.(b4,b1 + b2);

:: SCMRING4:funcnot 1 => SCMRING4:func 1
definition
  let a1 be with_non-empty_elements set;
  let a2 be non empty stored-program IC-Ins-separated definite standard AMI-Struct over NAT,a1;
  let a3 be Instruction-Location of a2;
  let a4 be natural set;
  func A3 -' A4 -> Instruction-Location of a2 equals
    il.(a2,(locnum a3) -' a4);
end;

:: SCMRING4:def 1
theorem
for b1 being with_non-empty_elements set
for b2 being non empty stored-program IC-Ins-separated definite standard AMI-Struct over NAT,b1
for b3 being Instruction-Location of b2
for b4 being natural set holds
   b3 -' b4 = il.(b2,(locnum b3) -' b4);

:: SCMRING4:th 3
theorem
for b1 being with_non-empty_elements set
for b2 being non empty stored-program IC-Ins-separated definite standard AMI-Struct over NAT,b1
for b3 being Instruction-Location of b2 holds
   b3 -' 0 = b3;

:: SCMRING4:th 5
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard AMI-Struct over NAT,b2
for b4 being Instruction-Location of b3 holds
   (b4 + b1) -' b1 = b4;

:: SCMRING4:th 7
theorem
for b1 being non empty set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite AMI-Struct over b1,b2
for b4 being finite Element of sproduct the Object-Kind of b3 holds
   proj1 DataPart b4 c= (the carrier of b3) \ ({IC b3} \/ b1);

:: SCMRING4:th 8
theorem
for b1 being non empty set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite realistic AMI-Struct over b1,b2
for b4 being finite Element of sproduct the Object-Kind of b3 holds
      b4 is data-only(b1, b2, b3)
   iff
      proj1 b4 c= (the carrier of b3) \ ({IC b3} \/ b1);

:: SCMRING4:th 9
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard AMI-Struct over NAT,b2
for b4, b5 being Instruction-Location of b3 holds
   Start-At (b4 + b1) = Start-At (b5 + b1)
iff
   Start-At b4 = Start-At b5;

:: SCMRING4:th 10
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard AMI-Struct over NAT,b2
for b4, b5 being Instruction-Location of b3
      st Start-At b4 = Start-At b5
   holds Start-At (b4 -' b1) = Start-At (b5 -' b1);

:: SCMRING4:th 11
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard AMI-Struct over NAT,b2
for b4 being Instruction-Location of b3
for b5 being finite Element of sproduct the Object-Kind of b3
      st b4 in proj1 b5
   holds (Shift(b5,b1)) . (b4 + b1) = b5 . b4;

:: SCMRING4:th 12
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3 holds
   proj1 Shift(b4,b1) = {b5 + b1 where b5 is Instruction-Location of b3: b5 in proj1 b4};

:: SCMRING4:th 13
theorem
for b1 being with_non-empty_elements set
for b2 being non empty stored-program IC-Ins-separated steady-programmed definite realistic Exec-preserving AMI-Struct over NAT,b1
for b3 being Element of product the Object-Kind of b2
for b4 being Element of the Instructions of b2
for b5 being finite programmed Element of sproduct the Object-Kind of b2 holds
   Exec(b4,b3 +* b5) = (Exec(b4,b3)) +* b5;

:: SCMRING4:th 14
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr holds
   the carrier of SCM b1 = ({IC SCM b1} \/ SCM-Data-Loc) \/ NAT;

:: SCMRING4:th 15
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being Instruction-Location of SCM b1 holds
   ObjectKind b2 = SCM-Instr b1;

:: SCMRING4:th 16
theorem
for b1 being Element of NAT
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr holds
   dl.(b2,b1) = [1,b1];

:: SCMRING4:th 17
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr holds
   il.(SCM b2,b1) = b1;

:: SCMRING4:th 18
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being Data-Location of b1 holds
   ex b3 being Element of NAT st
      b2 = dl.(b1,b3);

:: SCMRING4:th 19
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2, b3 being Element of NAT
      st b2 <> b3
   holds dl.(b1,b2) <> dl.(b1,b3);

:: SCMRING4:th 20
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being Data-Location of b1
for b3 being Instruction-Location of SCM b1 holds
   b2 <> b3;

:: SCMRING4:th 21
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being Element of product the Object-Kind of SCM b1 holds
   SCM-Data-Loc c= proj1 b2;

:: SCMRING4:th 22
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being Element of product the Object-Kind of SCM b1 holds
   proj1 (b2 | SCM-Data-Loc) = SCM-Data-Loc;

:: SCMRING4:th 23
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being finite Element of sproduct the Object-Kind of SCM b1
for b3 being finite Element of sproduct the Object-Kind of SCM
      st b2 = b3
   holds DataPart b2 = DataPart b3;

:: SCMRING4:th 24
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being finite Element of sproduct the Object-Kind of SCM b1 holds
   DataPart b2 = b2 | SCM-Data-Loc;

:: SCMRING4:th 25
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being finite Element of sproduct the Object-Kind of SCM b1 holds
      b2 is data-only(NAT, {the carrier of b1}, SCM b1)
   iff
      proj1 b2 c= SCM-Data-Loc;

:: SCMRING4:th 26
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being finite Element of sproduct the Object-Kind of SCM b1 holds
   proj1 DataPart b2 c= SCM-Data-Loc;

:: SCMRING4:th 27
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being Element of product the Object-Kind of SCM b1 holds
   NAT c= proj1 b2;

:: SCMRING4:th 28
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being finite Element of sproduct the Object-Kind of SCM b1
for b3 being finite Element of sproduct the Object-Kind of SCM
      st b2 = b3
   holds ProgramPart b2 = ProgramPart b3;

:: SCMRING4:th 29
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being finite Element of sproduct the Object-Kind of SCM b1 holds
   proj1 ProgramPart b2 c= NAT;

:: SCMRING4:th 30
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being Element of the Instructions of SCM b1 holds
   InsCode b2 <= 7;

:: SCMRING4:th 31
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being Instruction-Location of SCM b2 holds
   IncAddr(goto b3,b1) = goto (b3 + b1);

:: SCMRING4:th 32
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being Data-Location of b2
for b4 being Instruction-Location of SCM b2 holds
   IncAddr(b3 =0_goto b4,b1) = b3 =0_goto (b4 + b1);

:: SCMRING4:th 33
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being Data-Location of b1
for b3 being Instruction-Location of SCM b1
for b4 being Element of product the Object-Kind of SCM b1 holds
   b4 . b2 = (b4 +* Start-At b3) . b2;

:: SCMRING4:th 34
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2, b3 being Element of product the Object-Kind of SCM b1
      st IC b2 = IC b3 &
         (for b4 being Data-Location of b1 holds
            b2 . b4 = b3 . b4) &
         (for b4 being Instruction-Location of SCM b1 holds
            b2 . b4 = b3 . b4)
   holds b2 = b3;

:: SCMRING4:th 35
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being Element of product the Object-Kind of SCM b2 holds
   Exec(IncAddr(CurInstr b3,b1),b3 +* Start-At ((IC b3) + b1)) = (Following b3) +* Start-At ((IC Following b3) + b1);

:: SCMRING4:th 36
theorem
for b1, b2 being natural set
for b3 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b4 being Element of the Instructions of SCM b3
for b5 being Element of product the Object-Kind of SCM b3
      st IC b5 = il.(SCM b3,b1 + b2)
   holds Exec(b4,b5 +* Start-At ((IC b5) -' b2)) = (Exec(IncAddr(b4,b2),b5)) +* Start-At ((IC Exec(IncAddr(b4,b2),b5)) -' b2);

:: SCMRING4:exreg 1
registration
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr;
  cluster Relation-like Function-like finite autonomic non programmed Element of sproduct the Object-Kind of SCM a1;
end;

:: SCMRING4:funcnot 2 => SCMRING4:func 2
definition
  let a1 be non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr;
  let a2 be Data-Location of a1;
  let a3 be Element of the carrier of a1;
  redefine func a2 .--> a3 -> finite Element of sproduct the Object-Kind of SCM a1;
end;

:: SCMRING4:th 37
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
   st b1 is not trivial
for b2 being finite autonomic Element of sproduct the Object-Kind of SCM b1
      st DataPart b2 <> {}
   holds IC SCM b1 in proj1 b2;

:: SCMRING4:th 38
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
   st b1 is not trivial
for b2 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM b1 holds
   IC SCM b1 in proj1 b2;

:: SCMRING4:th 39
theorem
for b1 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b2 being finite autonomic Element of sproduct the Object-Kind of SCM b1
      st IC SCM b1 in proj1 b2
   holds IC b2 in proj1 b2;

:: SCMRING4:th 40
theorem
for b1 being Element of NAT
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b4 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM b2
      st b4 c= b3
   holds IC Computation(b3,b1) in proj1 ProgramPart b4;

:: SCMRING4:th 41
theorem
for b1 being Element of NAT
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3, b4 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b5 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM b2
      st b5 c= b3 & b5 c= b4
   holds IC Computation(b3,b1) = IC Computation(b4,b1) & CurInstr Computation(b3,b1) = CurInstr Computation(b4,b1);

:: SCMRING4:th 42
theorem
for b1 being Element of NAT
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3, b4 being Data-Location of b2
for b5, b6 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b7 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM b2
      st b7 c= b5 & b7 c= b6 & CurInstr Computation(b5,b1) = b3 := b4 & b3 in proj1 b7
   holds (Computation(b5,b1)) . b4 = (Computation(b6,b1)) . b4;

:: SCMRING4:th 43
theorem
for b1 being Element of NAT
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3, b4 being Data-Location of b2
for b5, b6 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b7 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM b2
      st b7 c= b5 & b7 c= b6 & CurInstr Computation(b5,b1) = AddTo(b3,b4) & b3 in proj1 b7
   holds ((Computation(b5,b1)) . b3) + ((Computation(b5,b1)) . b4) = ((Computation(b6,b1)) . b3) + ((Computation(b6,b1)) . b4);

:: SCMRING4:th 44
theorem
for b1 being Element of NAT
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3, b4 being Data-Location of b2
for b5, b6 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b7 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM b2
      st b7 c= b5 & b7 c= b6 & CurInstr Computation(b5,b1) = SubFrom(b3,b4) & b3 in proj1 b7
   holds ((Computation(b5,b1)) . b3) - ((Computation(b5,b1)) . b4) = ((Computation(b6,b1)) . b3) - ((Computation(b6,b1)) . b4);

:: SCMRING4:th 45
theorem
for b1 being Element of NAT
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3, b4 being Data-Location of b2
for b5, b6 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b7 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM b2
      st b7 c= b5 & b7 c= b6 & CurInstr Computation(b5,b1) = MultBy(b3,b4) & b3 in proj1 b7
   holds ((Computation(b5,b1)) . b3) * ((Computation(b5,b1)) . b4) = ((Computation(b6,b1)) . b3) * ((Computation(b6,b1)) . b4);

:: SCMRING4:th 46
theorem
for b1 being Element of NAT
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being Data-Location of b2
for b4 being Instruction-Location of SCM b2
for b5, b6 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b7 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM b2
      st b7 c= b5 & b7 c= b6 & CurInstr Computation(b5,b1) = b3 =0_goto b4 & b4 <> Next IC Computation(b5,b1)
   holds    (Computation(b5,b1)) . b3 = 0. b2
   iff
      (Computation(b6,b1)) . b3 = 0. b2;

:: SCMRING4:funcnot 3 => SCMRING4:func 3
definition
  let a1 be with_non-empty_elements set;
  let a2 be non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,a1;
  let a3 be natural set;
  let a4 be finite Element of sproduct the Object-Kind of a2;
  func Relocated(A4,A3) -> finite Element of sproduct the Object-Kind of a2 equals
    ((Start-At ((IC a4) + a3)) +* IncAddr(Shift(ProgramPart a4,a3),a3)) +* DataPart a4;
end;

:: SCMRING4:def 2
theorem
for b1 being with_non-empty_elements set
for b2 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b1
for b3 being natural set
for b4 being finite Element of sproduct the Object-Kind of b2 holds
   Relocated(b4,b3) = ((Start-At ((IC b4) + b3)) +* IncAddr(Shift(ProgramPart b4,b3),b3)) +* DataPart b4;

:: SCMRING4:th 47
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3 holds
   DataPart Relocated(b4,b1) = DataPart b4;

:: SCMRING4:th 48
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3
      st b3 is realistic(NAT, b2)
   holds ProgramPart Relocated(b4,b1) = IncAddr(Shift(ProgramPart b4,b1),b1);

:: SCMRING4:th 49
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3
      st b3 is realistic(NAT, b2)
   holds proj1 ProgramPart Relocated(b4,b1) = {il.(b3,b5 + b1) where b5 is Element of NAT: il.(b3,b5) in proj1 ProgramPart b4};

:: SCMRING4:th 50
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3
for b5 being Instruction-Location of b3
      st b3 is realistic(NAT, b2)
   holds    b5 in proj1 b4
   iff
      b5 + b1 in proj1 Relocated(b4,b1);

:: SCMRING4:th 51
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3 holds
   IC b3 in proj1 Relocated(b4,b1);

:: SCMRING4:th 52
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3
      st b3 is realistic(NAT, b2)
   holds IC Relocated(b4,b1) = (IC b4) + b1;

:: SCMRING4:th 53
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite programmed Element of sproduct the Object-Kind of b3
for b5 being Element of NAT
      st b5 in proj1 b4
   holds (IncAddr(b4,b1)) . b5 = IncAddr(pi(b4,b5),b1);

:: SCMRING4:th 54
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite programmed Element of sproduct the Object-Kind of b3 holds
   Shift(IncAddr(b4,b1),b1) = IncAddr(Shift(b4,b1),b1);

:: SCMRING4:th 55
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3
for b5 being Instruction-Location of b3
   st b3 is realistic(NAT, b2)
for b6 being Element of the Instructions of b3
      st b5 in proj1 ProgramPart b4 & b6 = b4 . b5
   holds IncAddr(b6,b1) = (Relocated(b4,b1)) . (b5 + b1);

:: SCMRING4:th 56
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3
      st b3 is realistic(NAT, b2)
   holds Start-At ((IC b4) + b1) c= Relocated(b4,b1);

:: SCMRING4:th 57
theorem
for b1 being natural set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite standard-ins standard regular AMI-Struct over NAT,b2
for b4 being finite Element of sproduct the Object-Kind of b3
   st b3 is realistic(NAT, b2)
for b5 being finite data-only Element of sproduct the Object-Kind of b3
      st IC b3 in proj1 b4
   holds Relocated(b4 +* b5,b1) = (Relocated(b4,b1)) +* b5;

:: SCMRING4:th 58
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3, b4 being Element of product the Object-Kind of SCM b2
for b5 being finite autonomic Element of sproduct the Object-Kind of SCM b2
      st b5 c= b3 & Relocated(b5,b1) c= b4
   holds b5 c= b3 +* (b4 | SCM-Data-Loc);

:: SCMRING4:th 59
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3, b4, b5 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b6 being finite autonomic Element of sproduct the Object-Kind of SCM b2
   st IC SCM b2 in proj1 b6 & b6 c= b3 & Relocated(b6,b1) c= b4 & b5 = b3 +* (b4 | SCM-Data-Loc)
for b7 being Element of NAT holds
   (IC Computation(b3,b7)) + b1 = IC Computation(b4,b7) &
    IncAddr(CurInstr Computation(b3,b7),b1) = CurInstr Computation(b4,b7) &
    (Computation(b3,b7)) | proj1 DataPart b6 = (Computation(b4,b7)) | proj1 DataPart Relocated(b6,b1) &
    (Computation(b5,b7)) | SCM-Data-Loc = (Computation(b4,b7)) | SCM-Data-Loc;

:: SCMRING4:th 60
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
   st b2 is not trivial
for b3 being finite autonomic Element of sproduct the Object-Kind of SCM b2
      st IC SCM b2 in proj1 b3
   holds    b3 is halting(NAT, {the carrier of b2}, SCM b2)
   iff
      Relocated(b3,b1) is halting(NAT, {the carrier of b2}, SCM b2);

:: SCMRING4:th 61
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b4 being finite autonomic Element of sproduct the Object-Kind of SCM b2
   st IC SCM b2 in proj1 b4 & b4 c= b3
for b5 being Element of NAT holds
   Computation(b3 +* Relocated(b4,b1),b5) = ((Computation(b3,b5)) +* Start-At ((IC Computation(b3,b5)) + b1)) +* ProgramPart Relocated(b4,b1);

:: SCMRING4:th 62
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial
for b4 being finite autonomic Element of sproduct the Object-Kind of SCM b2
   st IC SCM b2 in proj1 b4 & Relocated(b4,b1) c= b3
for b5 being Element of NAT holds
   Computation(b3,b5) = (((Computation(b3 +* b4,b5)) +* Start-At ((IC Computation(b3 +* b4,b5)) + b1)) +* (b3 | proj1 ProgramPart b4)) +* ProgramPart Relocated(b4,b1);

:: SCMRING4:th 63
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being finite Element of sproduct the Object-Kind of SCM b2
for b4 being Element of product the Object-Kind of SCM b2
   st b2 is not trivial &
      IC SCM b2 in proj1 b3 &
      b3 c= b4 &
      Relocated(b3,b1) is autonomic(NAT, {the carrier of b2}, SCM b2)
for b5 being Element of NAT holds
   Computation(b4,b5) = (((Computation(b4 +* Relocated(b3,b1),b5)) +* Start-At ((IC Computation(b4 +* Relocated(b3,b1),b5)) -' b1)) +* (b4 | proj1 ProgramPart Relocated(b3,b1))) +* ProgramPart b3;

:: SCMRING4:th 64
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being finite Element of sproduct the Object-Kind of SCM b2
      st b2 is not trivial & IC SCM b2 in proj1 b3
   holds    b3 is autonomic(NAT, {the carrier of b2}, SCM b2)
   iff
      Relocated(b3,b1) is autonomic(NAT, {the carrier of b2}, SCM b2);

:: SCMRING4:th 65
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
   st b2 is not trivial
for b3 being finite autonomic halting Element of sproduct the Object-Kind of SCM b2
      st IC SCM b2 in proj1 b3
   holds DataPart Result b3 = DataPart Result Relocated(b3,b1);

:: SCMRING4:th 66
theorem
for b1 being natural set
for b2 being non empty right_complementable Abelian add-associative right_zeroed associative well-unital distributive good doubleLoopStr
for b3 being finite Element of sproduct the Object-Kind of SCM b2
   st b2 is not trivial
for b4 being Function-like Relation of FinPartSt SCM b2,FinPartSt SCM b2
      st IC SCM b2 in proj1 b3 &
         b4 is data-only(NAT, {the carrier of b2}, SCM b2)
   holds    b3 computes b4
   iff
      Relocated(b3,b1) computes b4;