The Mizar article:

On the Instructions of \SCMFSA

by
Artur Kornilowicz

Received May 8, 2001

Copyright (c) 2001 Association of Mizar Users

MML identifier: SCMFSA10
[ MML identifier index ]


environ

 vocabulary AMI_3, SCMFSA_2, AMI_1, ORDINAL2, ARYTM, FUNCT_1, FUNCT_4, CAT_1,
      FINSEQ_1, RELAT_1, BOOLE, INT_1, FUNCOP_1, SCMFSA_1, AMI_2, GR_CY_1,
      AMISTD_2, MCART_1, AMI_5, FINSEQ_4, AMISTD_1, SETFAM_1, REALSET1, TARSKI,
      SGRAPH1, GOBOARD5, FRECHET, ARYTM_1, NAT_1, ABSVALUE, FINSEQ_2, UNIALG_1,
      CARD_5, CARD_3, RELOC, FUNCT_7;
 notation TARSKI, XBOOLE_0, ENUMSET1, SUBSET_1, ORDINAL2, ABSVALUE, MCART_1,
      SETFAM_1, RELAT_1, FUNCT_1, FUNCT_2, REALSET1, ORDINAL1, NUMBERS,
      XCMPLX_0, XREAL_0, INT_1, NAT_1, CQC_LANG, FINSEQ_1, FINSEQ_2, FUNCT_4,
      GR_CY_1, CARD_3, FUNCT_7, FINSEQ_4, AMI_1, AMI_2, AMI_3, SCMFSA_1,
      SCMFSA_2, AMI_5, SCMFSA_3, AMISTD_1, AMISTD_2;
 constructors AMI_5, AMISTD_2, DOMAIN_1, NAT_1, FUNCT_7, PRALG_2, REAL_1,
      SCMFSA_1, SCMFSA_3, FINSEQ_4, MEMBERED;
 clusters AMI_1, RELSET_1, SCMRING1, TEX_2, AMISTD_2, RELAT_1, FINSEQ_1, INT_1,
      SCMFSA_2, FUNCT_7, AMI_3, NAT_1, FRAENKEL, MEMBERED, ORDINAL2;
 requirements NUMERALS, BOOLE, SUBSET, REAL, ARITHM;
 definitions TARSKI, FUNCT_1, FUNCT_2, AMISTD_1, AMISTD_2, XBOOLE_0;
 theorems TARSKI, NAT_1, AMI_1, AMI_3, FUNCT_4, FUNCT_1, FUNCT_2, RELSET_1,
      CQC_LANG, SCMFSA9A, SETFAM_1, AMI_2, AMISTD_1, MCART_1, FINSEQ_1,
      FINSEQ_3, GR_CY_1, AMISTD_2, AMI_6, FUNCT_7, CARD_3, SCMFSA6A, SCMFSA_1,
      SCMFSA_2, INT_1, SCMBSORT, ENUMSET1, BVFUNC14, ABSVALUE, FINSEQ_4,
      YELLOW14, GROUP_7, FINSEQ_2, ORDINAL2, XBOOLE_0, XBOOLE_1, XCMPLX_1,
      YELLOW_8;
 schemes FUNCT_2;

begin

set S = SCM+FSA;

reserve a, b, d1, d2, d3, d4 for Int-Location,
        A, B for Data-Location,
        f, f1, f2, f3 for FinSeq-Location,
        il, i1, i2 for Instruction-Location of SCM+FSA,
        L for Instruction-Location of SCM,
        I for Instruction of SCM+FSA,
        s for State of SCM+FSA,
        T for InsType of SCM+FSA,
        k for natural number;

theorem Th1:
 for f being Function, a, A, b, B, c, C being set st a <> b & a <> c holds
  ( f +* (a .--> A) +* (b .--> B) +* (c .--> C) ).a = A
  proof
    let f be Function,
        a, A, b, B, c, C be set such that
A1:   a <> b & a <> c;
    thus ( f +* (a .--> A) +* (b .--> B) +* (c .--> C) ).a
       = ( f +* (a .--> A) ).a by A1,SCMBSORT:6
      .= A by YELLOW14:3;
  end;

theorem Th2:
 for a, b being set holds <*a*> +* (1,b) = <*b*>
  proof
    let a, b be set;
A1: dom <*a*> = {1} by FINSEQ_1:4,def 8;
    then 1 in dom <*a*> by TARSKI:def 1;
then A2: <*a*> +* (1,b) = <*a*> +* (1 .--> b) by FUNCT_7:def 3;
then A3: dom (<*a*> +* (1,b))
       = dom <*a*> \/ dom (1 .--> b) by FUNCT_4:def 1
      .= {1} \/ {1} by A1,CQC_LANG:5
      .= {1};
A4: dom <*b*> = {1} by FINSEQ_1:4,def 8;
      for x being set st x in {1} holds (<*a*> +* (1,b)).x = <*b*>.x
    proof
      let x be set;
      assume x in {1};
then A5:   x = 1 by TARSKI:def 1;
      hence (<*a*> +* (1,b)).x = b by A2,YELLOW14:3
        .= <*b*>.x by A5,FINSEQ_1:def 8;
    end;
    hence thesis by A3,A4,FUNCT_1:9;
  end;

definition
  let la, lb be Int-Location,
      a, b be Integer;
 redefine func (la,lb) --> (a,b) -> FinPartState of SCM+FSA;
coherence
  proof
      a is Element of INT & b is Element of INT &
    ObjectKind la = INT & ObjectKind lb = INT by INT_1:def 2,SCMFSA_2:26;
    hence thesis by AMI_1:58;
  end;
end;

theorem Th3:
 not a in the Instruction-Locations of SCM+FSA
  proof
      a in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    hence thesis by SCMFSA_2:13,def 2,XBOOLE_0:3;
  end;

theorem Th4:
 not f in the Instruction-Locations of SCM+FSA
  proof
      f in SCM+FSA-Data*-Loc by SCMFSA_2:def 5;
    hence thesis by SCMFSA_2:14,def 3,XBOOLE_0:3;
  end;

theorem Th5:
 SCM+FSA-Data-Loc <> the Instruction-Locations of SCM+FSA
  proof
    assume
A1:   not thesis;
    consider a being Int-Location;
      a in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    hence thesis by A1,Th3;
  end;

theorem Th6:
 SCM+FSA-Data*-Loc <> the Instruction-Locations of SCM+FSA
  proof
    assume
A1:   not thesis;
    consider f being FinSeq-Location;
      f in SCM+FSA-Data*-Loc by SCMFSA_2:def 5;
    hence thesis by A1,Th4;
  end;

theorem Th7:
 for o being Object of SCM+FSA holds
  o = IC SCM+FSA or o in the Instruction-Locations of SCM+FSA or
  o is Int-Location or o is FinSeq-Location
  proof
    let o be Object of SCM+FSA;
      o in Int-Locations \/ FinSeq-Locations \/ {IC SCM+FSA} or
     o in the Instruction-Locations of SCM+FSA by SCMFSA_2:8,XBOOLE_0:def 2;
    then o in Int-Locations \/ FinSeq-Locations or o in {IC SCM+FSA} or
      o in the Instruction-Locations of SCM+FSA by XBOOLE_0:def 2;
    then o in Int-Locations or o in FinSeq-Locations or o in {IC SCM+FSA} or
      o in the Instruction-Locations of SCM+FSA by XBOOLE_0:def 2;
    hence thesis by SCMFSA_2:11,12,TARSKI:def 1;
  end;

theorem Th8:
 i1 <> i2 implies Next i1 <> Next i2
  proof
    assume
A1:   i1 <> i2 & Next i1 = Next i2;
    consider m1 being Element of SCM+FSA-Instr-Loc such that
A2:   m1 = i1 & Next i1 = Next m1 by SCMFSA_2:def 9;
    consider m2 being Element of SCM+FSA-Instr-Loc such that
A3:   m2 = i2 & Next i2 = Next m2 by SCMFSA_2:def 9;
    reconsider M1 = m1, M2 = m2 as Element of SCM-Instr-Loc by SCMFSA_1:def 3;
      (ex L1 being Element of SCM-Instr-Loc st L1 = m1 & Next m1 = Next L1) &
     ex L2 being Element of SCM-Instr-Loc st L2 = m2 & Next m2 = Next L2
      by SCMFSA_1:def 15;
    then Next m1 = M1+2 & Next m2 = M2+2 by AMI_2:def 15;
    hence contradiction by A1,A2,A3,XCMPLX_1:2;
  end;

theorem Th9:
 a := b = [1, <* a,b *>]
  proof
      ex A,B st a = A & b = B & a := b = A:=B by SCMFSA_2:def 11;
    hence thesis by AMI_3:def 3;
  end;

theorem Th10:
 AddTo(a,b) = [2, <* a,b *>]
  proof
      ex A,B st a = A & b = B & AddTo(a,b) = AddTo(A,B)
      by SCMFSA_2:def 12;
    hence thesis by AMI_3:def 4;
  end;

theorem Th11:
 SubFrom(a,b) = [3, <* a,b *>]
  proof
      ex A,B st a = A & b = B & SubFrom(a,b) = SubFrom(A,B)
      by SCMFSA_2:def 13;
    hence thesis by AMI_3:def 5;
  end;

theorem Th12:
 MultBy(a,b) = [4, <* a,b *>]
  proof
      ex A,B st a = A & b = B & MultBy(a,b) = MultBy(A,B)
      by SCMFSA_2:def 14;
    hence thesis by AMI_3:def 6;
  end;

theorem Th13:
 Divide(a,b) = [5, <* a,b *>]
  proof
      ex A,B st a = A & b = B & Divide(a,b) = Divide(A,B)
      by SCMFSA_2:def 15;
    hence thesis by AMI_3:def 7;
  end;

theorem Th14:
 goto il = [6, <* il *>]
  proof
      ex L st L = il & goto il = goto L by SCMFSA_2:def 16;
    hence thesis by AMI_3:def 8;
  end;

theorem Th15:
 a=0_goto il = [7, <* il,a *>]
  proof
      ex A, L st A = a & L = il & A=0_goto L = a=0_goto il by SCMFSA_2:def 17;
    hence thesis by AMI_3:def 9;
  end;

theorem Th16:
 a>0_goto il = [8, <* il,a *>]
  proof
      ex A, L st A = a & L = il & A>0_goto L = a>0_goto il by SCMFSA_2:def 18;
    hence thesis by AMI_3:def 10;
  end;

Lm1:
 for x, y being set st x in dom <*y*> holds x = 1
  proof
    let x, y be set;
    assume x in dom <*y*>;
    then x in Seg 1 by FINSEQ_1:def 8;
    hence thesis by FINSEQ_1:4,TARSKI:def 1;
  end;

Lm2:
 for x, y, z being set st x in dom <*y,z*> holds x = 1 or x = 2
  proof
    let x, y, z be set;
    assume x in dom <*y,z*>;
    then x in Seg 2 by FINSEQ_3:29;
    hence thesis by FINSEQ_1:4,TARSKI:def 2;
  end;

Lm3:
 for x, y, z, t being set st x in dom <*y,z,t*> holds x = 1 or x = 2 or x = 3
  proof
    let x, y, z, t be set;
    assume x in dom <*y,z,t*>;
    then x in Seg 3 by FINSEQ_3:30;
    hence thesis by ENUMSET1:13,FINSEQ_3:1;
  end;

Lm4:
 T = 0 or T = 1 or T = 2 or T = 3 or T = 4 or T = 5 or T = 6 or T = 7 or T = 8
  or T = 9 or T = 10 or T = 11 or T = 12
  proof
      T in Segm 13 by SCMFSA_2:def 1;
    then reconsider t = T as Nat;
      t = 0 or t < 12+1 by GR_CY_1:10,SCMFSA_2:def 1;
    then t = 0 or t <= 12 by NAT_1:38;
    hence thesis by SCMBSORT:14;
  end;

theorem Th17:
 AddressPart halt SCM+FSA = {}
  proof
    thus AddressPart halt SCM+FSA = (halt SCM+FSA)`2 by AMISTD_2:def 3
       .= {} by AMI_3:71,MCART_1:def 2,SCMFSA_2:123;
  end;

theorem Th18:
 AddressPart (a:=b) = <*a,b*>
  proof
    thus AddressPart (a:=b) = (a:=b)`2 by AMISTD_2:def 3
       .= [ 1, <*a,b*>]`2 by Th9
       .= <*a,b*> by MCART_1:def 2;
  end;

theorem Th19:
 AddressPart AddTo(a,b) = <*a,b*>
  proof
    thus AddressPart AddTo(a,b) = AddTo(a,b)`2 by AMISTD_2:def 3
       .= [ 2, <*a,b*>]`2 by Th10
       .= <*a,b*> by MCART_1:def 2;
  end;

theorem Th20:
 AddressPart SubFrom(a,b) = <*a,b*>
  proof
    thus AddressPart SubFrom(a,b) = SubFrom(a,b)`2 by AMISTD_2:def 3
       .= [ 3, <*a,b*>]`2 by Th11
       .= <*a,b*> by MCART_1:def 2;
  end;

theorem Th21:
 AddressPart MultBy(a,b) = <*a,b*>
  proof
    thus AddressPart MultBy(a,b) = MultBy(a,b)`2 by AMISTD_2:def 3
       .= [ 4, <*a,b*>]`2 by Th12
       .= <*a,b*> by MCART_1:def 2;
  end;

theorem Th22:
 AddressPart Divide(a,b) = <*a,b*>
  proof
    thus AddressPart Divide(a,b) = Divide(a,b)`2 by AMISTD_2:def 3
       .= [ 5, <*a,b*>]`2 by Th13
       .= <*a,b*> by MCART_1:def 2;
  end;

theorem Th23:
 AddressPart goto i1 = <*i1*>
  proof
    thus AddressPart goto i1 = (goto i1)`2 by AMISTD_2:def 3
       .= [ 6, <*i1*>]`2 by Th14
       .= <*i1*> by MCART_1:def 2;
  end;

theorem Th24:
 AddressPart (a=0_goto i1) = <*i1,a*>
  proof
    thus AddressPart (a=0_goto i1) = (a=0_goto i1)`2 by AMISTD_2:def 3
       .= [ 7, <*i1,a*>]`2 by Th15
       .= <*i1,a*> by MCART_1:def 2;
  end;

theorem Th25:
 AddressPart (a>0_goto i1) = <*i1,a*>
  proof
    thus AddressPart (a>0_goto i1) = (a>0_goto i1)`2 by AMISTD_2:def 3
       .= [ 8, <*i1,a*>]`2 by Th16
       .= <*i1,a*> by MCART_1:def 2;
  end;

theorem Th26:
 AddressPart (b:=(f,a)) = <*b,f,a*>
  proof
    thus AddressPart (b:=(f,a)) = (b:=(f,a))`2 by AMISTD_2:def 3
       .= [ 9, <*b,f,a*>]`2 by SCMFSA_2:def 19
       .= <*b,f,a*> by MCART_1:def 2;
  end;

theorem Th27:
 AddressPart ((f,a):=b) = <*b,f,a*>
  proof
    thus AddressPart ((f,a):=b) = ((f,a):=b)`2 by AMISTD_2:def 3
       .= [ 10, <*b,f,a*>]`2 by SCMFSA_2:def 20
       .= <*b,f,a*> by MCART_1:def 2;
  end;

theorem Th28:
 AddressPart (a:=len f) = <*a,f*>
  proof
    thus AddressPart (a:=len f) = (a:=len f)`2 by AMISTD_2:def 3
       .= [ 11, <*a,f*>]`2 by SCMFSA_2:def 21
       .= <*a,f*> by MCART_1:def 2;
  end;

theorem Th29:
 AddressPart (f:=<0,...,0>a) = <*a,f*>
  proof
    thus AddressPart (f:=<0,...,0>a) = (f:=<0,...,0>a)`2 by AMISTD_2:def 3
       .= [ 12, <*a,f*>]`2 by SCMFSA_2:def 22
       .= <*a,f*> by MCART_1:def 2;
  end;

theorem Th30:
 T = 0 implies AddressParts T = {0}
  proof
    assume
A1:   T = 0;
A2: AddressParts T =
      { AddressPart I where I is Instruction of SCM+FSA: InsCode I = T }
        by AMISTD_2:def 5;
    hereby
      let a be set;
      assume a in AddressParts T;
      then consider I such that
A3:     a = AddressPart I and
A4:     InsCode I = T by A2;
        I = halt SCM+FSA by A1,A4,SCMFSA_2:122;
      hence a in {0} by A3,Th17,TARSKI:def 1;
    end;
    let a be set;
    assume a in {0};
    then a = 0 by TARSKI:def 1;
    hence thesis by A1,A2,Th17,SCMFSA_2:124;
  end;

definition let T;
 cluster AddressParts T -> non empty;
coherence
  proof
A1: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, b, i1, f;
A2: T = 0 or T = 1 or T = 2 or T = 3 or T = 4 or T = 5 or T = 6 or T = 7 or
      T = 8 or T = 9 or T = 10 or T = 11 or T = 12 by Lm4;
      InsCode halt SCM+FSA = 0 & InsCode (a:=b) = 1 & InsCode AddTo(a,b) = 2 &
     InsCode SubFrom(a,b) = 3 & InsCode MultBy(a,b) = 4 &
      InsCode Divide(a,b) = 5 & InsCode goto i1 = 6 &
       InsCode (a =0_goto i1) = 7 & InsCode (a >0_goto i1) = 8 &
        InsCode (b:=(f,a)) = 9 & InsCode ((f,a):=b) = 10 &
         InsCode (a:=len f) = 11 & InsCode (f:=<0,...,0>a) = 12
       by SCMFSA_2:42,43,44,45,46,47,48,49,50,51,52,53,124;
    then AddressPart halt SCM+FSA in AddressParts T or
     AddressPart (a:=b) in AddressParts T or
      AddressPart AddTo(a,b) in AddressParts T or
       AddressPart SubFrom(a,b) in AddressParts T or
        AddressPart MultBy(a,b) in AddressParts T or
         AddressPart Divide(a,b) in AddressParts T or
          AddressPart goto i1 in AddressParts T or
           AddressPart (a =0_goto i1) in AddressParts T or
            AddressPart (a >0_goto i1) in AddressParts T or
       AddressPart (b:=(f,a)) in AddressParts T or
        AddressPart ((f,a):=b) in AddressParts T or
         AddressPart (a:=len f) in AddressParts T or
          AddressPart (f:=<0,...,0>a) in AddressParts T by A1,A2;
    hence thesis;
  end;
end;

theorem Th31:
 T = 1 implies dom PA AddressParts T = {1,2}
  proof
    assume
A1:   T = 1;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, b;
A3: AddressPart (a:=b) = <*a,b*> by Th18;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode (a:=b) = 1 by SCMFSA_2:42;
      then AddressPart (a:=b) in AddressParts T by A1,A2;
      then x in dom AddressPart (a:=b) by A4,AMISTD_2:def 1;
      hence x in {1,2} by A3,FINSEQ_1:4,FINSEQ_3:29;
    end;
    let x be set;
    assume
A5:   x in {1,2};
      for f being Function st f in AddressParts T holds x in dom f
    proof
      let f be Function;
      assume f in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = T by A2;
      consider d1, d2 such that
A8:     I = d1:=d2 by A1,A7,SCMFSA_2:54;
        f = <*d1,d2*> by A6,A8,Th18;
      hence x in dom f by A5,FINSEQ_1:4,FINSEQ_3:29;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th32:
 T = 2 implies dom PA AddressParts T = {1,2}
  proof
    assume
A1:   T = 2;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, b;
A3: AddressPart AddTo(a,b) = <*a,b*> by Th19;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode AddTo(a,b) = 2 by SCMFSA_2:43;
      then AddressPart AddTo(a,b) in AddressParts T by A1,A2;
      then x in dom AddressPart AddTo(a,b) by A4,AMISTD_2:def 1;
      hence x in {1,2} by A3,FINSEQ_1:4,FINSEQ_3:29;
    end;
    let x be set;
    assume
A5:   x in {1,2};
      for f being Function st f in AddressParts T holds x in dom f
    proof
      let f be Function;
      assume f in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = T by A2;
      consider d1, d2 such that
A8:     I = AddTo(d1,d2) by A1,A7,SCMFSA_2:55;
        f = <*d1,d2*> by A6,A8,Th19;
      hence x in dom f by A5,FINSEQ_1:4,FINSEQ_3:29;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th33:
 T = 3 implies dom PA AddressParts T = {1,2}
  proof
    assume
A1:   T = 3;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, b;
A3: AddressPart SubFrom(a,b) = <*a,b*> by Th20;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode SubFrom(a,b) = 3 by SCMFSA_2:44;
      then AddressPart SubFrom(a,b) in AddressParts T by A1,A2;
      then x in dom AddressPart SubFrom(a,b) by A4,AMISTD_2:def 1;
      hence x in {1,2} by A3,FINSEQ_1:4,FINSEQ_3:29;
    end;
    let x be set;
    assume
A5:   x in {1,2};
      for f being Function st f in AddressParts T holds x in dom f
    proof
      let f be Function;
      assume f in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = T by A2;
      consider d1, d2 such that
A8:     I = SubFrom(d1,d2) by A1,A7,SCMFSA_2:56;
        f = <*d1,d2*> by A6,A8,Th20;
      hence x in dom f by A5,FINSEQ_1:4,FINSEQ_3:29;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th34:
 T = 4 implies dom PA AddressParts T = {1,2}
  proof
    assume
A1:   T = 4;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, b;
A3: AddressPart MultBy(a,b) = <*a,b*> by Th21;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode MultBy(a,b) = 4 by SCMFSA_2:45;
      then AddressPart MultBy(a,b) in AddressParts T by A1,A2;
      then x in dom AddressPart MultBy(a,b) by A4,AMISTD_2:def 1;
      hence x in {1,2} by A3,FINSEQ_1:4,FINSEQ_3:29;
    end;
    let x be set;
    assume
A5:   x in {1,2};
      for f being Function st f in AddressParts T holds x in dom f
    proof
      let f be Function;
      assume f in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = T by A2;
      consider d1, d2 such that
A8:     I = MultBy(d1,d2) by A1,A7,SCMFSA_2:57;
        f = <*d1,d2*> by A6,A8,Th21;
      hence x in dom f by A5,FINSEQ_1:4,FINSEQ_3:29;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th35:
 T = 5 implies dom PA AddressParts T = {1,2}
  proof
    assume
A1:   T = 5;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, b;
A3: AddressPart Divide(a,b) = <*a,b*> by Th22;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode Divide(a,b) = 5 by SCMFSA_2:46;
      then AddressPart Divide(a,b) in AddressParts T by A1,A2;
      then x in dom AddressPart Divide(a,b) by A4,AMISTD_2:def 1;
      hence x in {1,2} by A3,FINSEQ_1:4,FINSEQ_3:29;
    end;
    let x be set;
    assume
A5:   x in {1,2};
      for f being Function st f in AddressParts T holds x in dom f
    proof
      let f be Function;
      assume f in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = T by A2;
      consider d1, d2 such that
A8:     I = Divide(d1,d2) by A1,A7,SCMFSA_2:58;
        f = <*d1,d2*> by A6,A8,Th22;
      hence x in dom f by A5,FINSEQ_1:4,FINSEQ_3:29;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th36:
 T = 6 implies dom PA AddressParts T = {1}
  proof
    assume
A1:   T = 6;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider i1;
A3: AddressPart goto i1 = <*i1*> by Th23;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode goto i1 = 6 by SCMFSA_2:47;
      then AddressPart goto i1 in AddressParts T by A1,A2;
      then x in dom AddressPart goto i1 by A4,AMISTD_2:def 1;
      hence x in {1} by A3,FINSEQ_1:4,def 8;
    end;
    let x be set;
    assume
A5:   x in {1};
      for f being Function st f in AddressParts T holds x in dom f
    proof
      let f be Function;
      assume f in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = T by A2;
      consider i1 such that
A8:     I = goto i1 by A1,A7,SCMFSA_2:59;
        f = <*i1*> by A6,A8,Th23;
      hence x in dom f by A5,FINSEQ_1:4,def 8;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th37:
 T = 7 implies dom PA AddressParts T = {1,2}
  proof
    assume
A1:   T = 7;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider i1, a;
A3: AddressPart (a =0_goto i1) = <*i1,a*> by Th24;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode (a =0_goto i1) = 7 by SCMFSA_2:48;
      then AddressPart (a =0_goto i1) in AddressParts T by A1,A2;
      then x in dom AddressPart (a =0_goto i1) by A4,AMISTD_2:def 1;
      hence x in {1,2} by A3,FINSEQ_1:4,FINSEQ_3:29;
    end;
    let x be set;
    assume
A5:   x in {1,2};
      for f being Function st f in AddressParts T holds x in dom f
    proof
      let f be Function;
      assume f in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = T by A2;
      consider i1, a such that
A8:     I = a =0_goto i1 by A1,A7,SCMFSA_2:60;
        f = <*i1,a*> by A6,A8,Th24;
      hence x in dom f by A5,FINSEQ_1:4,FINSEQ_3:29;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th38:
 T = 8 implies dom PA AddressParts T = {1,2}
  proof
    assume
A1:   T = 8;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider i1, a;
A3: AddressPart (a >0_goto i1) = <*i1,a*> by Th25;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode (a >0_goto i1) = 8 by SCMFSA_2:49;
      then AddressPart (a >0_goto i1) in AddressParts T by A1,A2;
      then x in dom AddressPart (a >0_goto i1) by A4,AMISTD_2:def 1;
      hence x in {1,2} by A3,FINSEQ_1:4,FINSEQ_3:29;
    end;
    let x be set;
    assume
A5:   x in {1,2};
      for f being Function st f in AddressParts T holds x in dom f
    proof
      let f be Function;
      assume f in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = T by A2;
      consider i1, a such that
A8:     I = a >0_goto i1 by A1,A7,SCMFSA_2:61;
        f = <*i1,a*> by A6,A8,Th25;
      hence x in dom f by A5,FINSEQ_1:4,FINSEQ_3:29;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th39:
 T = 9 implies dom PA AddressParts T = {1,2,3}
  proof
    assume
A1:   T = 9;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, b, f;
A3: AddressPart (b:=(f,a)) = <*b,f,a*> by Th26;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode (b:=(f,a)) = 9 by SCMFSA_2:50;
      then AddressPart (b:=(f,a)) in AddressParts T by A1,A2;
      then x in dom AddressPart (b:=(f,a)) by A4,AMISTD_2:def 1;
      hence x in {1,2,3} by A3,FINSEQ_3:1,30;
    end;
    let x be set;
    assume
A5:   x in {1,2,3};
      for g being Function st g in AddressParts T holds x in dom g
    proof
      let g be Function;
      assume g in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = T by A2;
      consider a, b, f such that
A8:     I = b:=(f,a) by A1,A7,SCMFSA_2:62;
        g = <*b,f,a*> by A6,A8,Th26;
      hence x in dom g by A5,FINSEQ_3:1,30;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th40:
 T = 10 implies dom PA AddressParts T = {1,2,3}
  proof
    assume
A1:   T = 10;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, b, f;
A3: AddressPart ((f,a):=b) = <*b,f,a*> by Th27;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode ((f,a):=b) = 10 by SCMFSA_2:51;
      then AddressPart ((f,a):=b) in AddressParts T by A1,A2;
      then x in dom AddressPart ((f,a):=b) by A4,AMISTD_2:def 1;
      hence x in {1,2,3} by A3,FINSEQ_3:1,30;
    end;
    let x be set;
    assume
A5:   x in {1,2,3};
      for g being Function st g in AddressParts T holds x in dom g
    proof
      let g be Function;
      assume g in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = T by A2;
      consider a, b, f such that
A8:     I = (f,a):=b by A1,A7,SCMFSA_2:63;
        g = <*b,f,a*> by A6,A8,Th27;
      hence x in dom g by A5,FINSEQ_3:1,30;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th41:
 T = 11 implies dom PA AddressParts T = {1,2}
  proof
    assume
A1:   T = 11;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, f;
A3: AddressPart (a:=len f) = <*a,f*> by Th28;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode (a:=len f) = 11 by SCMFSA_2:52;
      then AddressPart (a:=len f) in AddressParts T by A1,A2;
      then x in dom AddressPart (a:=len f) by A4,AMISTD_2:def 1;
      hence x in {1,2} by A3,FINSEQ_1:4,FINSEQ_3:29;
    end;
    let x be set;
    assume
A5:   x in {1,2};
      for g being Function st g in AddressParts T holds x in dom g
    proof
      let g be Function;
      assume g in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = T by A2;
      consider a, f such that
A8:     I = a:=len f by A1,A7,SCMFSA_2:64;
        g = <*a,f*> by A6,A8,Th28;
      hence x in dom g by A5,FINSEQ_1:4,FINSEQ_3:29;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th42:
 T = 12 implies dom PA AddressParts T = {1,2}
  proof
    assume
A1:   T = 12;
A2: AddressParts T = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = T} by AMISTD_2:def 5;
    consider a, f;
A3: AddressPart (f:=<0,...,0>a) = <*a,f*> by Th29;
    hereby
      let x be set;
      assume
A4:     x in dom PA AddressParts T;
        InsCode (f:=<0,...,0>a) = 12 by SCMFSA_2:53;
      then AddressPart (f:=<0,...,0>a) in AddressParts T by A1,A2;
      then x in dom AddressPart (f:=<0,...,0>a) by A4,AMISTD_2:def 1;
      hence x in {1,2} by A3,FINSEQ_1:4,FINSEQ_3:29;
    end;
    let x be set;
    assume
A5:   x in {1,2};
      for g being Function st g in AddressParts T holds x in dom g
    proof
      let g be Function;
      assume g in AddressParts T;
      then consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = T by A2;
      consider a, f such that
A8:     I = f:=<0,...,0>a by A1,A7,SCMFSA_2:65;
        g = <*a,f*> by A6,A8,Th29;
      hence x in dom g by A5,FINSEQ_1:4,FINSEQ_3:29;
    end;
    hence thesis by AMISTD_2:def 1;
  end;

theorem Th43:
 (PA AddressParts InsCode (a:=b)).1 = SCM+FSA-Data-Loc
  proof
A1: InsCode (a:=b) = 1 by SCMFSA_2:42;
    then dom PA AddressParts InsCode (a:=b) = {1,2} by Th31;
then A2: 1 in dom PA AddressParts InsCode (a:=b) by TARSKI:def 2;
A3: AddressParts InsCode (a:=b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (a:=b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (a:=b)).1;
      then x in pi(AddressParts InsCode (a:=b),1) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode (a:=b) and
A5:     f.1 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode (a:=b) by A3,A4;
        InsCode I = 1 by A7,SCMFSA_2:42;
      then consider d1, d2 such that
A8:     I = d1:=d2 by SCMFSA_2:54;
        x = <*d1,d2*>.1 by A5,A6,A8,Th18
       .= d1 by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode (x:=b) = 1 by SCMFSA_2:42;
    then AddressPart (x:=b) in AddressParts InsCode (a:=b) by A1,A3;
then A9: (AddressPart (x:=b)).1 in pi
(AddressParts InsCode (a:=b),1) by CARD_3:def 6;
      (AddressPart (x:=b)).1 = <*x,b*>.1 by Th18
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th44:
 (PA AddressParts InsCode (a:=b)).2 = SCM+FSA-Data-Loc
  proof
A1: InsCode (a:=b) = 1 by SCMFSA_2:42;
    then dom PA AddressParts InsCode (a:=b) = {1,2} by Th31;
then A2: 2 in dom PA AddressParts InsCode (a:=b) by TARSKI:def 2;
A3: AddressParts InsCode (a:=b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (a:=b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (a:=b)).2;
      then x in pi(AddressParts InsCode (a:=b),2) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode (a:=b) and
A5:     f.2 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode (a:=b) by A3,A4;
        InsCode I = 1 by A7,SCMFSA_2:42;
      then consider d1, d2 such that
A8:     I = d1:=d2 by SCMFSA_2:54;
        x = <*d1,d2*>.2 by A5,A6,A8,Th18
       .= d2 by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode (a:=x) = 1 by SCMFSA_2:42;
    then AddressPart (a:=x) in AddressParts InsCode (a:=b) by A1,A3;
then A9: (AddressPart (a:=x)).2 in pi
(AddressParts InsCode (a:=b),2) by CARD_3:def 6;
      (AddressPart (a:=x)).2 = <*a,x*>.2 by Th18
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th45:
 (PA AddressParts InsCode AddTo(a,b)).1 = SCM+FSA-Data-Loc
  proof
A1: InsCode AddTo(a,b) = 2 by SCMFSA_2:43;
    then dom PA AddressParts InsCode AddTo(a,b) = {1,2} by Th32;
then A2: 1 in dom PA AddressParts InsCode AddTo(a,b) by TARSKI:def 2;
A3: AddressParts InsCode AddTo(a,b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode AddTo(a,b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode AddTo(a,b)).1;
      then x in pi(AddressParts InsCode AddTo(a,b),1) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode AddTo(a,b) and
A5:     f.1 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode AddTo(a,b) by A3,A4;
        InsCode I = 2 by A7,SCMFSA_2:43;
      then consider d1, d2 such that
A8:     I = AddTo(d1,d2) by SCMFSA_2:55;
        x = <*d1,d2*>.1 by A5,A6,A8,Th19
       .= d1 by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode AddTo(x,b) = 2 by SCMFSA_2:43;
    then AddressPart AddTo(x,b) in AddressParts InsCode AddTo(a,b) by A1,A3;
then A9: (AddressPart AddTo(x,b)).1 in pi(AddressParts InsCode AddTo(a,b),1)
      by CARD_3:def 6;
      (AddressPart AddTo(x,b)).1 = <*x,b*>.1 by Th19
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th46:
 (PA AddressParts InsCode AddTo(a,b)).2 = SCM+FSA-Data-Loc
  proof
A1: InsCode AddTo(a,b) = 2 by SCMFSA_2:43;
    then dom PA AddressParts InsCode AddTo(a,b) = {1,2} by Th32;
then A2: 2 in dom PA AddressParts InsCode AddTo(a,b) by TARSKI:def 2;
A3: AddressParts InsCode AddTo(a,b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode AddTo(a,b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode AddTo(a,b)).2;
      then x in pi(AddressParts InsCode AddTo(a,b),2) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode AddTo(a,b) and
A5:     f.2 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode AddTo(a,b) by A3,A4;
        InsCode I = 2 by A7,SCMFSA_2:43;
      then consider d1, d2 such that
A8:     I = AddTo(d1,d2) by SCMFSA_2:55;
        x = <*d1,d2*>.2 by A5,A6,A8,Th19
       .= d2 by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode AddTo(a,x) = 2 by SCMFSA_2:43;
    then AddressPart AddTo(a,x) in AddressParts InsCode AddTo(a,b) by A1,A3;
then A9: (AddressPart AddTo(a,x)).2 in pi(AddressParts InsCode AddTo(a,b),2)
       by CARD_3:def 6;
      (AddressPart AddTo(a,x)).2 = <*a,x*>.2 by Th19
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th47:
 (PA AddressParts InsCode SubFrom(a,b)).1 = SCM+FSA-Data-Loc
  proof
A1: InsCode SubFrom(a,b) = 3 by SCMFSA_2:44;
    then dom PA AddressParts InsCode SubFrom(a,b) = {1,2} by Th33;
then A2: 1 in dom PA AddressParts InsCode SubFrom(a,b) by TARSKI:def 2;
A3: AddressParts InsCode SubFrom(a,b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode SubFrom(a,b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode SubFrom(a,b)).1;
      then x in pi(AddressParts InsCode SubFrom(a,b),1) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode SubFrom(a,b) and
A5:     f.1 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode SubFrom(a,b) by A3,A4;
        InsCode I = 3 by A7,SCMFSA_2:44;
      then consider d1, d2 such that
A8:     I = SubFrom(d1,d2) by SCMFSA_2:56;
        x = <*d1,d2*>.1 by A5,A6,A8,Th20
       .= d1 by FINSEQ_1:61;
     hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode SubFrom(x,b) = 3 by SCMFSA_2:44;
    then AddressPart SubFrom(x,b) in AddressParts InsCode SubFrom(a,b) by A1,A3
;
      then A9: (AddressPart SubFrom(x,b)).1 in pi(AddressParts InsCode SubFrom(
a,b),1)
      by CARD_3:def 6;
      (AddressPart SubFrom(x,b)).1 = <*x,b*>.1 by Th20
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th48:
 (PA AddressParts InsCode SubFrom(a,b)).2 = SCM+FSA-Data-Loc
  proof
A1: InsCode SubFrom(a,b) = 3 by SCMFSA_2:44;
    then dom PA AddressParts InsCode SubFrom(a,b) = {1,2} by Th33;
then A2: 2 in dom PA AddressParts InsCode SubFrom(a,b) by TARSKI:def 2;
A3: AddressParts InsCode SubFrom(a,b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode SubFrom(a,b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode SubFrom(a,b)).2;
      then x in pi(AddressParts InsCode SubFrom(a,b),2) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode SubFrom(a,b) and
A5:     f.2 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode SubFrom(a,b) by A3,A4;
        InsCode I = 3 by A7,SCMFSA_2:44;
      then consider d1, d2 such that
A8:     I = SubFrom(d1,d2) by SCMFSA_2:56;
        x = <*d1,d2*>.2 by A5,A6,A8,Th20
       .= d2 by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode SubFrom(a,x) = 3 by SCMFSA_2:44;
    then AddressPart SubFrom(a,x) in AddressParts InsCode SubFrom(a,b) by A1,A3
;
      then A9: (AddressPart SubFrom(a,x)).2 in pi(AddressParts InsCode SubFrom(
a,b),2)
       by CARD_3:def 6;
      (AddressPart SubFrom(a,x)).2 = <*a,x*>.2 by Th20
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th49:
 (PA AddressParts InsCode MultBy(a,b)).1 = SCM+FSA-Data-Loc
  proof
A1: InsCode MultBy(a,b) = 4 by SCMFSA_2:45;
    then dom PA AddressParts InsCode MultBy(a,b) = {1,2} by Th34;
then A2: 1 in dom PA AddressParts InsCode MultBy(a,b) by TARSKI:def 2;
A3: AddressParts InsCode MultBy(a,b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode MultBy(a,b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode MultBy(a,b)).1;
      then x in pi(AddressParts InsCode MultBy(a,b),1) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode MultBy(a,b) and
A5:     f.1 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode MultBy(a,b) by A3,A4;
        InsCode I = 4 by A7,SCMFSA_2:45;
      then consider d1, d2 such that
A8:     I = MultBy(d1,d2) by SCMFSA_2:57;
        x = <*d1,d2*>.1 by A5,A6,A8,Th21
       .= d1 by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode MultBy(x,b) = 4 by SCMFSA_2:45;
    then AddressPart MultBy(x,b) in AddressParts InsCode MultBy(a,b) by A1,A3;
      then A9: (AddressPart MultBy(x,b)).1 in pi(AddressParts InsCode MultBy(a,
b),1)
      by CARD_3:def 6;
      (AddressPart MultBy(x,b)).1 = <*x,b*>.1 by Th21
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th50:
 (PA AddressParts InsCode MultBy(a,b)).2 = SCM+FSA-Data-Loc
  proof
A1: InsCode MultBy(a,b) = 4 by SCMFSA_2:45;
    then dom PA AddressParts InsCode MultBy(a,b) = {1,2} by Th34;
then A2: 2 in dom PA AddressParts InsCode MultBy(a,b) by TARSKI:def 2;
A3: AddressParts InsCode MultBy(a,b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode MultBy(a,b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode MultBy(a,b)).2;
      then x in pi(AddressParts InsCode MultBy(a,b),2) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode MultBy(a,b) and
A5:     f.2 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode MultBy(a,b) by A3,A4;
        InsCode I = 4 by A7,SCMFSA_2:45;
      then consider d1, d2 such that
A8:     I = MultBy(d1,d2) by SCMFSA_2:57;
        x = <*d1,d2*>.2 by A5,A6,A8,Th21
       .= d2 by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode MultBy(a,x) = 4 by SCMFSA_2:45;
    then AddressPart MultBy(a,x) in AddressParts InsCode MultBy(a,b) by A1,A3;
      then A9: (AddressPart MultBy(a,x)).2 in pi(AddressParts InsCode MultBy(a,
b),2)
       by CARD_3:def 6;
      (AddressPart MultBy(a,x)).2 = <*a,x*>.2 by Th21
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th51:
 (PA AddressParts InsCode Divide(a,b)).1 = SCM+FSA-Data-Loc
  proof
A1: InsCode Divide(a,b) = 5 by SCMFSA_2:46;
    then dom PA AddressParts InsCode Divide(a,b) = {1,2} by Th35;
then A2: 1 in dom PA AddressParts InsCode Divide(a,b) by TARSKI:def 2;
A3: AddressParts InsCode Divide(a,b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode Divide(a,b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode Divide(a,b)).1;
      then x in pi(AddressParts InsCode Divide(a,b),1) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode Divide(a,b) and
A5:     f.1 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode Divide(a,b) by A3,A4;
        InsCode I = 5 by A7,SCMFSA_2:46;
      then consider d1, d2 such that
A8:     I = Divide(d1,d2) by SCMFSA_2:58;
        x = <*d1,d2*>.1 by A5,A6,A8,Th22
       .= d1 by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode Divide(x,b) = 5 by SCMFSA_2:46;
    then AddressPart Divide(x,b) in AddressParts InsCode Divide(a,b) by A1,A3;
      then A9: (AddressPart Divide(x,b)).1 in pi(AddressParts InsCode Divide(a,
b),1)
      by CARD_3:def 6;
      (AddressPart Divide(x,b)).1 = <*x,b*>.1 by Th22
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th52:
 (PA AddressParts InsCode Divide(a,b)).2 = SCM+FSA-Data-Loc
  proof
A1: InsCode Divide(a,b) = 5 by SCMFSA_2:46;
    then dom PA AddressParts InsCode Divide(a,b) = {1,2} by Th35;
then A2: 2 in dom PA AddressParts InsCode Divide(a,b) by TARSKI:def 2;
A3: AddressParts InsCode Divide(a,b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode Divide(a,b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode Divide(a,b)).2;
      then x in pi(AddressParts InsCode Divide(a,b),2) by A2,AMISTD_2:def 1;
      then consider f being Function such that
A4:     f in AddressParts InsCode Divide(a,b) and
A5:     f.2 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode Divide(a,b) by A3,A4;
        InsCode I = 5 by A7,SCMFSA_2:46;
      then consider d1, d2 such that
A8:     I = Divide(d1,d2) by SCMFSA_2:58;
        x = <*d1,d2*>.2 by A5,A6,A8,Th22
       .= d2 by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode Divide(a,x) = 5 by SCMFSA_2:46;
    then AddressPart Divide(a,x) in AddressParts InsCode Divide(a,b) by A1,A3;
      then A9: (AddressPart Divide(a,x)).2 in pi(AddressParts InsCode Divide(a,
b),2)
       by CARD_3:def 6;
      (AddressPart Divide(a,x)).2 = <*a,x*>.2 by Th22
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th53:
 (PA AddressParts InsCode goto i1).1 = the Instruction-Locations of SCM+FSA
  proof
A1: InsCode goto i1 = 6 by SCMFSA_2:47;
    then dom PA AddressParts InsCode goto i1 = {1} by Th36;
then A2: 1 in dom PA AddressParts InsCode goto i1 by TARSKI:def 1;
A3: AddressParts InsCode goto i1 = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode goto i1}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode goto i1).1;
      then x in pi(AddressParts InsCode goto i1,1) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode goto i1 and
A5:     x = g.1 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode goto i1 by A3,A4;
      consider i2 such that
A8:     I = goto i2 by A1,A7,SCMFSA_2:59;
        g = <*i2*> by A6,A8,Th23;
      then x = i2 by A5,FINSEQ_1:def 8;
      hence x in the Instruction-Locations of SCM+FSA;
    end;
    let x be set;
    assume x in the Instruction-Locations of SCM+FSA;
    then reconsider x as Instruction-Location of SCM+FSA;
A9: AddressPart goto x = <*x*> by Th23;
      InsCode goto i1 = InsCode goto x by A1,SCMFSA_2:47;
then A10: <*x*> in AddressParts InsCode goto i1 by A3,A9;
      <*x*>.1 = x by FINSEQ_1:def 8;
    then x in pi(AddressParts InsCode goto i1,1) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th54:
 (PA AddressParts InsCode (a =0_goto i1)).1 =
   the Instruction-Locations of SCM+FSA
  proof
A1: InsCode (a =0_goto i1) = 7 by SCMFSA_2:48;
    then dom PA AddressParts InsCode (a =0_goto i1) = {1,2} by Th37;
then A2: 1 in dom PA AddressParts InsCode (a =0_goto i1) by TARSKI:def 2;
A3: AddressParts InsCode (a =0_goto i1) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (a =0_goto i1)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (a =0_goto i1)).1;
      then x in pi(AddressParts InsCode (a =0_goto i1),1) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode (a =0_goto i1) and
A5:     x = g.1 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode (a =0_goto i1) by A3,A4;
      consider i2, b such that
A8:     I = b =0_goto i2 by A1,A7,SCMFSA_2:60;
        g = <*i2,b*> by A6,A8,Th24;
      then x = i2 by A5,FINSEQ_1:61;
      hence x in the Instruction-Locations of SCM+FSA;
    end;
    let x be set;
    assume x in the Instruction-Locations of SCM+FSA;
    then reconsider x as Instruction-Location of SCM+FSA;
A9: AddressPart (a =0_goto x) = <*x,a*> by Th24;
      InsCode (a =0_goto i1) = InsCode (a =0_goto x) by A1,SCMFSA_2:48;
then A10: <*x,a*> in AddressParts InsCode (a =0_goto i1) by A3,A9;
      <*x,a*>.1 = x by FINSEQ_1:61;
    then x in pi(AddressParts InsCode (a =0_goto i1),1) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th55:
 (PA AddressParts InsCode (a =0_goto i1)).2 = SCM+FSA-Data-Loc
  proof
A1: InsCode (a =0_goto i1) = 7 by SCMFSA_2:48;
    then dom PA AddressParts InsCode (a =0_goto i1) = {1,2} by Th37;
then A2: 2 in dom PA AddressParts InsCode (a =0_goto i1) by TARSKI:def 2;
A3: AddressParts InsCode (a =0_goto i1) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (a =0_goto i1)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (a =0_goto i1)).2;
      then x in pi(AddressParts InsCode (a =0_goto i1),2) by A2,AMISTD_2:def 1
;
      then consider f being Function such that
A4:     f in AddressParts InsCode (a =0_goto i1) and
A5:     f.2 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode (a =0_goto i1) by A3,A4;
        InsCode I = 7 by A7,SCMFSA_2:48;
      then consider i2, b such that
A8:     I = b =0_goto i2 by SCMFSA_2:60;
        x = <*i2,b*>.2 by A5,A6,A8,Th24
       .= b by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode (x =0_goto i1) = 7 by SCMFSA_2:48;
    then AddressPart (x =0_goto i1) in AddressParts InsCode (a =0_goto i1) by
A1,A3;
      then A9: (AddressPart (x =0_goto i1)).2 in pi(AddressParts InsCode (a
=0_goto i1),2)
       by CARD_3:def 6;
      (AddressPart (x =0_goto i1)).2 = <*i1,x*>.2 by Th24
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th56:
 (PA AddressParts InsCode (a >0_goto i1)).1 =
   the Instruction-Locations of SCM+FSA
  proof
A1: InsCode (a >0_goto i1) = 8 by SCMFSA_2:49;
    then dom PA AddressParts InsCode (a >0_goto i1) = {1,2} by Th38;
then A2: 1 in dom PA AddressParts InsCode (a >0_goto i1) by TARSKI:def 2;
A3: AddressParts InsCode (a >0_goto i1) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (a >0_goto i1)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (a >0_goto i1)).1;
      then x in pi(AddressParts InsCode (a >0_goto i1),1) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode (a >0_goto i1) and
A5:     x = g.1 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode (a >0_goto i1) by A3,A4;
      consider i2, b such that
A8:     I = b >0_goto i2 by A1,A7,SCMFSA_2:61;
        g = <*i2,b*> by A6,A8,Th25;
      then x = i2 by A5,FINSEQ_1:61;
      hence x in the Instruction-Locations of SCM+FSA;
    end;
    let x be set;
    assume x in the Instruction-Locations of SCM+FSA;
    then reconsider x as Instruction-Location of SCM+FSA;
A9: AddressPart (a >0_goto x) = <*x,a*> by Th25;
      InsCode (a >0_goto i1) = InsCode (a >0_goto x) by A1,SCMFSA_2:49;
then A10: <*x,a*> in AddressParts InsCode (a >0_goto i1) by A3,A9;
      <*x,a*>.1 = x by FINSEQ_1:61;
    then x in pi(AddressParts InsCode (a >0_goto i1),1) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th57:
 (PA AddressParts InsCode (a >0_goto i1)).2 = SCM+FSA-Data-Loc
  proof
A1: InsCode (a >0_goto i1) = 8 by SCMFSA_2:49;
    then dom PA AddressParts InsCode (a >0_goto i1) = {1,2} by Th38;
then A2: 2 in dom PA AddressParts InsCode (a >0_goto i1) by TARSKI:def 2;
A3: AddressParts InsCode (a >0_goto i1) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (a >0_goto i1)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (a >0_goto i1)).2;
      then x in pi(AddressParts InsCode (a >0_goto i1),2) by A2,AMISTD_2:def 1
;
      then consider f being Function such that
A4:     f in AddressParts InsCode (a >0_goto i1) and
A5:     f.2 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     f = AddressPart I and
A7:     InsCode I = InsCode (a >0_goto i1) by A3,A4;
        InsCode I = 8 by A7,SCMFSA_2:49;
      then consider i2, b such that
A8:     I = b >0_goto i2 by SCMFSA_2:61;
        x = <*i2,b*>.2 by A5,A6,A8,Th25
       .= b by FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
      InsCode (x >0_goto i1) = 8 by SCMFSA_2:49;
    then AddressPart (x >0_goto i1) in AddressParts InsCode (a >0_goto i1) by
A1,A3;
      then A9: (AddressPart (x >0_goto i1)).2 in pi(AddressParts InsCode (a
>0_goto i1),2)
       by CARD_3:def 6;
      (AddressPart (x >0_goto i1)).2 = <*i1,x*>.2 by Th25
      .= x by FINSEQ_1:61;
    hence thesis by A2,A9,AMISTD_2:def 1;
  end;

theorem Th58:
 (PA AddressParts InsCode (b:=(f,a))).1 = SCM+FSA-Data-Loc
  proof
A1: InsCode (b:=(f,a)) = 9 by SCMFSA_2:50;
    then dom PA AddressParts InsCode (b:=(f,a)) = {1,2,3} by Th39;
then A2: 1 in dom PA AddressParts InsCode (b:=(f,a)) by ENUMSET1:14;
A3: AddressParts InsCode (b:=(f,a)) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (b:=(f,a))}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (b:=(f,a))).1;
      then x in pi(AddressParts InsCode (b:=(f,a)),1) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode (b:=(f,a)) and
A5:     x = g.1 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode (b:=(f,a)) by A3,A4;
      consider a, b, f such that
A8:     I = b:=(f,a) by A1,A7,SCMFSA_2:62;
        g = <*b,f,a*> by A6,A8,Th26;
      then x = b by A5,FINSEQ_1:62;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
A9: AddressPart (x:=(f,a)) = <*x,f,a*> by Th26;
      InsCode (b:=(f,a)) = InsCode (x:=(f,a)) by A1,SCMFSA_2:50;
then A10: <*x,f,a*> in AddressParts InsCode (b:=(f,a)) by A3,A9;
      <*x,f,a*>.1 = x by FINSEQ_1:62;
    then x in pi(AddressParts InsCode (b:=(f,a)),1) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th59:
 (PA AddressParts InsCode (b:=(f,a))).2 = SCM+FSA-Data*-Loc
  proof
A1: InsCode (b:=(f,a)) = 9 by SCMFSA_2:50;
    then dom PA AddressParts InsCode (b:=(f,a)) = {1,2,3} by Th39;
then A2: 2 in dom PA AddressParts InsCode (b:=(f,a)) by ENUMSET1:14;
A3: AddressParts InsCode (b:=(f,a)) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (b:=(f,a))}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (b:=(f,a))).2;
      then x in pi(AddressParts InsCode (b:=(f,a)),2) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode (b:=(f,a)) and
A5:     x = g.2 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode (b:=(f,a)) by A3,A4;
      consider a, b, f such that
A8:     I = b:=(f,a) by A1,A7,SCMFSA_2:62;
        g = <*b,f,a*> by A6,A8,Th26;
      then x = f by A5,FINSEQ_1:62;
      hence x in SCM+FSA-Data*-Loc by SCMFSA_2:def 5;
    end;
    let x be set;
    assume x in SCM+FSA-Data*-Loc;
    then reconsider x as FinSeq-Location by SCMFSA_2:29;
A9: AddressPart (b:=(x,a)) = <*b,x,a*> by Th26;
      InsCode (b:=(f,a)) = InsCode (b:=(x,a)) by A1,SCMFSA_2:50;
then A10: <*b,x,a*> in AddressParts InsCode (b:=(f,a)) by A3,A9;
      <*b,x,a*>.2 = x by FINSEQ_1:62;
    then x in pi(AddressParts InsCode (b:=(f,a)),2) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th60:
 (PA AddressParts InsCode (b:=(f,a))).3 = SCM+FSA-Data-Loc
  proof
A1: InsCode (b:=(f,a)) = 9 by SCMFSA_2:50;
    then dom PA AddressParts InsCode (b:=(f,a)) = {1,2,3} by Th39;
then A2: 3 in dom PA AddressParts InsCode (b:=(f,a)) by ENUMSET1:14;
A3: AddressParts InsCode (b:=(f,a)) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (b:=(f,a))}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (b:=(f,a))).3;
      then x in pi(AddressParts InsCode (b:=(f,a)),3) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode (b:=(f,a)) and
A5:     x = g.3 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode (b:=(f,a)) by A3,A4;
      consider a, b, f such that
A8:     I = b:=(f,a) by A1,A7,SCMFSA_2:62;
        g = <*b,f,a*> by A6,A8,Th26;
      then x = a by A5,FINSEQ_1:62;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
A9: AddressPart (b:=(f,x)) = <*b,f,x*> by Th26;
      InsCode (b:=(f,a)) = InsCode (b:=(f,x)) by A1,SCMFSA_2:50;
then A10: <*b,f,x*> in AddressParts InsCode (b:=(f,a)) by A3,A9;
      <*b,f,x*>.3 = x by FINSEQ_1:62;
    then x in pi(AddressParts InsCode (b:=(f,a)),3) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th61:
 (PA AddressParts InsCode ((f,a):=b)).1 = SCM+FSA-Data-Loc
  proof
A1: InsCode ((f,a):=b) = 10 by SCMFSA_2:51;
    then dom PA AddressParts InsCode ((f,a):=b) = {1,2,3} by Th40;
then A2: 1 in dom PA AddressParts InsCode ((f,a):=b) by ENUMSET1:14;
A3: AddressParts InsCode ((f,a):=b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode ((f,a):=b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode ((f,a):=b)).1;
      then x in pi(AddressParts InsCode ((f,a):=b),1) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode ((f,a):=b) and
A5:     x = g.1 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode ((f,a):=b) by A3,A4;
      consider a, b, f such that
A8:     I = (f,a):=b by A1,A7,SCMFSA_2:63;
        g = <*b,f,a*> by A6,A8,Th27;
      then x = b by A5,FINSEQ_1:62;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
A9: AddressPart ((f,a):=x) = <*x,f,a*> by Th27;
      InsCode ((f,a):=b) = InsCode ((f,a):=x) by A1,SCMFSA_2:51;
then A10: <*x,f,a*> in AddressParts InsCode ((f,a):=b) by A3,A9;
      <*x,f,a*>.1 = x by FINSEQ_1:62;
    then x in pi(AddressParts InsCode ((f,a):=b),1) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th62:
 (PA AddressParts InsCode ((f,a):=b)).2 = SCM+FSA-Data*-Loc
  proof
A1: InsCode ((f,a):=b) = 10 by SCMFSA_2:51;
    then dom PA AddressParts InsCode ((f,a):=b) = {1,2,3} by Th40;
then A2: 2 in dom PA AddressParts InsCode ((f,a):=b) by ENUMSET1:14;
A3: AddressParts InsCode ((f,a):=b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode ((f,a):=b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode ((f,a):=b)).2;
      then x in pi(AddressParts InsCode ((f,a):=b),2) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode ((f,a):=b) and
A5:     x = g.2 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode ((f,a):=b) by A3,A4;
      consider a, b, f such that
A8:     I = (f,a):=b by A1,A7,SCMFSA_2:63;
        g = <*b,f,a*> by A6,A8,Th27;
      then x = f by A5,FINSEQ_1:62;
      hence x in SCM+FSA-Data*-Loc by SCMFSA_2:def 5;
    end;
    let x be set;
    assume x in SCM+FSA-Data*-Loc;
    then reconsider x as FinSeq-Location by SCMFSA_2:29;
A9: AddressPart ((x,a):=b) = <*b,x,a*> by Th27;
      InsCode ((f,a):=b) = InsCode ((x,a):=b) by A1,SCMFSA_2:51;
then A10: <*b,x,a*> in AddressParts InsCode ((f,a):=b) by A3,A9;
      <*b,x,a*>.2 = x by FINSEQ_1:62;
    then x in pi(AddressParts InsCode ((f,a):=b),2) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th63:
 (PA AddressParts InsCode ((f,a):=b)).3 = SCM+FSA-Data-Loc
  proof
A1: InsCode ((f,a):=b) = 10 by SCMFSA_2:51;
    then dom PA AddressParts InsCode ((f,a):=b) = {1,2,3} by Th40;
then A2: 3 in dom PA AddressParts InsCode ((f,a):=b) by ENUMSET1:14;
A3: AddressParts InsCode ((f,a):=b) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode ((f,a):=b)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode ((f,a):=b)).3;
      then x in pi(AddressParts InsCode ((f,a):=b),3) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode ((f,a):=b) and
A5:     x = g.3 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode ((f,a):=b) by A3,A4;
      consider a, b, f such that
A8:     I = (f,a):=b by A1,A7,SCMFSA_2:63;
        g = <*b,f,a*> by A6,A8,Th27;
      then x = a by A5,FINSEQ_1:62;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
A9: AddressPart ((f,x):=b) = <*b,f,x*> by Th27;
      InsCode ((f,a):=b) = InsCode ((f,x):=b) by A1,SCMFSA_2:51;
then A10: <*b,f,x*> in AddressParts InsCode ((f,a):=b) by A3,A9;
      <*b,f,x*>.3 = x by FINSEQ_1:62;
    then x in pi(AddressParts InsCode ((f,a):=b),3) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th64:
 (PA AddressParts InsCode (a:=len f)).1 = SCM+FSA-Data-Loc
  proof
A1: InsCode (a:=len f) = 11 by SCMFSA_2:52;
    then dom PA AddressParts InsCode (a:=len f) = {1,2} by Th41;
then A2: 1 in dom PA AddressParts InsCode (a:=len f) by TARSKI:def 2;
A3: AddressParts InsCode (a:=len f) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (a:=len f)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (a:=len f)).1;
      then x in pi(AddressParts InsCode (a:=len f),1) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode (a:=len f) and
A5:     x = g.1 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode (a:=len f) by A3,A4;
      consider a, f such that
A8:     I = a:=len f by A1,A7,SCMFSA_2:64;
        g = <*a,f*> by A6,A8,Th28;
      then x = a by A5,FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
A9: AddressPart (x:=len f) = <*x,f*> by Th28;
      InsCode (x:=len f) = InsCode (a:=len f) by A1,SCMFSA_2:52;
then A10: <*x,f*> in AddressParts InsCode (a:=len f) by A3,A9;
      <*x,f*>.1 = x by FINSEQ_1:61;
    then x in pi(AddressParts InsCode (a:=len f),1) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th65:
 (PA AddressParts InsCode (a:=len f)).2 = SCM+FSA-Data*-Loc
  proof
A1: InsCode (a:=len f) = 11 by SCMFSA_2:52;
    then dom PA AddressParts InsCode (a:=len f) = {1,2} by Th41;
then A2: 2 in dom PA AddressParts InsCode (a:=len f) by TARSKI:def 2;
A3: AddressParts InsCode (a:=len f) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (a:=len f)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (a:=len f)).2;
      then x in pi(AddressParts InsCode (a:=len f),2) by A2,AMISTD_2:def 1;
      then consider g being Function such that
A4:     g in AddressParts InsCode (a:=len f) and
A5:     g.2 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode (a:=len f) by A3,A4;
        InsCode I = 11 by A7,SCMFSA_2:52;
      then consider a, f such that
A8:     I = a:=len f by SCMFSA_2:64;
        x = <*a,f*>.2 by A5,A6,A8,Th28
       .= f by FINSEQ_1:61;
      hence x in SCM+FSA-Data*-Loc by SCMFSA_2:def 5;
    end;
    let x be set;
    assume x in SCM+FSA-Data*-Loc;
    then reconsider x as FinSeq-Location by SCMFSA_2:29;
A9: AddressPart (a:=len x) = <*a,x*> by Th28;
      InsCode (a:=len x) = InsCode (a:=len f) by A1,SCMFSA_2:52;
then A10: <*a,x*> in AddressParts InsCode (a:=len f) by A3,A9;
      <*a,x*>.2 = x by FINSEQ_1:61;
    then x in pi(AddressParts InsCode (a:=len f),2) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th66:
 (PA AddressParts InsCode (f:=<0,...,0>a)).1 = SCM+FSA-Data-Loc
  proof
A1: InsCode (f:=<0,...,0>a) = 12 by SCMFSA_2:53;
    then dom PA AddressParts InsCode (f:=<0,...,0>a) = {1,2} by Th42;
then A2: 1 in dom PA AddressParts InsCode (f:=<0,...,0>a) by TARSKI:def 2;
A3: AddressParts InsCode (f:=<0,...,0>a) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (f:=<0,...,0>a)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (f:=<0,...,0>a)).1;
      then x in pi(AddressParts InsCode (f:=<0,...,0>a),1) by A2,AMISTD_2:8;
      then consider g being Function such that
A4:     g in AddressParts InsCode (f:=<0,...,0>a) and
A5:     x = g.1 by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode (f:=<0,...,0>a) by A3,A4;
      consider a, f such that
A8:     I = f:=<0,...,0>a by A1,A7,SCMFSA_2:65;
        g = <*a,f*> by A6,A8,Th29;
      then x = a by A5,FINSEQ_1:61;
      hence x in SCM+FSA-Data-Loc by SCMFSA_2:def 4;
    end;
    let x be set;
    assume x in SCM+FSA-Data-Loc;
    then reconsider x as Int-Location by SCMFSA_2:28;
A9: AddressPart (f:=<0,...,0>x) = <*x,f*> by Th29;
      InsCode (f:=<0,...,0>x) = InsCode (f:=<0,...,0>a) by A1,SCMFSA_2:53;
then A10: <*x,f*> in AddressParts InsCode (f:=<0,...,0>a) by A3,A9;
      <*x,f*>.1 = x by FINSEQ_1:61;
    then x in pi(AddressParts InsCode (f:=<0,...,0>a),1) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

theorem Th67:
 (PA AddressParts InsCode (f:=<0,...,0>a)).2 = SCM+FSA-Data*-Loc
  proof
A1: InsCode (f:=<0,...,0>a) = 12 by SCMFSA_2:53;
    then dom PA AddressParts InsCode (f:=<0,...,0>a) = {1,2} by Th42;
then A2: 2 in dom PA AddressParts InsCode (f:=<0,...,0>a) by TARSKI:def 2;
A3: AddressParts InsCode (f:=<0,...,0>a) = {AddressPart I where
      I is Instruction of SCM+FSA: InsCode I = InsCode (f:=<0,...,0>a)}
        by AMISTD_2:def 5;
    hereby
      let x be set;
      assume x in (PA AddressParts InsCode (f:=<0,...,0>a)).2;
      then x in pi
(AddressParts InsCode (f:=<0,...,0>a),2) by A2,AMISTD_2:def 1;
      then consider g being Function such that
A4:     g in AddressParts InsCode (f:=<0,...,0>a) and
A5:     g.2 = x by CARD_3:def 6;
      consider I being Instruction of SCM+FSA such that
A6:     g = AddressPart I and
A7:     InsCode I = InsCode (f:=<0,...,0>a) by A3,A4;
        InsCode I = 12 by A7,SCMFSA_2:53;
      then consider a, f such that
A8:     I = f:=<0,...,0>a by SCMFSA_2:65;
        x = <*a,f*>.2 by A5,A6,A8,Th29
       .= f by FINSEQ_1:61;
      hence x in SCM+FSA-Data*-Loc by SCMFSA_2:def 5;
    end;
    let x be set;
    assume x in SCM+FSA-Data*-Loc;
    then reconsider x as FinSeq-Location by SCMFSA_2:29;
A9: AddressPart (x:=<0,...,0>a) = <*a,x*> by Th29;
      InsCode (x:=<0,...,0>a) = InsCode (f:=<0,...,0>a) by A1,SCMFSA_2:53;
then A10: <*a,x*> in AddressParts InsCode (f:=<0,...,0>a) by A3,A9;
      <*a,x*>.2 = x by FINSEQ_1:61;
    then x in pi(AddressParts InsCode (f:=<0,...,0>a),2) by A10,CARD_3:def 6;
    hence thesis by A2,AMISTD_2:8;
  end;

Lm5:
for l being Instruction-Location of SCM+FSA,
    i being Instruction of SCM+FSA holds
  (for s being State of SCM+FSA st IC s = l & s.l = i
   holds Exec(i,s).IC SCM+FSA = Next IC s)
  implies NIC(i, l) = {Next l}
  proof
    let l be Instruction-Location of SCM+FSA,
        i be Instruction of SCM+FSA;
    assume
A1:   for s being State of SCM+FSA st IC s = l & s.l = i
        holds Exec(i, s).IC SCM+FSA = Next IC s;
    set X = {IC Following s where s is State of SCM+FSA: IC s = l & s.l = i};
A2: NIC(i,l) = X by AMISTD_1:def 5;
    hereby
      let x be set;
      assume x in NIC(i,l);
      then consider s being State of SCM+FSA such that
A3:     x = IC Following s & IC s = l & s.l = i by A2;
      x = (Following s).IC SCM+FSA by A3,AMI_1:def 15
       .= Exec(CurInstr s,s).IC SCM+FSA by AMI_1:def 18
       .= Exec(s.IC s,s).IC SCM+FSA by AMI_1:def 17
       .= Next l by A1,A3;
      hence x in {Next l} by TARSKI:def 1;
    end;
    let x be set;
    assume x in {Next l};
    then
A4: x = Next l by TARSKI:def 1;
    consider t being State of SCM+FSA;
    reconsider il1 = l as Element of ObjectKind IC SCM+FSA by AMI_1:def 11;
    reconsider I = i as Element of ObjectKind l by AMI_1:def 14;
    set u = t+*((IC SCM+FSA, l)-->(il1, I));
A5: IC u = l by AMI_6:6;
A6: u.l = i by AMI_6:6;
    IC Following u = Exec(u.IC u, u).IC SCM+FSA by AMI_6:6
    .= Next l by A1,A5,A6;
    hence thesis by A2,A4,A5,A6;
  end;

Lm6:
  for i being Instruction of SCM+FSA holds
  (for l being Instruction-Location of SCM+FSA holds NIC(i,l)={Next l})
  implies JUMP i is empty
  proof
    let i be Instruction of SCM+FSA;
    assume
A1:   for l being Instruction-Location of SCM+FSA holds NIC(i,l)={Next l};
    consider p, q being Element of the Instruction-Locations of SCM+FSA
     such that
A2:   p <> q by SCMFSA_1:def 3,SCMFSA_2:def 1,YELLOW_8:def 1;
    set X = { NIC(i,f) where f is Instruction-Location of SCM+FSA:
        not contradiction };
    assume not thesis;
    then meet X is non empty by AMISTD_1:def 6;
    then consider x being set such that
A3:   x in meet X by XBOOLE_0:def 1;
    NIC(i,p) = {Next p} & NIC(i,q) = {Next q} by A1;
    then {Next p} in X & {Next q} in X;
    then x in {Next p} & x in {Next q} by A3,SETFAM_1:def 1;
    then x = Next p & x = Next q by TARSKI:def 1;
    hence contradiction by A2,Th8;
  end;

theorem Th68:
 NIC(halt SCM+FSA, il) = {il}
proof
    now let x be set;
  A1: now assume
     A2: x = il;
       consider t being State of SCM+FSA;
        reconsider il1 = il as Element of ObjectKind IC SCM+FSA
          by AMI_1:def 11;
        reconsider I = halt SCM+FSA as Element of ObjectKind il
          by AMI_1:def 14;
        set u = t+*((IC SCM+FSA, il)-->(il1, I));
           dom ((IC SCM+FSA, il)-->(il1, I)) = {IC SCM+FSA, il} by FUNCT_4:65
;
     then A3: IC SCM+FSA in dom ((IC SCM+FSA, il)-->(il1, I)) by TARSKI:def 2;
     A4: IC SCM+FSA <> il by AMI_1:48;
     A5: u.il = halt SCM+FSA by AMI_6:6;
     A6: IC u = il by AMI_6:6;
           IC Following u = Exec(u.IC u, u).IC SCM+FSA by AMI_6:6
           .= u.IC SCM+FSA by A5,A6,AMI_1:def 8
           .= ((IC SCM+FSA, il)-->(il1, I)).IC SCM+FSA by A3,FUNCT_4:14
           .= il by A4,FUNCT_4:66;
      hence x in {IC Following s : IC s = il & s.il=halt SCM+FSA} by A2,A5,A6;
     end;
       now assume
           x in {IC Following s : IC s = il & s.il=halt SCM+FSA};
         then consider s being State of SCM+FSA such that
     A7: x = IC Following s & IC s = il & s.il = halt SCM+FSA;
      thus x = IC Exec(CurInstr s,s) by A7,AMI_1:def 18
           .= IC Exec(s.IC s, s) by AMI_1:def 17
           .= Exec(halt SCM+FSA, s).IC SCM+FSA by A7,AMI_1:def 15
           .= s.IC SCM+FSA by AMI_1:def 8
           .= il by A7,AMI_1:def 15;
     end;
    hence x in {il} iff x in {IC Following s : IC s = il & s.il=halt SCM+FSA}
       by A1,TARSKI:def 1;
  end;
  then {il} = { IC Following s : IC s = il & s.il = halt SCM+FSA } by TARSKI:2
;
 hence thesis by AMISTD_1:def 5;
end;

definition
 cluster JUMP halt SCM+FSA -> empty;
coherence
proof
 set X = { NIC(halt SCM+FSA, il) : not contradiction };
 assume not thesis;
   then meet X is non empty by AMISTD_1:def 6;
   then consider x being set such that
A1:   x in meet X by XBOOLE_0:def 1;
   set i1 = insloc 1, i2 = insloc 2;
     NIC(halt SCM+FSA, i1) in X & NIC(halt SCM+FSA, i2) in X;
   then {i1} in X & {i2} in X by Th68;
   then x in {i1} & x in {i2} by A1,SETFAM_1:def 1;
   then x = i1 & x = i2 by TARSKI:def 1;
 hence contradiction by SCMFSA_2:18;
end;
end;

theorem Th69:
 NIC(a := b, il) = {Next il}
proof
  set i = a:=b;
  for s being State of SCM+FSA st IC s = il & s.il = i
   holds Exec(i,s).IC SCM+FSA = Next IC s by SCMFSA_2:89;
  hence thesis by Lm5;
end;

definition let a, b;
 cluster JUMP (a := b) -> empty;
coherence
proof
  for l being Instruction-Location of SCM+FSA holds NIC(a:=b,l)={Next l}
    by Th69;
  hence thesis by Lm6;
end;
end;

theorem Th70:
 NIC(AddTo(a,b), il) = {Next il}
proof
  set i = AddTo(a,b);
  for s being State of SCM+FSA st IC s = il & s.il = i
   holds Exec(i,s).IC SCM+FSA = Next IC s by SCMFSA_2:90;
  hence thesis by Lm5;
end;

definition let a, b;
 cluster JUMP AddTo(a, b) -> empty;
coherence
proof
  for l being Instruction-Location of SCM+FSA holds NIC(AddTo(a,b),l)={Next l}
    by Th70;
  hence thesis by Lm6;
end;
end;

theorem Th71:
 NIC(SubFrom(a,b), il) = {Next il}
proof
  set i = SubFrom(a,b);
  for s being State of SCM+FSA st IC s = il & s.il = i
   holds Exec(i,s).IC SCM+FSA = Next IC s by SCMFSA_2:91;
  hence thesis by Lm5;
end;

definition let a, b;
 cluster JUMP SubFrom(a, b) -> empty;
coherence
proof
  for l being Instruction-Location of SCM+FSA holds
   NIC(SubFrom(a,b),l)={Next l} by Th71;
  hence thesis by Lm6;
end;
end;

theorem Th72:
 NIC(MultBy(a,b), il) = {Next il}
proof
  set i = MultBy(a,b);
  for s being State of SCM+FSA st IC s = il & s.il = i
   holds Exec(i,s).IC SCM+FSA = Next IC s by SCMFSA_2:92;
  hence thesis by Lm5;
end;

definition let a, b;
 cluster JUMP MultBy(a,b) -> empty;
coherence
proof
  for l being Instruction-Location of SCM+FSA holds NIC(MultBy(a,b),l)={Next l}
    by Th72;
  hence thesis by Lm6;
end;
end;

theorem Th73:
 NIC(Divide(a,b), il) = {Next il}
proof
  set i = Divide(a,b);
  for s being State of SCM+FSA st IC s = il & s.il = i
   holds Exec(i,s).IC SCM+FSA = Next IC s by SCMFSA_2:93;
  hence thesis by Lm5;
end;

definition let a, b;
 cluster JUMP Divide(a,b) -> empty;
coherence
proof
  for l being Instruction-Location of SCM+FSA holds NIC(Divide(a,b),l)={Next l}
    by Th73;
  hence thesis by Lm6;
end;
end;

theorem Th74:
 NIC(goto i1, il) = {i1}
proof
    now let x be set;
  A1: now assume
     A2: x = i1;
         consider t being State of SCM+FSA;
         reconsider il1 = il as Element of ObjectKind IC SCM+FSA
           by AMI_1:def 11;
         reconsider I = goto i1 as Element of ObjectKind il
           by AMI_1:def 14;
         set u = t+*((IC SCM+FSA, il)-->(il1, I));
     A3: IC u = il by AMI_6:6;
     A4: u.il = goto i1 by AMI_6:6;
           IC Following u = Exec(u.IC u, u).IC SCM+FSA by AMI_6:6
           .= i1 by A3,A4,SCMFSA_2:95;
      hence x in {IC Following s : IC s = il & s.il=goto i1} by A2,A3,A4;
     end;
       now assume
           x in {IC Following s : IC s = il & s.il=goto i1};
         then consider s being State of SCM+FSA such that
     A5: x = IC Following s & IC s = il & s.il = goto i1;
      thus x = IC Exec(CurInstr s,s) by A5,AMI_1:def 18
           .= IC Exec(s.IC s, s) by AMI_1:def 17
           .= Exec(s.IC s, s).IC SCM+FSA by AMI_1:def 15
           .= i1 by A5,SCMFSA_2:95;
     end;
    hence x in {i1} iff x in {IC Following s : IC s = il & s.il=goto i1}
       by A1,TARSKI:def 1;
  end;
  then {i1} = { IC Following s : IC s = il & s.il = goto i1 } by TARSKI:2;
 hence thesis by AMISTD_1:def 5;
end;

theorem Th75:
 JUMP goto i1 = {i1}
proof
set X = { NIC(goto i1, il) : not contradiction };
A1: JUMP (goto i1) = meet X by AMISTD_1:def 6;
   now
  let x be set;
  hereby assume
  A2: x in meet X;
      set il1 = insloc 1;
        NIC(goto i1, il1) in X;
     then x in NIC(goto i1, il1) by A2,SETFAM_1:def 1;
     hence x in {i1} by Th74;
  end;
  assume x in {i1};
  then A3: x = i1 by TARSKI:def 1;
A4:   NIC(goto i1, i1) in X;
        now let Y be set; assume Y in X;
         then consider il being Instruction-Location of SCM+FSA such that
      A5: Y = NIC(goto i1, il);
         NIC(goto i1, il) = {i1} by Th74;
       hence i1 in Y by A5,TARSKI:def 1;
      end;
  hence x in meet X by A3,A4,SETFAM_1:def 1;
 end;
 hence JUMP goto i1 = {i1} by A1,TARSKI:2;
end;

definition let i1;
 cluster JUMP goto i1 -> non empty trivial;
coherence
  proof
      JUMP goto i1 = {i1} by Th75;
    hence thesis;
  end;
end;

theorem Th76:
 NIC(a=0_goto i1, il) = {i1, Next il}
proof
   set F = {IC Following s : IC s = il & s.il= a=0_goto i1};
   hereby
 let x be set; assume
      x in NIC(a=0_goto i1, il);
    then x in F by AMISTD_1:def 5;
    then consider s being State of SCM+FSA such that
A1: x = IC Following s & IC s = il & s.il = a=0_goto i1;
A2: x = IC Exec(CurInstr s,s) by A1,AMI_1:def 18
     .= IC Exec(s.IC s, s) by AMI_1:def 17
     .= Exec(a=0_goto i1, s).IC SCM+FSA by A1,AMI_1:def 15;
  per cases;
  suppose s.a = 0;
    then x = i1 by A2,SCMFSA_2:96;
   hence x in {i1, Next il} by TARSKI:def 2;
  suppose s.a <> 0;
    then x = Next il by A1,A2,SCMFSA_2:96;
   hence x in {i1, Next il} by TARSKI:def 2;
   end;
   let x be set;
   assume
A3:   x in {i1, Next il};
   consider t being State of SCM+FSA;
   reconsider il1 = il as Element of ObjectKind IC SCM+FSA by AMI_1:def 11;
   reconsider I = a=0_goto i1 as Element of ObjectKind il by AMI_1:def 14;
   set u = t+*((IC SCM+FSA, il)-->(il1, I));
A4: a <> il by Th3;
A5: IC SCM+FSA <> a by SCMFSA_2:81;
   per cases by A3,TARSKI:def 2;
   suppose
A6:  x = i1;
   set v = u+*(a .--> 0);
   A7: dom (a .--> 0) = {a} by CQC_LANG:5;
   then A8: not IC SCM+FSA in dom (a .--> 0) by A5,TARSKI:def 1;
   A9: IC v = v.IC SCM+FSA by AMI_1:def 15
           .= u.IC SCM+FSA by A8,FUNCT_4:12
           .= IC u by AMI_1:def 15
           .= il by AMI_6:6;
   not il in dom (a .--> 0) by A4,A7,TARSKI:def 1;
   then A10: v.il = u.il by FUNCT_4:12
           .= I by AMI_6:6;
         a in dom (a .--> 0) by A7,TARSKI:def 1;
   then A11: v.a = (a .--> 0).a by FUNCT_4:14
          .= 0 by CQC_LANG:6;
         IC Following v = IC Exec(CurInstr v, v) by AMI_1:def 18
           .= IC Exec(v.IC v, v) by AMI_1:def 17
           .= Exec(v.IC v, v).IC SCM+FSA by AMI_1:def 15
           .= i1 by A9,A10,A11,SCMFSA_2:96;
   then i1 in F by A9,A10;
   hence thesis by A6,AMISTD_1:def 5;
   suppose
A12:  x = Next il;
   set v = u+*(a .--> 1);
   A13: dom (a .--> 1) = {a} by CQC_LANG:5;
   then A14: not IC SCM+FSA in dom (a .--> 1) by A5,TARSKI:def 1;
   A15: IC v = v.IC SCM+FSA by AMI_1:def 15
           .= u.IC SCM+FSA by A14,FUNCT_4:12
           .= IC u by AMI_1:def 15
           .= il by AMI_6:6;
   not il in dom (a .--> 1) by A4,A13,TARSKI:def 1;
   then A16: v.il = u.il by FUNCT_4:12
           .= I by AMI_6:6;
         a in dom (a .--> 1) by A13,TARSKI:def 1;
   then A17: v.a = (a .--> 1).a by FUNCT_4:14
          .= 1 by CQC_LANG:6;
         IC Following v = IC Exec(CurInstr v, v) by AMI_1:def 18
           .= IC Exec(v.IC v, v) by AMI_1:def 17
           .= Exec(v.IC v, v).IC SCM+FSA by AMI_1:def 15
           .= Next il by A15,A16,A17,SCMFSA_2:96;
   then Next il in F by A15,A16;
   hence thesis by A12,AMISTD_1:def 5;
end;

theorem Th77:
 JUMP (a=0_goto i1) = {i1}
proof
set X = { NIC(a=0_goto i1, il) : not contradiction };
A1: JUMP (a=0_goto i1) = meet X by AMISTD_1:def 6;
   now
  let x be set;
  hereby assume
  A2: x in meet X;
      set il1 = insloc 1, il2 = insloc 2;
        NIC(a=0_goto i1, il1) in X & NIC(a=0_goto i1, il2) in X;
  then A3: x in NIC(a=0_goto i1, il1) & x in NIC(a=0_goto i1, il2)
       by A2,SETFAM_1:def 1;
        NIC(a=0_goto i1, il1) = {i1, Next il1} &
      NIC(a=0_goto i1, il2) = {i1, Next il2} by Th76;
  then A4: (x = i1 or x = Next il1) & (x = i1 or x = Next il2) by A3,TARSKI:def
2;
        il1 <> il2 by SCMFSA_2:18;
   hence x in {i1} by A4,Th8,TARSKI:def 1;
  end;
  assume x in {i1};
  then A5: x = i1 by TARSKI:def 1;
A6:   NIC(a=0_goto i1, i1) in X;
        now let Y be set; assume Y in X;
         then consider il being Instruction-Location of SCM+FSA such that
A7:          Y = NIC(a=0_goto i1, il);
        NIC(a=0_goto i1, il) = {i1, Next il} by Th76;
        hence i1 in Y by A7,TARSKI:def 2;
      end;
  hence x in meet X by A5,A6,SETFAM_1:def 1;
 end;
 hence JUMP (a=0_goto i1) = {i1} by A1,TARSKI:2;
end;

definition let a, i1;
 cluster JUMP (a =0_goto i1) -> non empty trivial;
coherence
  proof
      JUMP (a =0_goto i1) = {i1} by Th77;
    hence thesis;
  end;
end;

theorem Th78:
  NIC(a>0_goto i1, il) = {i1, Next il}
proof
   set F = {IC Following s : IC s = il & s.il= a>0_goto i1};
   hereby
 let x be set; assume
      x in NIC(a>0_goto i1, il);
    then x in F by AMISTD_1:def 5;
    then consider s being State of SCM+FSA such that
A1: x = IC Following s & IC s = il & s.il = a>0_goto i1;
A2: x = IC Exec(CurInstr s,s) by A1,AMI_1:def 18
     .= IC Exec(s.IC s, s) by AMI_1:def 17
     .= Exec(a>0_goto i1, s).IC SCM+FSA by A1,AMI_1:def 15;
  per cases;
  suppose s.a > 0;
    then x = i1 by A2,SCMFSA_2:97;
   hence x in {i1, Next il} by TARSKI:def 2;
  suppose s.a <= 0;
    then x = Next il by A1,A2,SCMFSA_2:97;
   hence x in {i1, Next il} by TARSKI:def 2;
   end;
   let x be set;
   assume
A3:   x in {i1, Next il};
   consider t being State of SCM+FSA;
   reconsider il1 = il as Element of ObjectKind IC SCM+FSA by AMI_1:def 11;
   reconsider I = a>0_goto i1 as Element of ObjectKind il by AMI_1:def 14;
   set u = t+*((IC SCM+FSA, il)-->(il1, I));
A4: a <> il by Th3;
A5: IC SCM+FSA <> a by SCMFSA_2:81;
   per cases by A3,TARSKI:def 2;
   suppose
A6:  x = i1;
   set v = u+*(a .--> 1);
   A7: dom (a .--> 1) = {a} by CQC_LANG:5;
   then
   A8: not IC SCM+FSA in dom (a .--> 1) by A5,TARSKI:def 1;
   A9: IC v = v.IC SCM+FSA by AMI_1:def 15
           .= u.IC SCM+FSA by A8,FUNCT_4:12
           .= IC u by AMI_1:def 15
           .= il by AMI_6:6;
     not il in dom (a .--> 1) by A4,A7,TARSKI:def 1;
   then A10: v.il = u.il by FUNCT_4:12
           .= I by AMI_6:6;
         a in dom (a .--> 1) by A7,TARSKI:def 1;
   then A11: v.a = (a .--> 1).a by FUNCT_4:14
          .= 1 by CQC_LANG:6;
         IC Following v = IC Exec(CurInstr v, v) by AMI_1:def 18
           .= IC Exec(v.IC v, v) by AMI_1:def 17
           .= Exec(v.IC v, v).IC SCM+FSA by AMI_1:def 15
           .= i1 by A9,A10,A11,SCMFSA_2:97;
   then i1 in F by A9,A10;
 hence thesis by A6,AMISTD_1:def 5;
   suppose
A12:  x = Next il;
   set v = u+*(a .--> 0);
   A13: dom (a .--> 0) = {a} by CQC_LANG:5;
   then
   A14: not IC SCM+FSA in dom (a .--> 0) by A5,TARSKI:def 1;
   A15: IC v = v.IC SCM+FSA by AMI_1:def 15
           .= u.IC SCM+FSA by A14,FUNCT_4:12
           .= IC u by AMI_1:def 15
           .= il by AMI_6:6;
      not il in dom (a .--> 0) by A4,A13,TARSKI:def 1;
   then A16: v.il = u.il by FUNCT_4:12
           .= I by AMI_6:6;
         a in dom (a .--> 0) by A13,TARSKI:def 1;
   then A17: v.a = (a .--> 0).a by FUNCT_4:14
          .= 0 by CQC_LANG:6;
         IC Following v = IC Exec(CurInstr v, v) by AMI_1:def 18
           .= IC Exec(v.IC v, v) by AMI_1:def 17
           .= Exec(v.IC v, v).IC SCM+FSA by AMI_1:def 15
           .= Next il by A15,A16,A17,SCMFSA_2:97;
   then Next il in F by A15,A16;
 hence thesis by A12,AMISTD_1:def 5;
end;

theorem Th79:
 JUMP (a>0_goto i1) = {i1}
proof
set X = { NIC(a>0_goto i1, il) : not contradiction };
A1: JUMP (a>0_goto i1) = meet X by AMISTD_1:def 6;
   now
  let x be set;
  hereby assume
  A2: x in meet X;
      set il1 = insloc 1, il2 = insloc 2;
        NIC(a>0_goto i1, il1) in X & NIC(a>0_goto i1, il2) in X;
  then A3: x in NIC(a>0_goto i1, il1) & x in NIC(a>0_goto i1, il2)
       by A2,SETFAM_1:def 1;
        NIC(a>0_goto i1, il1) = {i1, Next il1} &
      NIC(a>0_goto i1, il2) = {i1, Next il2} by Th78;
  then A4: (x = i1 or x = Next il1) & (x = i1 or x = Next il2) by A3,TARSKI:def
2;
        il1 <> il2 by SCMFSA_2:18;
   hence x in {i1} by A4,Th8,TARSKI:def 1;
  end;
  assume x in {i1};
  then A5: x = i1 by TARSKI:def 1;
A6:   NIC(a>0_goto i1, i1) in X;
        now let Y be set; assume Y in X;
         then consider il being Instruction-Location of SCM+FSA such that
A7:        Y = NIC(a>0_goto i1, il);
        NIC(a>0_goto i1, il) = {i1, Next il} by Th78;
        hence i1 in Y by A7,TARSKI:def 2;
      end;
  hence x in meet X by A5,A6,SETFAM_1:def 1;
 end;
 hence JUMP (a>0_goto i1) = {i1} by A1,TARSKI:2;
end;

definition let a, i1;
 cluster JUMP (a >0_goto i1) -> non empty trivial;
coherence
  proof
      JUMP (a >0_goto i1) = {i1} by Th79;
    hence thesis;
  end;
end;

theorem Th80:
 NIC(a:=(f,b), il) = {Next il}
proof
  set i = a:=(f,b);
  for s being State of SCM+FSA st IC s = il & s.il = i
   holds Exec(i,s).IC SCM+FSA = Next IC s by SCMFSA_2:98;
  hence thesis by Lm5;
end;

definition let a, b, f;
 cluster JUMP (a:=(f,b)) -> empty;
coherence
proof
  for l being Instruction-Location of SCM+FSA holds NIC(a:=(f,b),l)={Next l}
    by Th80;
  hence thesis by Lm6;
end;
end;

theorem Th81:
 NIC((f,b):=a, il) = {Next il}
proof
  set i = (f,b):=a;
  for s being State of SCM+FSA st IC s = il & s.il = i
   holds Exec(i,s).IC SCM+FSA = Next IC s by SCMFSA_2:99;
  hence thesis by Lm5;
end;

definition let a, b, f;
 cluster JUMP ((f,b):=a) -> empty;
coherence
proof
  for l being Instruction-Location of SCM+FSA holds NIC((f,b):=a,l)={Next l}
    by Th81;
  hence thesis by Lm6;
end;
end;

theorem Th82:
 NIC(a:=len f, il) = {Next il}
proof
  set i = a:=len f;
  for s being State of SCM+FSA st IC s = il & s.il = i
   holds Exec(i,s).IC SCM+FSA = Next IC s by SCMFSA_2:100;
  hence thesis by Lm5;
end;

definition let a, f;
 cluster JUMP (a:=len f) -> empty;
coherence
proof
  for l being Instruction-Location of SCM+FSA holds NIC(a:=len f,l)={Next l}
    by Th82;
  hence thesis by Lm6;
end;
end;

theorem Th83:
 NIC(f:=<0,...,0>a, il) = {Next il}
proof
  set i = f:=<0,...,0>a;
  for s being State of SCM+FSA st IC s = il & s.il = i
   holds Exec(i,s).IC SCM+FSA = Next IC s by SCMFSA_2:101;
  hence thesis by Lm5;
end;

definition let a, f;
 cluster JUMP (f:=<0,...,0>a) -> empty;
coherence
proof
  for l being Instruction-Location of SCM+FSA holds
   NIC(f:=<0,...,0>a,l)={Next l} by Th83;
  hence thesis by Lm6;
end;
end;

theorem Th84:
 SUCC il = {il, Next il}
proof
   set X = { NIC(I, il) \ JUMP I where
    I is Element of the Instructions of SCM+FSA: not contradiction };
   set N = {il, Next il};
    now let x be set;
   hereby assume x in union X; then consider Y being set such that
   A1: x in Y & Y in X by TARSKI:def 4;
     consider i being Element of the Instructions of SCM+FSA such that
   A2: Y = NIC(i, il) \ JUMP i by A1;
    per cases by SCMFSA_2:120;
    suppose i = [0,{}];
      then x in {il} \ JUMP halt SCM+FSA by A1,A2,Th68,AMI_3:71,SCMFSA_2:123;
      then x = il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
    suppose ex a,b st i = a:=b; then consider a, b such that
    A4: i = a:=b;
        x in {Next il} \ JUMP (a:=b) by A1,A2,A4,Th69;
      then x = Next il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
    suppose ex a,b st i = AddTo(a,b); then consider a, b such that
    A5: i = AddTo(a,b);
        x in {Next il} \ JUMP AddTo(a,b) by A1,A2,A5,Th70;
      then x = Next il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
    suppose ex a,b st i = SubFrom(a,b); then consider a, b such that
    A6: i = SubFrom(a,b);
        x in {Next il} \ JUMP SubFrom(a,b) by A1,A2,A6,Th71;
      then x = Next il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
    suppose ex a,b st i = MultBy(a,b); then consider a, b such that
    A7: i = MultBy(a,b);
        x in {Next il} \ JUMP MultBy(a,b) by A1,A2,A7,Th72;
      then x = Next il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
    suppose ex a,b st i = Divide(a,b); then consider a, b such that
    A8: i = Divide(a,b);
        x in {Next il} \ JUMP Divide(a,b) by A1,A2,A8,Th73;
      then x = Next il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
    suppose ex i1 st i = goto i1; then consider i1 such that
    A9: i = goto i1;
        x in {i1} \ JUMP i by A1,A2,A9,Th74;
      then x in {i1} \ {i1} by A9,Th75;
     hence x in N by XBOOLE_1:37;
    suppose ex i1,a st i = a=0_goto i1; then consider i1, a such that
    A10:  i = a=0_goto i1;
          x in NIC(i, il) \ {i1} by A1,A2,A10,Th77;
    then A11: x in NIC(i, il) & not x in {i1} by XBOOLE_0:def 4;
          NIC(i, il) = {i1, Next il} by A10,Th76;
        then x = i1 or x = Next il by A11,TARSKI:def 2;
     hence x in N by A11,TARSKI:def 1,def 2;
    suppose ex i1,a st i = a>0_goto i1; then consider i1, a such that
    A12:  i = a>0_goto i1;
          x in NIC(i, il) \ {i1} by A1,A2,A12,Th79;
    then A13: x in NIC(i, il) & not x in {i1} by XBOOLE_0:def 4;
          NIC(i, il) = {i1, Next il} by A12,Th78;
        then x = i1 or x = Next il by A13,TARSKI:def 2;
     hence x in N by A13,TARSKI:def 1,def 2;
    suppose ex a,b,f st i = b:=(f,a); then consider a, b, f such that
    A14: i = b:=(f,a);
        x in {Next il} \ JUMP (b:=(f,a)) by A1,A2,A14,Th80;
      then x = Next il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
    suppose ex a,b,f st i = (f,a):=b; then consider a, b, f such that
    A15: i = (f,a):=b;
        x in {Next il} \ JUMP ((f,a):=b) by A1,A2,A15,Th81;
      then x = Next il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
    suppose ex a,f st i = a:=len f; then consider a, f such that
    A16: i = a:=len f;
        x in {Next il} \ JUMP (a:=len f) by A1,A2,A16,Th82;
      then x = Next il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
    suppose ex a,f st i = f:=<0,...,0>a; then consider a, f such that
    A17: i = f:=<0,...,0>a;
        x in {Next il} \ JUMP (f:=<0,...,0>a) by A1,A2,A17,Th83;
      then x = Next il by TARSKI:def 1;
     hence x in N by TARSKI:def 2;
   end;
   assume A18: x in {il, Next il};
   per cases by A18,TARSKI:def 2;
   suppose A19: x = il;
     set i = halt SCM+FSA;
       NIC(i, il) \ JUMP i = {il} by Th68;
     then x in {il} & {il} in X by A19,TARSKI:def 1;
    hence x in union X by TARSKI:def 4;
   suppose A20: x = Next il;
    consider a, b being Int-Location;
    set i = AddTo(a,b);
      NIC(i, il) \ JUMP i = {Next il} by Th70;
     then x in {Next il} & {Next il} in X by A20,TARSKI:def 1;
    hence x in union X by TARSKI:def 4;
  end;
  then union X = {il, Next il} by TARSKI:2;
 hence SUCC il = {il, Next il} by AMISTD_1:def 7;
end;

theorem Th85:
 for f being Function of NAT, the Instruction-Locations of SCM+FSA
   st for k being Nat holds f.k = insloc k holds
  f is bijective &
  for k being Nat holds f.(k+1) in SUCC (f.k) &
   for j being Nat st f.j in SUCC (f.k) holds k <= j
  proof
    let f be Function of NAT, the Instruction-Locations of SCM+FSA such that
A1:   for k being Nat holds f.k = insloc k;
   thus
A2:   f is bijective
   proof
    thus f is one-to-one
    proof let x1, x2 be set such that
  A3: x1 in dom f & x2 in dom f and
  A4: f.x1 = f.x2;
      reconsider k1 = x1, k2 = x2 as Nat by A3,FUNCT_2:def 1;
        f.k1 = insloc k1 & f.k2 = insloc k2 by A1;
      hence x1 = x2 by A4,SCMFSA_2:18;
    end;
    thus f is onto
    proof
     thus rng f c= the Instruction-Locations of SCM+FSA by RELSET_1:12;
     thus the Instruction-Locations of SCM+FSA c= rng f proof
     let x be set; assume x in the Instruction-Locations of SCM+FSA;
      then consider i being Nat such that
    A5: x = insloc i by SCMFSA_2:21;
          dom f = NAT by FUNCT_2:def 1;
        then insloc i = f.i & i in dom f by A1;
    hence x in rng f by A5,FUNCT_1:def 5;
   end;
  end;
  end;
 let k be Nat;
   A6: SUCC (f.k) = {f.k, Next (f.k)} by Th84;
   A7: f.(k+1) = insloc (k+1) & f.k = insloc k by A1;
   A8: f.(k+1) = insloc (k+1) by A1
              .= Next insloc k by SCMFSA_2:32;
    hence f.(k+1) in SUCC (f.k) by A6,A7,TARSKI:def 2;
    let j be Nat;
    assume
 A9:  f.j in SUCC (f.k);
   A10: f is one-to-one by A2,FUNCT_2:def 4;
   A11: dom f = NAT by FUNCT_2:def 1;
     per cases by A6,A9,TARSKI:def 2;
     suppose f.j = f.k;
      hence k <= j by A10,A11,FUNCT_1:def 8;
     suppose f.j = Next (f.k);
         then j = k+1 by A7,A8,A10,A11,FUNCT_1:def 8;
      hence k <= j by NAT_1:29;
   end;

definition
 cluster SCM+FSA -> standard;
coherence
  proof deffunc U(Element of NAT) = insloc $1;
    consider f being Function of NAT, the Instruction-Locations of SCM+FSA
       such that
A1:   for k being Nat holds f.k = U(k) from LambdaD;
      f is bijective &
     for k being Nat holds f.(k+1) in SUCC (f.k) &
      for j being Nat st f.j in SUCC (f.k) holds k <= j by A1,Th85;
    hence SCM+FSA is standard by AMISTD_1:19;
  end;
end;

theorem Th86:
 il.(SCM+FSA,k) = insloc k
  proof deffunc U(Element of NAT) = insloc $1;
    consider f being Function of NAT, the Instruction-Locations of SCM+FSA
      such that
A1:   for k being Nat holds f.k = U(k) from LambdaD;
A2:  f is bijective by A1,Th85;
A3:  for k being Nat holds f.(k+1) in SUCC (f.k) &
      for j being Nat st f.j in SUCC (f.k) holds k <= j by A1,Th85;
      ex f being Function of NAT, the Instruction-Locations of SCM+FSA st
     f is bijective &
     (for m, n being Nat holds m <= n iff f.m <= f.n) &
     insloc k = f.k
    proof
      take f;
      thus f is bijective by A1,Th85;
      thus for m, n being Nat holds m <= n iff f.m <= f.n by A2,A3,AMISTD_1:18
;
        k is Nat by ORDINAL2:def 21;
      hence thesis by A1;
    end;
    hence thesis by AMISTD_1:def 12;
  end;

theorem Th87:
 Next il.(SCM+FSA,k) = il.(SCM+FSA,k+1)
  proof
    thus Next il.(SCM+FSA,k) = Next insloc k by Th86
      .= insloc (k+1) by SCMFSA_2:32
      .= il.(SCM+FSA,k+1) by Th86;
  end;

theorem Th88:
 Next il = NextLoc il
  proof
      Next il = il.(SCM+FSA,locnum il + 1)
    proof
        Next il.(SCM+FSA,locnum il) = il.(SCM+FSA,locnum il+1) by Th87;
      hence thesis by AMISTD_1:def 13;
    end;
    hence thesis by AMISTD_1:34;
  end;

definition
 cluster InsCode halt SCM+FSA -> jump-only;
coherence
  proof
    let s be State of SCM+FSA, o be Object of SCM+FSA,
        I be Instruction of SCM+FSA;
    assume that
A1:   InsCode I = InsCode halt SCM+FSA and o <> IC SCM+FSA;
      I = halt SCM+FSA by A1,SCMFSA_2:122,124;
    hence Exec(I, s).o = s.o by AMI_1:def 8;
  end;
end;

definition
 cluster halt SCM+FSA -> jump-only;
coherence
  proof
    thus InsCode halt SCM+FSA is jump-only;
  end;
end;

definition let i1;
 cluster InsCode goto i1 -> jump-only;
coherence
  proof
    let s be State of S, o be Object of S, I be Instruction of S;
    assume that
A1:    InsCode I = InsCode goto i1 and
A2:    o <> IC S;
      InsCode goto i1 = 6 by SCMFSA_2:47;
    then consider i2 such that
A3:    I = goto i2 by A1,SCMFSA_2:59;
    per cases by A2,Th7;
    suppose o in the Instruction-Locations of S;
    hence Exec(I, s).o = s.o by AMI_1:def 13;
    suppose o is Int-Location;
    hence Exec(I, s).o = s.o by A3,SCMFSA_2:95;
    suppose o is FinSeq-Location;
    hence Exec(I, s).o = s.o by A3,SCMFSA_2:95;
  end;
end;

definition let i1;
 cluster goto i1 -> jump-only non sequential non ins-loc-free;
coherence
  proof
    thus InsCode goto i1 is jump-only;
    thus goto i1 is non sequential
    proof
        JUMP goto i1 <> {};
      hence thesis by AMISTD_1:43;
    end;
    take 1;
      dom AddressPart goto i1 = dom <*i1*> by Th23
      .= {1} by FINSEQ_1:4,def 8;
    hence 1 in dom AddressPart goto i1 by TARSKI:def 1;
    thus thesis by Th53;
  end;
end;

definition let a, i1;
 cluster InsCode (a =0_goto i1) -> jump-only;
coherence
  proof
    let s be State of S, o be Object of S, I be Instruction of S;
    assume that
A1:    InsCode I = InsCode (a =0_goto i1) and
A2:    o <> IC S;
      InsCode (a =0_goto i1) = 7 by SCMFSA_2:48;
    then consider i2, b such that
A3:    I = b =0_goto i2 by A1,SCMFSA_2:60;
    per cases by A2,Th7;
    suppose o in the Instruction-Locations of S;
    hence Exec(I, s).o = s.o by AMI_1:def 13;
    suppose o is Int-Location;
    hence Exec(I, s).o = s.o by A3,SCMFSA_2:96;
    suppose o is FinSeq-Location;
    hence Exec(I, s).o = s.o by A3,SCMFSA_2:96;
  end;

 cluster InsCode (a >0_goto i1) -> jump-only;
coherence
  proof
    let s be State of S, o be Object of S, I be Instruction of S;
    assume that
A4:    InsCode I = InsCode (a >0_goto i1) and
A5:    o <> IC S;
      InsCode (a >0_goto i1) = 8 by SCMFSA_2:49;
    then consider i2, b such that
A6:    I = b >0_goto i2 by A4,SCMFSA_2:61;
    per cases by A5,Th7;
    suppose o in the Instruction-Locations of S;
    hence Exec(I, s).o = s.o by AMI_1:def 13;
    suppose o is Int-Location;
    hence Exec(I, s).o = s.o by A6,SCMFSA_2:97;
    suppose o is FinSeq-Location;
    hence Exec(I, s).o = s.o by A6,SCMFSA_2:97;
  end;
end;

definition let a, i1;
 cluster a =0_goto i1 -> jump-only non sequential non ins-loc-free;
coherence
  proof
    thus InsCode (a =0_goto i1) is jump-only;
    thus a =0_goto i1 is non sequential
    proof
        JUMP (a =0_goto i1) <> {};
      hence thesis by AMISTD_1:43;
    end;
    take 1;
      dom AddressPart (a =0_goto i1) = dom <*i1,a*> by Th24
      .= {1,2} by FINSEQ_1:4,FINSEQ_3:29;
    hence 1 in dom AddressPart (a =0_goto i1) by TARSKI:def 2;
    thus thesis by Th54;
  end;

 cluster a >0_goto i1 -> jump-only non sequential non ins-loc-free;
coherence
  proof
    thus InsCode (a >0_goto i1) is jump-only;
    thus a >0_goto i1 is non sequential
    proof
        JUMP (a >0_goto i1) <> {};
      hence thesis by AMISTD_1:43;
    end;
    take 1;
      dom AddressPart (a >0_goto i1) = dom <*i1,a*> by Th25
      .= {1,2} by FINSEQ_1:4,FINSEQ_3:29;
    hence 1 in dom AddressPart (a >0_goto i1) by TARSKI:def 2;
    thus thesis by Th56;
  end;
end;

consider w being State of SCM+FSA;
set t = w+*((intloc 0, intloc 1)-->(0,1));

definition let a, b;
 cluster InsCode (a:=b) -> non jump-only;
coherence
proof
A1: InsCode (a:=b) = 1 by SCMFSA_2:42
    .= InsCode (intloc 0:=intloc 1) by SCMFSA_2:42;
A2: intloc 0 <> IC SCM+FSA by SCMFSA_2:81;
     dom ((intloc 0, intloc 1)-->(0,1)) = {intloc 0, intloc 1} by FUNCT_4:65
;
then A3: intloc 0 in dom ((intloc 0, intloc 1)-->(0,1)) &
   intloc 1 in dom ((intloc 0, intloc 1)-->(0,1)) by TARSKI:def 2;
A4: intloc 0 <> intloc 1 by SCMFSA_2:16;
A5: t.intloc 0 = (intloc 0, intloc 1)-->(0,1).intloc 0 by A3,FUNCT_4:14
          .= 0 by A4,FUNCT_4:66;
     Exec((intloc 0:=intloc 1), t).intloc 0
    = t.intloc 1 by SCMFSA_2:89
   .= (intloc 0, intloc 1)-->(0,1).intloc 1 by A3,FUNCT_4:14
   .= 1 by A4,FUNCT_4:66;
  hence thesis by A1,A2,A5,AMISTD_1:def 3;
end;

 cluster InsCode AddTo(a,b) -> non jump-only;
coherence
proof
A6: InsCode AddTo(a,b) = 2 by SCMFSA_2:43
    .= InsCode AddTo(intloc 0, intloc 1) by SCMFSA_2:43;
A7: intloc 0 <> IC SCM+FSA by SCMFSA_2:81;
     dom ((intloc 0, intloc 1)-->(0,1)) = {intloc 0, intloc 1} by FUNCT_4:65
;
then A8: intloc 0 in dom ((intloc 0, intloc 1)-->(0,1)) &
   intloc 1 in dom ((intloc 0, intloc 1)-->(0,1)) by TARSKI:def 2;
A9: intloc 0 <> intloc 1 by SCMFSA_2:16;
A10: t.intloc 0 = (intloc 0, intloc 1)-->(0,1).intloc 0 by A8,FUNCT_4:14
             .= 0 by A9,FUNCT_4:66;
A11: t.intloc 1 = (intloc 0, intloc 1)-->(0,1).intloc 1 by A8,FUNCT_4:14
             .= 1 by A9,FUNCT_4:66;
     Exec(AddTo(intloc 0, intloc 1), t).intloc 0
    = t.intloc 0 + t.intloc 1 by SCMFSA_2:90
   .= 1 by A10,A11;
  hence thesis by A6,A7,A10,AMISTD_1:def 3;
end;

 cluster InsCode SubFrom(a,b) -> non jump-only;
coherence
proof
A12: InsCode SubFrom(a,b) = 3 by SCMFSA_2:44
    .= InsCode SubFrom(intloc 0, intloc 1) by SCMFSA_2:44;
A13: intloc 0 <> IC SCM+FSA by SCMFSA_2:81;
     dom ((intloc 0, intloc 1)-->(0,1)) = {intloc 0, intloc 1} by FUNCT_4:65
;
then A14: intloc 0 in dom ((intloc 0, intloc 1)-->(0,1)) &
   intloc 1 in dom ((intloc 0, intloc 1)-->(0,1)) by TARSKI:def 2;
A15: intloc 0 <> intloc 1 by SCMFSA_2:16;
A16: t.intloc 0 = (intloc 0, intloc 1)-->(0,1).intloc 0 by A14,FUNCT_4:14
          .= 0 by A15,FUNCT_4:66;
A17: t.intloc 1 = (intloc 0, intloc 1)-->(0,1).intloc 1 by A14,FUNCT_4:14
          .= 1 by A15,FUNCT_4:66;
      Exec(SubFrom(intloc 0, intloc 1), t).intloc 0
    = t.intloc 0 - t.intloc 1 by SCMFSA_2:91
   .= -1 by A16,A17;
  hence thesis by A12,A13,A16,AMISTD_1:def 3;
end;

 cluster InsCode MultBy(a,b) -> non jump-only;
coherence
proof
   set t = w+*((intloc 0, intloc 1)-->(1,0));
A18: InsCode MultBy(a,b) = 4 by SCMFSA_2:45
    .= InsCode MultBy(intloc 0, intloc 1) by SCMFSA_2:45;
A19:  intloc 0 <> IC SCM+FSA by SCMFSA_2:81;
      dom ((intloc 0, intloc 1)-->(1,0)) = {intloc 0, intloc 1} by FUNCT_4:65;
     then A20: intloc 0 in dom ((intloc 0, intloc 1)-->(1,0)) &
   intloc 1 in dom ((intloc 0, intloc 1)-->(1,0)) by TARSKI:def 2;
A21: intloc 0 <> intloc 1 by SCMFSA_2:16;
A22: t.intloc 0 = (intloc 0, intloc 1)-->(1,0).intloc 0 by A20,FUNCT_4:14
             .= 1 by A21,FUNCT_4:66;
A23: t.intloc 1 = (intloc 0, intloc 1)-->(1,0).intloc 1 by A20,FUNCT_4:14
             .= 0 by A21,FUNCT_4:66;
     Exec(MultBy(intloc 0, intloc 1), t).intloc 0
    = t.intloc 0 * t.intloc 1 by SCMFSA_2:92
   .= 0 by A23;
  hence thesis by A18,A19,A22,AMISTD_1:def 3;
end;

 cluster InsCode Divide(a,b) -> non jump-only;
coherence
proof
   set t = w+*((intloc 0, intloc 1)-->(7,3));
A24: InsCode Divide(a,b) = 5 by SCMFSA_2:46
    .= InsCode Divide(intloc 0, intloc 1) by SCMFSA_2:46;
A25:  intloc 0 <> IC SCM+FSA by SCMFSA_2:81;
      dom ((intloc 0, intloc 1)-->(7,3)) = {intloc 0, intloc 1} by FUNCT_4:65
;
then A26: intloc 0 in dom ((intloc 0, intloc 1)-->(7,3)) &
   intloc 1 in dom ((intloc 0, intloc 1)-->(7,3)) by TARSKI:def 2;
A27: intloc 0 <> intloc 1 by SCMFSA_2:16;
A28: t.intloc 0 = (intloc 0, intloc 1)-->(7,3).intloc 0 by A26,FUNCT_4:14
          .= 7 by A27,FUNCT_4:66;
A29: t.intloc 1 = (intloc 0, intloc 1)-->(7,3).intloc 1 by A26,FUNCT_4:14
          .= 3 by A27,FUNCT_4:66;
A30: 7 = 2 * 3 + 1;
     Exec(Divide(intloc 0, intloc 1), t).intloc 0
    = 7 div (3 qua Integer) by A27,A28,A29,SCMFSA_2:93
   .= 7 div (3 qua Nat) by SCMFSA9A:5
   .= 2 by A30,NAT_1:def 1;
  hence thesis by A24,A25,A28,AMISTD_1:def 3;
end;
end;

definition let a, b;
 cluster a:=b -> non jump-only sequential;
coherence
  proof
    thus InsCode (a:=b) is not jump-only;
    let s be State of SCM+FSA;
      Next IC s = NextLoc IC s by Th88;
    hence thesis by SCMFSA_2:89;
  end;

 cluster AddTo(a,b) -> non jump-only sequential;
coherence
  proof
    thus InsCode AddTo(a,b) is not jump-only;
    let s be State of SCM+FSA;
      Next IC s = NextLoc IC s by Th88;
    hence thesis by SCMFSA_2:90;
  end;

 cluster SubFrom(a,b) -> non jump-only sequential;
coherence
  proof
    thus InsCode SubFrom(a,b) is not jump-only;
    let s be State of SCM+FSA;
      Next IC s = NextLoc IC s by Th88;
    hence thesis by SCMFSA_2:91;
  end;

 cluster MultBy(a,b) -> non jump-only sequential;
coherence
  proof
    thus InsCode MultBy(a,b) is not jump-only;
    let s be State of SCM+FSA;
      Next IC s = NextLoc IC s by Th88;
    hence thesis by SCMFSA_2:92;
  end;

 cluster Divide(a,b) -> non jump-only sequential;
coherence
  proof
    thus InsCode Divide(a,b) is not jump-only;
    let s be State of SCM+FSA;
      Next IC s = NextLoc IC s by Th88;
    hence thesis by SCMFSA_2:93;
  end;
end;

reconsider DWA = 2 as Element of INT by INT_1:def 1;

definition let a, b, f;
 cluster InsCode (b:=(f,a)) -> non jump-only;
coherence
proof
     <*DWA*> in INT* by FINSEQ_1:def 11;
   then reconsider F = <*2*> as Element of ObjectKind fsloc 0 by SCMFSA_2:27;
     ObjectKind intloc 0 = INT by SCMFSA_2:26;
   then reconsider D = 1 as Element of ObjectKind intloc 0 by INT_1:def 1;
     ObjectKind intloc 1 = INT by SCMFSA_2:26;
   then reconsider E = 1 as Element of ObjectKind intloc 1 by INT_1:def 1;
   set t = w+*(fsloc 0 .--> F)+*(intloc 0 .--> D)+*(intloc 1 .--> E);
A1: InsCode (b:=(f,a)) = 9 by SCMFSA_2:50
    .= InsCode ((intloc 0):=(fsloc 0, intloc 1)) by SCMFSA_2:50;
A2: intloc 0 <> IC SCM+FSA by SCMFSA_2:81;
      fsloc 0 <> intloc 0 & fsloc 0 <> intloc 1 by SCMFSA_2:83;
then A3: t.fsloc 0 = F by Th1;
      intloc 0 <> intloc 1 by SCMFSA_2:16;
then A4: t.intloc 0 = D by BVFUNC14:15;
A5: t.intloc 1 = E by YELLOW14:3;
    consider k being Nat such that
A6:   k = abs( t.intloc 1 ) and
A7:   Exec((intloc 0):=(fsloc 0, intloc 1), t).intloc 0 = (t.fsloc 0) /. k
        by SCMFSA_2:98;
A8: k = 1 by A5,A6,ABSVALUE:def 1;
      dom (t.fsloc 0) = {1} by A3,FINSEQ_1:4,def 8;
then 1 in dom (t.fsloc 0) by TARSKI:def 1;
    then Exec(intloc 0:=(fsloc 0, intloc 1), t).intloc 0
     = (t.fsloc 0).1 by A7,A8,FINSEQ_4:def 4
    .= 2 by A3,FINSEQ_1:def 8;
  hence thesis by A1,A2,A4,AMISTD_1:def 3;
end;

 cluster InsCode ((f,a):=b) -> non jump-only;
coherence
proof
     <*DWA*> in INT* by FINSEQ_1:def 11;
   then reconsider F = <*2*> as Element of ObjectKind fsloc 0 by SCMFSA_2:27;
     ObjectKind intloc 0 = INT by SCMFSA_2:26;
   then reconsider D = 1 as Element of ObjectKind intloc 0 by INT_1:def 1;
     ObjectKind intloc 1 = INT by SCMFSA_2:26;
   then reconsider E = 1 as Element of ObjectKind intloc 1 by INT_1:def 1;
   set t = w+*(fsloc 0 .--> F)+*(intloc 0 .--> D)+*(intloc 1 .--> E);
A9: InsCode ((f,a):=b) = 10 by SCMFSA_2:51
    .= InsCode ((fsloc 0, intloc 1):=(intloc 0)) by SCMFSA_2:51;
A10: fsloc 0 <> IC SCM+FSA by SCMFSA_2:82;
      fsloc 0 <> intloc 0 & fsloc 0 <> intloc 1 by SCMFSA_2:83;
then A11: t.fsloc 0 = F by Th1;
      intloc 0 <> intloc 1 by SCMFSA_2:16;
then A12: t.intloc 0 = D by BVFUNC14:15;
A13: t.intloc 1 = E by YELLOW14:3;
    consider k being Nat such that
A14:   k = abs( t.intloc 1 ) and
A15:   Exec((fsloc 0, intloc 1):=(intloc 0), t).fsloc 0 =
       (t.fsloc 0) +* (k,t.intloc 0)
        by SCMFSA_2:99;
A16: k = 1 by A13,A14,ABSVALUE:def 1;
A17: F <> <*D*> by GROUP_7:1;
      Exec((fsloc 0, intloc 1):=intloc 0, t).fsloc 0 = <*D*>
     by A11,A12,A15,A16,Th2;
  hence thesis by A9,A10,A11,A17,AMISTD_1:def 3;
end;
end;

definition let a, b, f;
 cluster b:=(f,a) -> non jump-only sequential;
coherence
  proof
    thus InsCode (b:=(f,a)) is not jump-only;
    let s be State of SCM+FSA;
      Next IC s = NextLoc IC s by Th88;
    hence thesis by SCMFSA_2:98;
  end;

 cluster (f,a):=b -> non jump-only sequential;
coherence
  proof
    thus InsCode ((f,a):=b) is not jump-only;
    let s be State of SCM+FSA;
      Next IC s = NextLoc IC s by Th88;
    hence thesis by SCMFSA_2:99;
  end;
end;

definition let a, f;
 cluster InsCode (a:=len f) -> non jump-only;
coherence
proof
     <*DWA*> in INT* by FINSEQ_1:def 11;
   then reconsider F = <*2*> as Element of ObjectKind fsloc 0 by SCMFSA_2:27;
     ObjectKind intloc 0 = INT by SCMFSA_2:26;
   then reconsider D = 3 as Element of ObjectKind intloc 0 by INT_1:def 1;
   set t = w+*(fsloc 0 .--> F)+*(intloc 0 .--> D);
A1: InsCode (a:=len f) = 11 by SCMFSA_2:52
    .= InsCode (intloc 0:=len fsloc 0) by SCMFSA_2:52;
A2: intloc 0 <> IC SCM+FSA by SCMFSA_2:81;
      fsloc 0 <> intloc 0 by SCMFSA_2:83;
then A3: t.fsloc 0 = F by BVFUNC14:15;
A4: t.intloc 0 = D by YELLOW14:3;
      Exec(intloc 0 :=len fsloc 0, t).intloc 0
     = len (t.fsloc 0) by SCMFSA_2:100
    .= 1 by A3,FINSEQ_1:56;
  hence thesis by A1,A2,A4,AMISTD_1:def 3;
end;

 cluster InsCode (f:=<0,...,0>a) -> non jump-only;
coherence
proof
     <*DWA*> in INT* by FINSEQ_1:def 11;
   then reconsider F = <*2*> as Element of ObjectKind fsloc 0 by SCMFSA_2:27;
     ObjectKind intloc 0 = INT by SCMFSA_2:26;
   then reconsider D = 1 as Element of ObjectKind intloc 0 by INT_1:def 1;
   set t = w+*(fsloc 0 .--> F)+*(intloc 0 .--> D);
A5: InsCode (f:=<0,...,0>a) = 12 by SCMFSA_2:53
    .= InsCode (fsloc 0:=<0,...,0>intloc 0) by SCMFSA_2:53;
A6: fsloc 0 <> IC SCM+FSA by SCMFSA_2:82;
      fsloc 0 <> intloc 0 by SCMFSA_2:83;
then A7: t.fsloc 0 = F by BVFUNC14:15;
A8: t.intloc 0 = D by YELLOW14:3;
    consider k being Nat such that
A9:   k = abs( t.intloc 0 ) and
A10:   Exec(fsloc 0:=<0,...,0>intloc 0, t).fsloc 0 = k |-> 0 by SCMFSA_2:101;
A11: k = 1 by A8,A9,ABSVALUE:def 1;
A12: F <> <*0*> by GROUP_7:1;
      Exec(fsloc 0:=<0,...,0>intloc 0, t).fsloc 0
     = <*0*> by A10,A11,FINSEQ_2:73;
  hence thesis by A5,A6,A7,A12,AMISTD_1:def 3;
end;
end;

definition let a, f;
 cluster a:=len f -> non jump-only sequential;
coherence
  proof
    thus InsCode (a:=len f) is not jump-only;
    let s be State of SCM+FSA;
      Next IC s = NextLoc IC s by Th88;
    hence thesis by SCMFSA_2:100;
  end;

 cluster f:=<0,...,0>a -> non jump-only sequential;
coherence
  proof
    thus InsCode (f:=<0,...,0>a) is not jump-only;
    let s be State of SCM+FSA;
      Next IC s = NextLoc IC s by Th88;
    hence thesis by SCMFSA_2:101;
  end;
end;

definition
 cluster SCM+FSA -> homogeneous with_explicit_jumps without_implicit_jumps;
coherence
  proof
    thus SCM+FSA is homogeneous
    proof
      let I, J be Instruction of SCM+FSA such that
A1:     InsCode I = InsCode J;
A2:   J = [0,{}] or
      (ex a,b st J = a:=b) or
      (ex a,b st J = AddTo(a,b)) or
      (ex a,b st J = SubFrom(a,b)) or
      (ex a,b st J = MultBy(a,b)) or
      (ex a,b st J = Divide(a,b)) or
      (ex i1 st J = goto i1) or
      (ex i1,a st J = a=0_goto i1) or
      (ex i1,a st J = a>0_goto i1) or
      (ex b,a,f st J = a:=(f,b)) or
      (ex a,b,f st J = (f,a):=b) or
      (ex a,f st J = a:=len f) or
      ex a,f st J = f:=<0,...,0>a by SCMFSA_2:120;
      per cases by SCMFSA_2:120;
      suppose I = [0,{}];
      hence thesis by A1,A2,AMI_3:71,SCMFSA_2:42,43,44,45,46,47,48,49,50,51,52,
53,123,124;
      suppose ex a,b st I = a:=b;
      then consider a, b such that
A3:     I = a:=b;
A4:   InsCode I = 1 by A3,SCMFSA_2:42;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A3,AMI_3:71,SCMFSA_2:42,123,124;
        suppose ex a,b st J = a:=b;
        then consider d1, d2 such that
A5:       J = d1:=d2;
        thus dom AddressPart I = dom <*a,b*> by A3,Th18
          .= Seg 2 by FINSEQ_3:29
          .= dom <*d1,d2*> by FINSEQ_3:29
          .= dom AddressPart J by A5,Th18;
        suppose (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex b,a,f st J = a:=(f,b)) or
                (ex a,b,f st J = (f,a):=b) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A4,SCMFSA_2:43,44,45,46,47,48,49,50,51,52,53;
      end;
      hence thesis;
      suppose ex a,b st I = AddTo(a,b);
      then consider a, b such that
A6:     I = AddTo(a,b);
A7:   InsCode I = 2 by A6,SCMFSA_2:43;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A6,AMI_3:71,SCMFSA_2:43,123,124;
        suppose ex a,b st J = AddTo(a,b);
        then consider d1, d2 such that
A8:       J = AddTo(d1,d2);
        thus dom AddressPart I = dom <*a,b*> by A6,Th19
          .= Seg 2 by FINSEQ_3:29
          .= dom <*d1,d2*> by FINSEQ_3:29
          .= dom AddressPart J by A8,Th19;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex b,a,f st J = a:=(f,b)) or
                (ex a,b,f st J = (f,a):=b) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A7,SCMFSA_2:42,44,45,46,47,48,49,50,51,52,53;
      end;
      hence thesis;
      suppose ex a,b st I = SubFrom(a,b);
      then consider a, b such that
A9:     I = SubFrom(a,b);
A10:   InsCode I = 3 by A9,SCMFSA_2:44;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A9,AMI_3:71,SCMFSA_2:44,123,124;
        suppose ex a,b st J = SubFrom(a,b);
        then consider d1, d2 such that
A11:       J = SubFrom(d1,d2);
        thus dom AddressPart I = dom <*a,b*> by A9,Th20
          .= Seg 2 by FINSEQ_3:29
          .= dom <*d1,d2*> by FINSEQ_3:29
          .= dom AddressPart J by A11,Th20;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex b,a,f st J = a:=(f,b)) or
                (ex a,b,f st J = (f,a):=b) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A10,SCMFSA_2:42,43,45,46,47,48,49,50,51,52,53;
      end;
      hence thesis;
      suppose ex a,b st I = MultBy(a,b);
      then consider a, b such that
A12:     I = MultBy(a,b);
A13:   InsCode I = 4 by A12,SCMFSA_2:45;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A12,AMI_3:71,SCMFSA_2:45,123,124;
        suppose ex a,b st J = MultBy(a,b);
        then consider d1, d2 such that
A14:       J = MultBy(d1,d2);
        thus dom AddressPart I = dom <*a,b*> by A12,Th21
          .= Seg 2 by FINSEQ_3:29
          .= dom <*d1,d2*> by FINSEQ_3:29
          .= dom AddressPart J by A14,Th21;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex b,a,f st J = a:=(f,b)) or
                (ex a,b,f st J = (f,a):=b) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A13,SCMFSA_2:42,43,44,46,47,48,49,50,51,52,53;
      end;
      hence thesis;
      suppose ex a,b st I = Divide(a,b);
      then consider a, b such that
A15:     I = Divide(a,b);
A16:   InsCode I = 5 by A15,SCMFSA_2:46;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A15,AMI_3:71,SCMFSA_2:46,123,124;
        suppose ex a,b st J = Divide(a,b);
        then consider d1, d2 such that
A17:       J = Divide(d1,d2);
        thus dom AddressPart I = dom <*a,b*> by A15,Th22
          .= Seg 2 by FINSEQ_3:29
          .= dom <*d1,d2*> by FINSEQ_3:29
          .= dom AddressPart J by A17,Th22;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex b,a,f st J = a:=(f,b)) or
                (ex a,b,f st J = (f,a):=b) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A16,SCMFSA_2:42,43,44,45,47,48,49,50,51,52,53;
      end;
      hence thesis;
      suppose ex i1 st I = goto i1;
      then consider i1 such that
A18:     I = goto i1;
A19:   InsCode I = 6 by A18,SCMFSA_2:47;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A18,AMI_3:71,SCMFSA_2:47,123,124;
        suppose ex i2 st J = goto i2;
        then consider i2 such that
A20:       J = goto i2;
        thus dom AddressPart I = dom <*i1*> by A18,Th23
          .= Seg 1 by FINSEQ_1:def 8
          .= dom <*i2*> by FINSEQ_1:def 8
          .= dom AddressPart J by A20,Th23;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex b,a,f st J = a:=(f,b)) or
                (ex a,b,f st J = (f,a):=b) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A19,SCMFSA_2:42,43,44,45,46,48,49,50,51,52,53;
      end;
      hence thesis;
      suppose ex i1,a st I = a=0_goto i1;
      then consider a, i1 such that
A21:     I = a=0_goto i1;
A22:   InsCode I = 7 by A21,SCMFSA_2:48;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A21,AMI_3:71,SCMFSA_2:48,123,124;
        suppose ex i2,d1 st J = d1 =0_goto i2;
        then consider d1, i2 such that
A23:       J = d1 =0_goto i2;
        thus dom AddressPart I = dom <*i1,a*> by A21,Th24
          .= Seg 2 by FINSEQ_3:29
          .= dom <*i2,d1*> by FINSEQ_3:29
          .= dom AddressPart J by A23,Th24;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex b,a,f st J = a:=(f,b)) or
                (ex a,b,f st J = (f,a):=b) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A22,SCMFSA_2:42,43,44,45,46,47,49,50,51,52,53;
      end;
      hence thesis;
      suppose ex i1,a st I = a>0_goto i1;
      then consider a, i1 such that
A24:     I = a>0_goto i1;
A25:   InsCode I = 8 by A24,SCMFSA_2:49;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A24,AMI_3:71,SCMFSA_2:49,123,124;
        suppose ex i2,d1 st J = d1 >0_goto i2;
        then consider d1, i2 such that
A26:       J = d1 >0_goto i2;
        thus dom AddressPart I = dom <*i1,a*> by A24,Th25
          .= Seg 2 by FINSEQ_3:29
          .= dom <*i2,d1*> by FINSEQ_3:29
          .= dom AddressPart J by A26,Th25;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex b,a,f st J = a:=(f,b)) or
                (ex a,b,f st J = (f,a):=b) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A25,SCMFSA_2:42,43,44,45,46,47,48,50,51,52,53;
      end;
      hence thesis;
      suppose ex a,b,f st I = b:=(f,a);
      then consider a, b, f such that
A27:     I = b:=(f,a);
A28:   InsCode I = 9 by A27,SCMFSA_2:50;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A27,AMI_3:71,SCMFSA_2:50,123,124;
        suppose ex a,b,f st J = b:=(f,a);
        then consider d1, d2, f1 such that
A29:       J = d2:=(f1,d1);
        thus dom AddressPart I = dom <*b,f,a*> by A27,Th26
          .= Seg 3 by FINSEQ_3:30
          .= dom <*d2,f1,d1*> by FINSEQ_3:30
          .= dom AddressPart J by A29,Th26;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex a,b,f st J = (f,a):=b) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A28,SCMFSA_2:42,43,44,45,46,47,48,49,51,52,53;
      end;
      hence thesis;
      suppose ex a,b,f st I = (f,a):=b;
      then consider a, b, f such that
A30:     I = (f,a):=b;
A31:   InsCode I = 10 by A30,SCMFSA_2:51;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A30,AMI_3:71,SCMFSA_2:51,123,124;
        suppose ex a,b,f st J = (f,a):=b;
        then consider d1, d2, f1 such that
A32:       J = (f1,d1):=d2;
        thus dom AddressPart I = dom <*b,f,a*> by A30,Th27
          .= Seg 3 by FINSEQ_3:30
          .= dom <*d2,f1,d1*> by FINSEQ_3:30
          .= dom AddressPart J by A32,Th27;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex a,b,f st J = b:=(f,a)) or
                (ex a,f st J = a:=len f) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A31,SCMFSA_2:42,43,44,45,46,47,48,49,50,52,53;
      end;
      hence thesis;
      suppose ex a,f st I = a:=len f;
      then consider a, f such that
A33:     I = a:=len f;
A34:   InsCode I = 11 by A33,SCMFSA_2:52;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A33,AMI_3:71,SCMFSA_2:52,123,124;
        suppose ex a,f st J = a:=len f;
        then consider d1, f1 such that
A35:       J = d1:=len f1;
        thus dom AddressPart I = dom <*a,f*> by A33,Th28
          .= Seg 2 by FINSEQ_3:29
          .= dom <*d1,f1*> by FINSEQ_3:29
          .= dom AddressPart J by A35,Th28;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex a,b,f st J = b:=(f,a)) or
                (ex a,b,f st J = (f,a):=b) or
                 ex a,f st J = f:=<0,...,0>a;
        hence dom AddressPart I = dom AddressPart J
          by A1,A34,SCMFSA_2:42,43,44,45,46,47,48,49,50,51,53;
      end;
      hence thesis;
      suppose ex a,f st I = f:=<0,...,0>a;
      then consider a, f such that
A36:     I = f:=<0,...,0>a;
A37:   InsCode I = 12 by A36,SCMFSA_2:53;
        now per cases by SCMFSA_2:120;
        suppose J = [0,{}];
        hence dom AddressPart I = dom AddressPart J
          by A1,A36,AMI_3:71,SCMFSA_2:53,123,124;
        suppose ex a,f st J = f:=<0,...,0>a;
        then consider d1, f1 such that
A38:       J = f1:=<0,...,0>d1;
        thus dom AddressPart I = dom <*a,f*> by A36,Th29
          .= Seg 2 by FINSEQ_3:29
          .= dom <*d1,f1*> by FINSEQ_3:29
          .= dom AddressPart J by A38,Th29;
        suppose (ex a,b st J = a:=b) or
                (ex a,b st J = AddTo(a,b)) or
                (ex a,b st J = SubFrom(a,b)) or
                (ex a,b st J = MultBy(a,b)) or
                (ex a,b st J = Divide(a,b)) or
                (ex i1 st J = goto i1) or
                (ex i1,a st J = a=0_goto i1) or
                (ex i1,a st J = a>0_goto i1) or
                (ex a,b,f st J = b:=(f,a)) or
                (ex a,b,f st J = (f,a):=b) or
                 ex a,f st J = a:=len f;
        hence dom AddressPart I = dom AddressPart J
          by A1,A37,SCMFSA_2:42,43,44,45,46,47,48,49,50,51,52;
      end;
      hence thesis;
    end;

    thus SCM+FSA is with_explicit_jumps
    proof
      let I be Instruction of SCM+FSA;
      let f be set such that
A39:     f in JUMP I;
      per cases by SCMFSA_2:120;
      suppose
A40:     I = [0,{}];
        JUMP halt SCM+FSA is empty;
      hence thesis by A39,A40,AMI_3:71,SCMFSA_2:123;
      suppose ex a,b st I = a:=b;
      then consider a, b such that
A41:     I = a:=b;
        JUMP (a:=b) is empty;
      hence thesis by A39,A41;
      suppose ex a,b st I = AddTo(a,b);
      then consider a, b such that
A42:     I = AddTo(a,b);
        JUMP AddTo(a,b) is empty;
      hence thesis by A39,A42;
      suppose ex a,b st I = SubFrom(a,b);
      then consider a, b such that
A43:     I = SubFrom(a,b);
        JUMP SubFrom(a,b) is empty;
      hence thesis by A39,A43;
      suppose ex a,b st I = MultBy(a,b);
      then consider a, b such that
A44:     I = MultBy(a,b);
        JUMP MultBy(a,b) is empty;
      hence thesis by A39,A44;
      suppose ex a,b st I = Divide(a,b);
      then consider a, b such that
A45:     I = Divide(a,b);
        JUMP Divide(a,b) is empty;
      hence thesis by A39,A45;
      suppose ex i1 st I = goto i1;
      then consider i1 such that
A46:     I = goto i1;
        JUMP goto i1 = {i1} by Th75;
then A47:   f = i1 by A39,A46,TARSKI:def 1;
      take 1;
A48:   AddressPart goto i1 = <*i1*> by Th23;
        dom <*i1*> = Seg 1 by FINSEQ_1:def 8;
      hence 1 in dom AddressPart I by A46,A48,FINSEQ_1:4,TARSKI:def 1;
      thus f = (AddressPart I).1 &
       (PA AddressParts InsCode I).1 = the Instruction-Locations of SCM+FSA
        by A46,A47,A48,Th53,FINSEQ_1:def 8;
      suppose ex i1,a st I = a=0_goto i1;
      then consider a, i1 such that
A49:     I = a=0_goto i1;
        JUMP (a=0_goto i1) = {i1} by Th77;
then A50:   f = i1 by A39,A49,TARSKI:def 1;
      take 1;
A51:   AddressPart (a=0_goto i1) = <*i1,a*> by Th24;
        dom <*i1,a*> = Seg 2 by FINSEQ_3:29;
      hence 1 in dom AddressPart I by A49,A51,FINSEQ_1:4,TARSKI:def 2;
      thus f = (AddressPart I).1 &
       (PA AddressParts InsCode I).1 = the Instruction-Locations of SCM+FSA
        by A49,A50,A51,Th54,FINSEQ_1:61;
      suppose ex i1,a st I = a>0_goto i1;
      then consider a, i1 such that
A52:     I = a>0_goto i1;
        JUMP (a>0_goto i1) = {i1} by Th79;
then A53:   f = i1 by A39,A52,TARSKI:def 1;
      take 1;
A54:   AddressPart (a>0_goto i1) = <*i1,a*> by Th25;
        dom <*i1,a*> = Seg 2 by FINSEQ_3:29;
      hence 1 in dom AddressPart I by A52,A54,FINSEQ_1:4,TARSKI:def 2;
      thus f = (AddressPart I).1 &
       (PA AddressParts InsCode I).1 = the Instruction-Locations of SCM+FSA
        by A52,A53,A54,Th56,FINSEQ_1:61;
      suppose ex a,b,f st I = b:=(f,a);
      then consider a, b, f such that
A55:     I = b:=(f,a);
        JUMP (b:=(f,a)) is empty;
      hence thesis by A39,A55;
      suppose ex a,b,f st I = (f,a):=b;
      then consider a, b, f such that
A56:     I = (f,a):=b;
        JUMP ((f,a):=b) is empty;
      hence thesis by A39,A56;
      suppose ex a,f st I = a:=len f;
      then consider a, f such that
A57:     I = a:=len f;
        JUMP (a:=len f) is empty;
      hence thesis by A39,A57;
      suppose ex a,f st I = f:=<0,...,0>a;
      then consider a, f such that
A58:     I = f:=<0,...,0>a;
        JUMP (f:=<0,...,0>a) is empty;
      hence thesis by A39,A58;
    end;

    let I be Instruction of SCM+FSA;
    let f be set;
    given k being set such that
A59:   k in dom AddressPart I and
A60:   f = (AddressPart I).k and
A61:   (PA AddressParts InsCode I).k = the Instruction-Locations of SCM+FSA;
    per cases by SCMFSA_2:120;
    suppose I = [0,{}];
    then dom AddressPart I = dom {} by Th17,AMI_3:71,SCMFSA_2:123;
    hence thesis by A59;
    suppose ex a,b st I = a:=b;
    then consider a, b such that
A62:   I = a:=b;
      k in dom <*a,b*> by A59,A62,Th18;
    then k = 1 or k = 2 by Lm2;
    hence thesis by A61,A62,Th5,Th43,Th44;
    suppose ex a,b st I = AddTo(a,b);
    then consider a, b such that
A63:   I = AddTo(a,b);
      k in dom <*a,b*> by A59,A63,Th19;
    then k = 1 or k = 2 by Lm2;
    hence thesis by A61,A63,Th5,Th45,Th46;
    suppose ex a,b st I = SubFrom(a,b);
    then consider a, b such that
A64:   I = SubFrom(a,b);
      k in dom <*a,b*> by A59,A64,Th20;
    then k = 1 or k = 2 by Lm2;
    hence thesis by A61,A64,Th5,Th47,Th48;
    suppose ex a,b st I = MultBy(a,b);
    then consider a, b such that
A65:   I = MultBy(a,b);
      k in dom <*a,b*> by A59,A65,Th21;
    then k = 1 or k = 2 by Lm2;
    hence thesis by A61,A65,Th5,Th49,Th50;
    suppose ex a,b st I = Divide(a,b);
    then consider a, b such that
A66:   I = Divide(a,b);
      k in dom <*a,b*> by A59,A66,Th22;
    then k = 1 or k = 2 by Lm2;
    hence thesis by A61,A66,Th5,Th51,Th52;
    suppose ex i1 st I = goto i1;
    then consider i1 such that
A67:   I = goto i1;
A68: AddressPart I = <*i1*> by A67,Th23;
    then k = 1 by A59,Lm1;
then A69: f = i1 by A60,A68,FINSEQ_1:def 8;
      JUMP I = {i1} by A67,Th75;
    hence thesis by A69,TARSKI:def 1;
    suppose ex i1,a st I = a=0_goto i1;
    then consider a, i1 such that
A70:   I = a=0_goto i1;
A71: AddressPart I = <*i1,a*> by A70,Th24;
    then k = 1 or k = 2 by A59,Lm2;
then A72: f = i1 by A60,A61,A70,A71,Th5,Th55,FINSEQ_1:61;
      JUMP I = {i1} by A70,Th77;
    hence thesis by A72,TARSKI:def 1;
    suppose ex i1,a st I = a>0_goto i1;
    then consider a, i1 such that
A73:   I = a>0_goto i1;
A74: AddressPart I = <*i1,a*> by A73,Th25;
    then k = 1 or k = 2 by A59,Lm2;
then A75: f = i1 by A60,A61,A73,A74,Th5,Th57,FINSEQ_1:61;
      JUMP I = {i1} by A73,Th79;
    hence thesis by A75,TARSKI:def 1;
    suppose ex a,b,f st I = b:=(f,a);
    then consider a, b, f such that
A76:   I = b:=(f,a);
      k in dom <*b,f,a*> by A59,A76,Th26;
    then k = 1 or k = 2 or k = 3 by Lm3;
    hence thesis by A61,A76,Th5,Th6,Th58,Th59,Th60;
    suppose ex a,b,f st I = (f,a):=b;
    then consider a, b, f such that
A77:   I = (f,a):=b;
      k in dom <*b,f,a*> by A59,A77,Th27;
    then k = 1 or k = 2 or k = 3 by Lm3;
    hence thesis by A61,A77,Th5,Th6,Th61,Th62,Th63;
    suppose ex a,f st I = a:=len f;
    then consider a, f such that
A78:   I = a:=len f;
      k in dom <*a,f*> by A59,A78,Th28;
    then k = 1 or k = 2 by Lm2;
    hence thesis by A61,A78,Th5,Th6,Th64,Th65;
    suppose ex a,f st I = f:=<0,...,0>a;
    then consider a, f such that
A79:   I = f:=<0,...,0>a;
      k in dom <*a,f*> by A59,A79,Th29;
    then k = 1 or k = 2 by Lm2;
    hence thesis by A61,A79,Th5,Th6,Th66,Th67;
  end;
end;

definition
 cluster SCM+FSA -> regular;
coherence
  proof
    let T be InsType of SCM+FSA;
A1: AddressParts T =
      { AddressPart I where I is Instruction of SCM+FSA: InsCode I = T }
        by AMISTD_2:def 5;
    per cases by Lm4;
    suppose
A2:   T = 0;
    reconsider f = {} as Function;
    take f;
    thus thesis by A2,Th30,CARD_3:19;

    suppose
A3:   T = 1;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A4:   x = f and
A5:   dom f = dom PA AddressParts T and
A6:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A7: dom PA AddressParts T = {1,2} by A3,Th31;
then A8: 1 in dom PA AddressParts T by TARSKI:def 2;
    then f.1 in (PA AddressParts T).1 by A6;
    then f.1 in pi(AddressParts T,1) by A8,AMISTD_2:def 1;
    then consider g being Function such that
A9:   g in AddressParts T and
A10:   g.1 = f.1 by CARD_3:def 6;
A11: 2 in dom PA AddressParts T by A7,TARSKI:def 2;
    then f.2 in (PA AddressParts T).2 by A6;
    then f.2 in pi(AddressParts T,2) by A11,AMISTD_2:def 1;
    then consider h being Function such that
A12:   h in AddressParts T and
A13:   h.2 = f.2 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A14:   g = AddressPart I and
A15:   InsCode I = T by A1,A9;
    consider d1, b such that
A16:   I = d1:=b by A3,A15,SCMFSA_2:54;
A17: g = <*d1,b*> by A14,A16,Th18;
    consider J being Instruction of SCM+FSA such that
A18:   h = AddressPart J and
A19:   InsCode J = T by A1,A12;
    consider a, d2 such that
A20:   J = a:=d2 by A3,A19,SCMFSA_2:54;
A21: h = <*a,d2*> by A18,A20,Th18;
A22: dom <*d1,d2*> = {1,2} by FINSEQ_1:4,FINSEQ_3:29;
      for k being set st k in {1,2} holds <*d1,d2*>.k = f.k
    proof
      let k be set;
      assume
A23:     k in {1,2};
      per cases by A23,TARSKI:def 2;
      suppose
A24:     k = 1;
        <*d1,d2*>.1 = d1 by FINSEQ_1:61
        .= f.1 by A10,A17,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A24;
      suppose
A25:     k = 2;
        <*d1,d2*>.2 = d2 by FINSEQ_1:61
        .= f.2 by A13,A21,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A25;
    end;
then A26: <*d1,d2*> = f by A5,A7,A22,FUNCT_1:9;
      InsCode (d1:=d2) = 1 & AddressPart (d1:=d2) = <*d1,d2*>
      by Th18,SCMFSA_2:42;
    hence thesis by A1,A3,A4,A26;

    suppose
A27:   T = 2;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A28:   x = f and
A29:   dom f = dom PA AddressParts T and
A30:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A31: dom PA AddressParts T = {1,2} by A27,Th32;
then A32: 1 in dom PA AddressParts T by TARSKI:def 2;
    then f.1 in (PA AddressParts T).1 by A30;
    then f.1 in pi(AddressParts T,1) by A32,AMISTD_2:def 1;
    then consider g being Function such that
A33:   g in AddressParts T and
A34:   g.1 = f.1 by CARD_3:def 6;
A35: 2 in dom PA AddressParts T by A31,TARSKI:def 2;
    then f.2 in (PA AddressParts T).2 by A30;
    then f.2 in pi(AddressParts T,2) by A35,AMISTD_2:def 1;
    then consider h being Function such that
A36:   h in AddressParts T and
A37:   h.2 = f.2 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A38:   g = AddressPart I and
A39:   InsCode I = T by A1,A33;
    consider d1, b such that
A40:   I = AddTo(d1,b) by A27,A39,SCMFSA_2:55;
A41: g = <*d1,b*> by A38,A40,Th19;
    consider J being Instruction of SCM+FSA such that
A42:   h = AddressPart J and
A43:   InsCode J = T by A1,A36;
    consider a, d2 such that
A44:   J = AddTo(a,d2) by A27,A43,SCMFSA_2:55;
A45: h = <*a,d2*> by A42,A44,Th19;
A46: dom <*d1,d2*> = {1,2} by FINSEQ_1:4,FINSEQ_3:29;
      for k being set st k in {1,2} holds <*d1,d2*>.k = f.k
    proof
      let k be set;
      assume
A47:     k in {1,2};
      per cases by A47,TARSKI:def 2;
      suppose
A48:     k = 1;
        <*d1,d2*>.1 = d1 by FINSEQ_1:61
        .= f.1 by A34,A41,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A48;
      suppose
A49:     k = 2;
        <*d1,d2*>.2 = d2 by FINSEQ_1:61
        .= f.2 by A37,A45,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A49;
    end;
then A50: <*d1,d2*> = f by A29,A31,A46,FUNCT_1:9;
      InsCode AddTo(d1,d2) = 2 & AddressPart AddTo(d1,d2) = <*d1,d2*>
      by Th19,SCMFSA_2:43;
    hence thesis by A1,A27,A28,A50;

    suppose
A51:   T = 3;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A52:   x = f and
A53:   dom f = dom PA AddressParts T and
A54:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A55: dom PA AddressParts T = {1,2} by A51,Th33;
then A56: 1 in dom PA AddressParts T by TARSKI:def 2;
    then f.1 in (PA AddressParts T).1 by A54;
    then f.1 in pi(AddressParts T,1) by A56,AMISTD_2:def 1;
    then consider g being Function such that
A57:   g in AddressParts T and
A58:   g.1 = f.1 by CARD_3:def 6;
A59: 2 in dom PA AddressParts T by A55,TARSKI:def 2;
    then f.2 in (PA AddressParts T).2 by A54;
    then f.2 in pi(AddressParts T,2) by A59,AMISTD_2:def 1;
    then consider h being Function such that
A60:   h in AddressParts T and
A61:   h.2 = f.2 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A62:   g = AddressPart I and
A63:   InsCode I = T by A1,A57;
    consider d1, b such that
A64:   I = SubFrom(d1,b) by A51,A63,SCMFSA_2:56;
A65: g = <*d1,b*> by A62,A64,Th20;
    consider J being Instruction of SCM+FSA such that
A66:   h = AddressPart J and
A67:   InsCode J = T by A1,A60;
    consider a, d2 such that
A68:   J = SubFrom(a,d2) by A51,A67,SCMFSA_2:56;
A69: h = <*a,d2*> by A66,A68,Th20;
A70: dom <*d1,d2*> = {1,2} by FINSEQ_1:4,FINSEQ_3:29;
      for k being set st k in {1,2} holds <*d1,d2*>.k = f.k
    proof
      let k be set;
      assume
A71:     k in {1,2};
      per cases by A71,TARSKI:def 2;
      suppose
A72:     k = 1;
        <*d1,d2*>.1 = d1 by FINSEQ_1:61
        .= f.1 by A58,A65,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A72;
      suppose
A73:     k = 2;
        <*d1,d2*>.2 = d2 by FINSEQ_1:61
        .= f.2 by A61,A69,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A73;
    end;
then A74: <*d1,d2*> = f by A53,A55,A70,FUNCT_1:9;
      InsCode SubFrom(d1,d2) = 3 & AddressPart SubFrom(d1,d2) = <*d1,d2*>
      by Th20,SCMFSA_2:44;
    hence thesis by A1,A51,A52,A74;

    suppose
A75:   T = 4;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A76:   x = f and
A77:   dom f = dom PA AddressParts T and
A78:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A79: dom PA AddressParts T = {1,2} by A75,Th34;
then A80: 1 in dom PA AddressParts T by TARSKI:def 2;
    then f.1 in (PA AddressParts T).1 by A78;
    then f.1 in pi(AddressParts T,1) by A80,AMISTD_2:def 1;
    then consider g being Function such that
A81:   g in AddressParts T and
A82:   g.1 = f.1 by CARD_3:def 6;
A83: 2 in dom PA AddressParts T by A79,TARSKI:def 2;
    then f.2 in (PA AddressParts T).2 by A78;
    then f.2 in pi(AddressParts T,2) by A83,AMISTD_2:def 1;
    then consider h being Function such that
A84:   h in AddressParts T and
A85:   h.2 = f.2 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A86:   g = AddressPart I and
A87:   InsCode I = T by A1,A81;
    consider d1, b such that
A88:   I = MultBy(d1,b) by A75,A87,SCMFSA_2:57;
A89: g = <*d1,b*> by A86,A88,Th21;
    consider J being Instruction of SCM+FSA such that
A90:   h = AddressPart J and
A91:   InsCode J = T by A1,A84;
    consider a, d2 such that
A92:   J = MultBy(a,d2) by A75,A91,SCMFSA_2:57;
A93: h = <*a,d2*> by A90,A92,Th21;
A94: dom <*d1,d2*> = {1,2} by FINSEQ_1:4,FINSEQ_3:29;
      for k being set st k in {1,2} holds <*d1,d2*>.k = f.k
    proof
      let k be set;
      assume
A95:     k in {1,2};
      per cases by A95,TARSKI:def 2;
      suppose
A96:     k = 1;
        <*d1,d2*>.1 = d1 by FINSEQ_1:61
        .= f.1 by A82,A89,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A96;
      suppose
A97:     k = 2;
        <*d1,d2*>.2 = d2 by FINSEQ_1:61
        .= f.2 by A85,A93,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A97;
    end;
then A98: <*d1,d2*> = f by A77,A79,A94,FUNCT_1:9;
      InsCode MultBy(d1,d2) = 4 & AddressPart MultBy(d1,d2) = <*d1,d2*>
      by Th21,SCMFSA_2:45;
    hence thesis by A1,A75,A76,A98;

    suppose
A99:   T = 5;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A100:   x = f and
A101:   dom f = dom PA AddressParts T and
A102:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A103: dom PA AddressParts T = {1,2} by A99,Th35;
then A104: 1 in dom PA AddressParts T by TARSKI:def 2;
    then f.1 in (PA AddressParts T).1 by A102;
    then f.1 in pi(AddressParts T,1) by A104,AMISTD_2:def 1;
    then consider g being Function such that
A105:   g in AddressParts T and
A106:   g.1 = f.1 by CARD_3:def 6;
A107: 2 in dom PA AddressParts T by A103,TARSKI:def 2;
    then f.2 in (PA AddressParts T).2 by A102;
    then f.2 in pi(AddressParts T,2) by A107,AMISTD_2:def 1;
    then consider h being Function such that
A108:   h in AddressParts T and
A109:   h.2 = f.2 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A110:   g = AddressPart I and
A111:   InsCode I = T by A1,A105;
    consider d1, b such that
A112:   I = Divide(d1,b) by A99,A111,SCMFSA_2:58;
A113: g = <*d1,b*> by A110,A112,Th22;
    consider J being Instruction of SCM+FSA such that
A114:   h = AddressPart J and
A115:   InsCode J = T by A1,A108;
    consider a, d2 such that
A116:   J = Divide(a,d2) by A99,A115,SCMFSA_2:58;
A117: h = <*a,d2*> by A114,A116,Th22;
A118: dom <*d1,d2*> = {1,2} by FINSEQ_1:4,FINSEQ_3:29;
      for k being set st k in {1,2} holds <*d1,d2*>.k = f.k
    proof
      let k be set;
      assume
A119:     k in {1,2};
      per cases by A119,TARSKI:def 2;
      suppose
A120:     k = 1;
        <*d1,d2*>.1 = d1 by FINSEQ_1:61
        .= f.1 by A106,A113,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A120;
      suppose
A121:     k = 2;
        <*d1,d2*>.2 = d2 by FINSEQ_1:61
        .= f.2 by A109,A117,FINSEQ_1:61;
      hence <*d1,d2*>.k = f.k by A121;
    end;
then A122: <*d1,d2*> = f by A101,A103,A118,FUNCT_1:9;
      InsCode Divide(d1,d2) = 5 & AddressPart Divide(d1,d2) = <*d1,d2*>
      by Th22,SCMFSA_2:46;
    hence thesis by A1,A99,A100,A122;

    suppose
A123:   T = 6;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A124:   x = f and
A125:   dom f = dom PA AddressParts T and
A126:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A127: dom PA AddressParts T = {1} by A123,Th36;
then A128: 1 in dom PA AddressParts T by TARSKI:def 1;
    then f.1 in (PA AddressParts T).1 by A126;
    then f.1 in pi(AddressParts T,1) by A128,AMISTD_2:def 1;
    then consider g being Function such that
A129:   g in AddressParts T and
A130:   g.1 = f.1 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A131:   g = AddressPart I and
A132:   InsCode I = T by A1,A129;
    consider i1 such that
A133:   I = goto i1 by A123,A132,SCMFSA_2:59;
A134: dom <*i1*> = {1} by FINSEQ_1:4,def 8;
      for k being set st k in {1} holds <*i1*>.k = f.k
    proof
      let k be set;
      assume k in {1};
      then k = 1 by TARSKI:def 1;
      hence <*i1*>.k = f.k by A130,A131,A133,Th23;
    end;
then A135: <*i1*> = f by A125,A127,A134,FUNCT_1:9;
      InsCode goto i1 = 6 & AddressPart goto i1 = <*i1*> by Th23,SCMFSA_2:47;
    hence thesis by A1,A123,A124,A135;

    suppose
A136:   T = 7;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A137:   x = f and
A138:   dom f = dom PA AddressParts T and
A139:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A140: dom PA AddressParts T = {1,2} by A136,Th37;
then A141: 1 in dom PA AddressParts T by TARSKI:def 2;
    then f.1 in (PA AddressParts T).1 by A139;
    then f.1 in pi(AddressParts T,1) by A141,AMISTD_2:def 1;
    then consider g being Function such that
A142:   g in AddressParts T and
A143:   g.1 = f.1 by CARD_3:def 6;
A144: 2 in dom PA AddressParts T by A140,TARSKI:def 2;
    then f.2 in (PA AddressParts T).2 by A139;
    then f.2 in pi(AddressParts T,2) by A144,AMISTD_2:def 1;
    then consider h being Function such that
A145:   h in AddressParts T and
A146:   h.2 = f.2 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A147:   g = AddressPart I and
A148:   InsCode I = T by A1,A142;
    consider i1, d1 such that
A149:   I = d1 =0_goto i1 by A136,A148,SCMFSA_2:60;
A150: g = <*i1,d1*> by A147,A149,Th24;
    consider J being Instruction of SCM+FSA such that
A151:   h = AddressPart J and
A152:   InsCode J = T by A1,A145;
    consider i2, d2 such that
A153:   J = d2 =0_goto i2 by A136,A152,SCMFSA_2:60;
A154: h = <*i2,d2*> by A151,A153,Th24;
A155: dom <*i1,d2*> = {1,2} by FINSEQ_1:4,FINSEQ_3:29;
      for k being set st k in {1,2} holds <*i1,d2*>.k = f.k
    proof
      let k be set;
      assume
A156:     k in {1,2};
      per cases by A156,TARSKI:def 2;
      suppose
A157:     k = 1;
        <*i1,d2*>.1 = i1 by FINSEQ_1:61
        .= f.1 by A143,A150,FINSEQ_1:61;
      hence <*i1,d2*>.k = f.k by A157;
      suppose
A158:     k = 2;
        <*i1,d2*>.2 = d2 by FINSEQ_1:61
        .= f.2 by A146,A154,FINSEQ_1:61;
      hence <*i1,d2*>.k = f.k by A158;
    end;
then A159: <*i1,d2*> = f by A138,A140,A155,FUNCT_1:9;
      InsCode (d2 =0_goto i1) = 7 & AddressPart (d2 =0_goto i1) = <*i1,d2*>
      by Th24,SCMFSA_2:48;
    hence thesis by A1,A136,A137,A159;

    suppose
A160:   T = 8;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A161:   x = f and
A162:   dom f = dom PA AddressParts T and
A163:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A164: dom PA AddressParts T = {1,2} by A160,Th38;
then A165: 1 in dom PA AddressParts T by TARSKI:def 2;
    then f.1 in (PA AddressParts T).1 by A163;
    then f.1 in pi(AddressParts T,1) by A165,AMISTD_2:def 1;
    then consider g being Function such that
A166:   g in AddressParts T and
A167:   g.1 = f.1 by CARD_3:def 6;
A168: 2 in dom PA AddressParts T by A164,TARSKI:def 2;
    then f.2 in (PA AddressParts T).2 by A163;
    then f.2 in pi(AddressParts T,2) by A168,AMISTD_2:def 1;
    then consider h being Function such that
A169:   h in AddressParts T and
A170:   h.2 = f.2 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A171:   g = AddressPart I and
A172:   InsCode I = T by A1,A166;
    consider i1, d1 such that
A173:   I = d1 >0_goto i1 by A160,A172,SCMFSA_2:61;
A174: g = <*i1,d1*> by A171,A173,Th25;
    consider J being Instruction of SCM+FSA such that
A175:   h = AddressPart J and
A176:   InsCode J = T by A1,A169;
    consider i2, d2 such that
A177:   J = d2 >0_goto i2 by A160,A176,SCMFSA_2:61;
A178: h = <*i2,d2*> by A175,A177,Th25;
A179: dom <*i1,d2*> = {1,2} by FINSEQ_1:4,FINSEQ_3:29;
      for k being set st k in {1,2} holds <*i1,d2*>.k = f.k
    proof
      let k be set;
      assume
A180:     k in {1,2};
      per cases by A180,TARSKI:def 2;
      suppose
A181:     k = 1;
        <*i1,d2*>.1 = i1 by FINSEQ_1:61
        .= f.1 by A167,A174,FINSEQ_1:61;
      hence <*i1,d2*>.k = f.k by A181;
      suppose
A182:     k = 2;
        <*i1,d2*>.2 = d2 by FINSEQ_1:61
        .= f.2 by A170,A178,FINSEQ_1:61;
      hence <*i1,d2*>.k = f.k by A182;
    end;
then A183: <*i1,d2*> = f by A162,A164,A179,FUNCT_1:9;
      InsCode (d2 >0_goto i1) = 8 & AddressPart (d2 >0_goto i1) = <*i1,d2*>
      by Th25,SCMFSA_2:49;
    hence thesis by A1,A160,A161,A183;

    suppose
A184:   T = 9;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A185:   x = f and
A186:   dom f = dom PA AddressParts T and
A187:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A188: dom PA AddressParts T = {1,2,3} by A184,Th39;
then A189: 1 in dom PA AddressParts T by ENUMSET1:14;
    then f.1 in (PA AddressParts T).1 by A187;
    then f.1 in pi(AddressParts T,1) by A189,AMISTD_2:def 1;
    then consider g being Function such that
A190:   g in AddressParts T and
A191:   g.1 = f.1 by CARD_3:def 6;
A192: 2 in dom PA AddressParts T by A188,ENUMSET1:14;
    then f.2 in (PA AddressParts T).2 by A187;
    then f.2 in pi(AddressParts T,2) by A192,AMISTD_2:def 1;
    then consider h being Function such that
A193:   h in AddressParts T and
A194:   h.2 = f.2 by CARD_3:def 6;
A195: 3 in dom PA AddressParts T by A188,ENUMSET1:14;
    then f.3 in (PA AddressParts T).3 by A187;
    then f.3 in pi(AddressParts T,3) by A195,AMISTD_2:def 1;
    then consider z being Function such that
A196:   z in AddressParts T and
A197:   z.3 = f.3 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A198:   g = AddressPart I and
A199:   InsCode I = T by A1,A190;
    consider a, b, f1 such that
A200:   I = b:=(f1,a) by A184,A199,SCMFSA_2:62;
A201: g = <*b,f1,a*> by A198,A200,Th26;
    consider J being Instruction of SCM+FSA such that
A202:   h = AddressPart J and
A203:   InsCode J = T by A1,A193;
    consider d1, d2, f2 such that
A204:   J = d2:=(f2,d1) by A184,A203,SCMFSA_2:62;
A205: h = <*d2,f2,d1*> by A202,A204,Th26;
    consider K being Instruction of SCM+FSA such that
A206:   z = AddressPart K and
A207:   InsCode K = T by A1,A196;
    consider d3, d4, f3 such that
A208:   K = d4:=(f3,d3) by A184,A207,SCMFSA_2:62;
A209: z = <*d4,f3,d3*> by A206,A208,Th26;
A210: dom <*b,f2,d3*> = {1,2,3} by FINSEQ_3:1,30;
      for k being set st k in {1,2,3} holds <*b,f2,d3*>.k = f.k
    proof
      let k be set;
      assume
A211:     k in {1,2,3};
      per cases by A211,ENUMSET1:13;
      suppose
A212:     k = 1;
        <*b,f2,d3*>.1 = b by FINSEQ_1:62
        .= f.1 by A191,A201,FINSEQ_1:62;
      hence <*b,f2,d3*>.k = f.k by A212;
      suppose
A213:     k = 2;
        <*b,f2,d3*>.2 = f2 by FINSEQ_1:62
        .= f.2 by A194,A205,FINSEQ_1:62;
      hence <*b,f2,d3*>.k = f.k by A213;
      suppose
A214:     k = 3;
        <*b,f2,d3*>.3 = d3 by FINSEQ_1:62
        .= f.3 by A197,A209,FINSEQ_1:62;
      hence <*b,f2,d3*>.k = f.k by A214;
    end;
then A215: <*b,f2,d3*> = f by A186,A188,A210,FUNCT_1:9;
      InsCode (b:=(f2,d3)) = 9 & AddressPart (b:=(f2,d3)) = <*b,f2,d3*>
      by Th26,SCMFSA_2:50;
    hence thesis by A1,A184,A185,A215;

    suppose
A216:   T = 10;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A217:   x = f and
A218:   dom f = dom PA AddressParts T and
A219:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A220: dom PA AddressParts T = {1,2,3} by A216,Th40;
then A221: 1 in dom PA AddressParts T by ENUMSET1:14;
    then f.1 in (PA AddressParts T).1 by A219;
    then f.1 in pi(AddressParts T,1) by A221,AMISTD_2:def 1;
    then consider g being Function such that
A222:   g in AddressParts T and
A223:   g.1 = f.1 by CARD_3:def 6;
A224: 2 in dom PA AddressParts T by A220,ENUMSET1:14;
    then f.2 in (PA AddressParts T).2 by A219;
    then f.2 in pi(AddressParts T,2) by A224,AMISTD_2:def 1;
    then consider h being Function such that
A225:   h in AddressParts T and
A226:   h.2 = f.2 by CARD_3:def 6;
A227: 3 in dom PA AddressParts T by A220,ENUMSET1:14;
    then f.3 in (PA AddressParts T).3 by A219;
    then f.3 in pi(AddressParts T,3) by A227,AMISTD_2:def 1;
    then consider z being Function such that
A228:   z in AddressParts T and
A229:   z.3 = f.3 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A230:   g = AddressPart I and
A231:   InsCode I = T by A1,A222;
    consider a, b, f1 such that
A232:   I = (f1,a):=b by A216,A231,SCMFSA_2:63;
A233: g = <*b,f1,a*> by A230,A232,Th27;
    consider J being Instruction of SCM+FSA such that
A234:   h = AddressPart J and
A235:   InsCode J = T by A1,A225;
    consider d1, d2, f2 such that
A236:   J = (f2,d1):=d2 by A216,A235,SCMFSA_2:63;
A237: h = <*d2,f2,d1*> by A234,A236,Th27;
    consider K being Instruction of SCM+FSA such that
A238:   z = AddressPart K and
A239:   InsCode K = T by A1,A228;
    consider d3, d4, f3 such that
A240:   K = (f3,d3):=d4 by A216,A239,SCMFSA_2:63;
A241: z = <*d4,f3,d3*> by A238,A240,Th27;
A242: dom <*b,f2,d3*> = {1,2,3} by FINSEQ_3:1,30;
      for k being set st k in {1,2,3} holds <*b,f2,d3*>.k = f.k
    proof
      let k be set;
      assume
A243:     k in {1,2,3};
      per cases by A243,ENUMSET1:13;
      suppose
A244:     k = 1;
        <*b,f2,d3*>.1 = b by FINSEQ_1:62
        .= f.1 by A223,A233,FINSEQ_1:62;
      hence <*b,f2,d3*>.k = f.k by A244;
      suppose
A245:     k = 2;
        <*b,f2,d3*>.2 = f2 by FINSEQ_1:62
        .= f.2 by A226,A237,FINSEQ_1:62;
      hence <*b,f2,d3*>.k = f.k by A245;
      suppose
A246:     k = 3;
        <*b,f2,d3*>.3 = d3 by FINSEQ_1:62
        .= f.3 by A229,A241,FINSEQ_1:62;
      hence <*b,f2,d3*>.k = f.k by A246;
    end;
then A247: <*b,f2,d3*> = f by A218,A220,A242,FUNCT_1:9;
      InsCode ((f2,d3):=b) = 10 & AddressPart ((f2,d3):=b) = <*b,f2,d3*>
      by Th27,SCMFSA_2:51;
    hence thesis by A1,A216,A217,A247;

    suppose
A248:   T = 11;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A249:   x = f and
A250:   dom f = dom PA AddressParts T and
A251:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A252: dom PA AddressParts T = {1,2} by A248,Th41;
then A253: 1 in dom PA AddressParts T by TARSKI:def 2;
    then f.1 in (PA AddressParts T).1 by A251;
    then f.1 in pi(AddressParts T,1) by A253,AMISTD_2:def 1;
    then consider g being Function such that
A254:   g in AddressParts T and
A255:   g.1 = f.1 by CARD_3:def 6;
A256: 2 in dom PA AddressParts T by A252,TARSKI:def 2;
    then f.2 in (PA AddressParts T).2 by A251;
    then f.2 in pi(AddressParts T,2) by A256,AMISTD_2:def 1;
    then consider h being Function such that
A257:   h in AddressParts T and
A258:   h.2 = f.2 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A259:   g = AddressPart I and
A260:   InsCode I = T by A1,A254;
    consider a, f1 such that
A261:   I = a:=len f1 by A248,A260,SCMFSA_2:64;
A262: g = <*a,f1*> by A259,A261,Th28;
    consider J being Instruction of SCM+FSA such that
A263:   h = AddressPart J and
A264:   InsCode J = T by A1,A257;
    consider b, f2 such that
A265:   J = b:=len f2 by A248,A264,SCMFSA_2:64;
A266: h = <*b,f2*> by A263,A265,Th28;
A267: dom <*a,f2*> = {1,2} by FINSEQ_1:4,FINSEQ_3:29;
      for k being set st k in {1,2} holds <*a,f2*>.k = f.k
    proof
      let k be set;
      assume
A268:     k in {1,2};
      per cases by A268,TARSKI:def 2;
      suppose
A269:     k = 1;
        <*a,f2*>.1 = a by FINSEQ_1:61
        .= f.1 by A255,A262,FINSEQ_1:61;
      hence <*a,f2*>.k = f.k by A269;
      suppose
A270:     k = 2;
        <*a,f2*>.2 = f2 by FINSEQ_1:61
        .= f.2 by A258,A266,FINSEQ_1:61;
      hence <*a,f2*>.k = f.k by A270;
    end;
then A271: <*a,f2*> = f by A250,A252,A267,FUNCT_1:9;
      InsCode (a:=len f2) = 11 & AddressPart (a:=len f2) = <*a,f2*>
      by Th28,SCMFSA_2:52;
    hence thesis by A1,A248,A249,A271;

    suppose
A272:   T = 12;
    take PA AddressParts T;
    thus AddressParts T c= product PA AddressParts T by AMISTD_2:9;
    let x be set;
    assume x in product PA AddressParts T;
    then consider f being Function such that
A273:   x = f and
A274:   dom f = dom PA AddressParts T and
A275:   for k being set st k in dom PA AddressParts T holds
        f.k in (PA AddressParts T).k by CARD_3:def 5;
A276: dom PA AddressParts T = {1,2} by A272,Th42;
then A277: 1 in dom PA AddressParts T by TARSKI:def 2;
    then f.1 in (PA AddressParts T).1 by A275;
    then f.1 in pi(AddressParts T,1) by A277,AMISTD_2:def 1;
    then consider g being Function such that
A278:   g in AddressParts T and
A279:   g.1 = f.1 by CARD_3:def 6;
A280: 2 in dom PA AddressParts T by A276,TARSKI:def 2;
    then f.2 in (PA AddressParts T).2 by A275;
    then f.2 in pi(AddressParts T,2) by A280,AMISTD_2:def 1;
    then consider h being Function such that
A281:   h in AddressParts T and
A282:   h.2 = f.2 by CARD_3:def 6;
    consider I being Instruction of SCM+FSA such that
A283:   g = AddressPart I and
A284:   InsCode I = T by A1,A278;
    consider a, f1 such that
A285:   I = f1:=<0,...,0>a by A272,A284,SCMFSA_2:65;
A286: g = <*a,f1*> by A283,A285,Th29;
    consider J being Instruction of SCM+FSA such that
A287:   h = AddressPart J and
A288:   InsCode J = T by A1,A281;
    consider b, f2 such that
A289:   J = f2:=<0,...,0>b by A272,A288,SCMFSA_2:65;
A290: h = <*b,f2*> by A287,A289,Th29;
A291: dom <*a,f2*> = {1,2} by FINSEQ_1:4,FINSEQ_3:29;
      for k being set st k in {1,2} holds <*a,f2*>.k = f.k
    proof
      let k be set;
      assume
A292:     k in {1,2};
      per cases by A292,TARSKI:def 2;
      suppose
A293:     k = 1;
        <*a,f2*>.1 = a by FINSEQ_1:61
        .= f.1 by A279,A286,FINSEQ_1:61;
      hence <*a,f2*>.k = f.k by A293;
      suppose
A294:     k = 2;
        <*a,f2*>.2 = f2 by FINSEQ_1:61
        .= f.2 by A282,A290,FINSEQ_1:61;
      hence <*a,f2*>.k = f.k by A294;
    end;
then A295: <*a,f2*> = f by A274,A276,A291,FUNCT_1:9;
      InsCode (f2:=<0,...,0>a) = 12 & AddressPart (f2:=<0,...,0>a) = <*a,f2*>
      by Th29,SCMFSA_2:53;
    hence thesis by A1,A272,A273,A295;
  end;
end;

theorem Th89:
 IncAddr(goto i1,k) = goto il.(SCM+FSA, locnum i1 + k)
  proof
A1: InsCode IncAddr(goto i1,k) = InsCode goto i1 by AMISTD_2:def 14
      .= 6 by SCMFSA_2:47
      .= InsCode goto il.(SCM+FSA, locnum i1 + k) by SCMFSA_2:47;
A2: dom AddressPart IncAddr(goto i1,k) = dom AddressPart goto i1
        by AMISTD_2:def 14;
A3: dom AddressPart goto il.(SCM+FSA, locnum i1 + k)
      = dom <*il.(SCM+FSA, locnum i1 + k)*> by Th23
     .= Seg 1 by FINSEQ_1:def 8
     .= dom <*i1*> by FINSEQ_1:def 8
     .= dom AddressPart goto i1 by Th23;
      for x being set st x in dom AddressPart goto i1 holds
      (AddressPart IncAddr(goto i1,k)).x =
      (AddressPart goto il.(SCM+FSA, locnum i1 + k)).x
    proof
      let x be set;
      assume
A4:     x in dom AddressPart goto i1;
      then x in dom <*i1*> by Th23;
then A5:   x = 1 by Lm1;
      then (PA AddressParts InsCode goto i1).x =
        the Instruction-Locations of SCM+FSA by Th53;
      then consider f being Instruction-Location of SCM+FSA such that
A6:     f = (AddressPart goto i1).x and
A7:     (AddressPart IncAddr(goto i1,k)).x = il.(SCM+FSA,k + locnum f)
          by A4,AMISTD_2:def 14;
        f = <*i1*>.x by A6,Th23
       .= i1 by A5,FINSEQ_1:def 8;
      hence (AddressPart IncAddr(goto i1,k)).x
        = <*il.(SCM+FSA, locnum i1 + k)*>.x by A5,A7,FINSEQ_1:def 8
       .= (AddressPart goto il.(SCM+FSA, locnum i1 + k)).x by Th23;
    end;
    then AddressPart IncAddr(goto i1,k) =
      AddressPart goto il.(SCM+FSA, locnum i1 + k) by A2,A3,FUNCT_1:9;
    hence IncAddr(goto i1,k) = goto il.(SCM+FSA, locnum i1 + k)
      by A1,AMISTD_2:16;
  end;

theorem Th90:
 IncAddr(a=0_goto i1,k) = a=0_goto il.(SCM+FSA, locnum i1 + k)
  proof
A1: InsCode IncAddr(a=0_goto i1,k) = InsCode (a=0_goto i1) by AMISTD_2:def 14
      .= 7 by SCMFSA_2:48
      .= InsCode (a=0_goto il.(SCM+FSA, locnum i1 + k)) by SCMFSA_2:48;
A2: dom AddressPart IncAddr(a=0_goto i1,k) = dom AddressPart (a=0_goto i1)
        by AMISTD_2:def 14;
A3: dom AddressPart (a=0_goto il.(SCM+FSA, locnum i1 + k))
      = dom <*il.(SCM+FSA, locnum i1 + k), a*> by Th24
     .= Seg 2 by FINSEQ_3:29
     .= dom <*i1,a*> by FINSEQ_3:29
     .= dom AddressPart (a=0_goto i1) by Th24;
      for x being set st x in dom AddressPart (a=0_goto i1) holds
      (AddressPart IncAddr(a=0_goto i1,k)).x =
      (AddressPart (a=0_goto il.(SCM+FSA, locnum i1 + k))).x
    proof
      let x be set;
      assume
A4:     x in dom AddressPart (a=0_goto i1);
then A5:   x in dom <*i1,a*> by Th24;
      per cases by A5,Lm2;
      suppose
A6:     x = 1;
      then (PA AddressParts InsCode (a=0_goto i1)).x =
        the Instruction-Locations of SCM+FSA by Th54;
      then consider f being Instruction-Location of SCM+FSA such that
A7:     f = (AddressPart (a=0_goto i1)).x and
A8:     (AddressPart IncAddr(a=0_goto i1,k)).x = il.(SCM+FSA,k + locnum f)
          by A4,AMISTD_2:def 14;
        f = <*i1,a*>.x by A7,Th24
       .= i1 by A6,FINSEQ_1:61;
      hence (AddressPart IncAddr(a=0_goto i1,k)).x
        = <*il.(SCM+FSA, locnum i1 + k),a*>.x by A6,A8,FINSEQ_1:61
       .= (AddressPart (a=0_goto il.(SCM+FSA, locnum i1 + k))).x by Th24;
      suppose
A9:     x = 2;
      then (PA AddressParts InsCode (a=0_goto i1)).x <>
        the Instruction-Locations of SCM+FSA by Th5,Th55;
      hence (AddressPart IncAddr(a=0_goto i1,k)).x
        = (AddressPart (a=0_goto i1)).x by A4,AMISTD_2:def 14
       .= <*i1,a*>.x by Th24
       .= a by A9,FINSEQ_1:61
       .= <*il.(SCM+FSA, locnum i1 + k),a*>.x by A9,FINSEQ_1:61
       .= (AddressPart (a=0_goto il.(SCM+FSA, locnum i1 + k))).x by Th24;
    end;
    then AddressPart IncAddr(a=0_goto i1,k) =
      AddressPart (a=0_goto il.(SCM+FSA, locnum i1 + k)) by A2,A3,FUNCT_1:9;
    hence IncAddr(a=0_goto i1,k) = a=0_goto il.(SCM+FSA, locnum i1 + k)
      by A1,AMISTD_2:16;
  end;

theorem Th91:
 IncAddr(a>0_goto i1,k) = a>0_goto il.(SCM+FSA, locnum i1 + k)
  proof
A1: InsCode IncAddr(a>0_goto i1,k) = InsCode (a>0_goto i1) by AMISTD_2:def 14
      .= 8 by SCMFSA_2:49
      .= InsCode (a>0_goto il.(SCM+FSA, locnum i1 + k)) by SCMFSA_2:49;
A2: dom AddressPart IncAddr(a>0_goto i1,k) = dom AddressPart (a>0_goto i1)
        by AMISTD_2:def 14;
A3: dom AddressPart (a>0_goto il.(SCM+FSA, locnum i1 + k))
      = dom <*il.(SCM+FSA, locnum i1 + k), a*> by Th25
     .= Seg 2 by FINSEQ_3:29
     .= dom <*i1,a*> by FINSEQ_3:29
     .= dom AddressPart (a>0_goto i1) by Th25;
      for x being set st x in dom AddressPart (a>0_goto i1) holds
      (AddressPart IncAddr(a>0_goto i1,k)).x =
      (AddressPart (a>0_goto il.(SCM+FSA, locnum i1 + k))).x
    proof
      let x be set;
      assume
A4:     x in dom AddressPart (a>0_goto i1);
then A5:   x in dom <*i1,a*> by Th25;
      per cases by A5,Lm2;
      suppose
A6:     x = 1;
      then (PA AddressParts InsCode (a>0_goto i1)).x =
        the Instruction-Locations of SCM+FSA by Th56;
      then consider f being Instruction-Location of SCM+FSA such that
A7:     f = (AddressPart (a>0_goto i1)).x and
A8:     (AddressPart IncAddr(a>0_goto i1,k)).x = il.(SCM+FSA,k + locnum f)
          by A4,AMISTD_2:def 14;
        f = <*i1,a*>.x by A7,Th25
       .= i1 by A6,FINSEQ_1:61;
      hence (AddressPart IncAddr(a>0_goto i1,k)).x
        = <*il.(SCM+FSA, locnum i1 + k),a*>.x by A6,A8,FINSEQ_1:61
       .= (AddressPart (a>0_goto il.(SCM+FSA, locnum i1 + k))).x by Th25;
      suppose
A9:     x = 2;
      then (PA AddressParts InsCode (a>0_goto i1)).x <>
        the Instruction-Locations of SCM+FSA by Th5,Th57;
      hence (AddressPart IncAddr(a>0_goto i1,k)).x
        = (AddressPart (a>0_goto i1)).x by A4,AMISTD_2:def 14
       .= <*i1,a*>.x by Th25
       .= a by A9,FINSEQ_1:61
       .= <*il.(SCM+FSA, locnum i1 + k),a*>.x by A9,FINSEQ_1:61
       .= (AddressPart (a>0_goto il.(SCM+FSA, locnum i1 + k))).x by Th25;
    end;
    then AddressPart IncAddr(a>0_goto i1,k) =
      AddressPart (a>0_goto il.(SCM+FSA, locnum i1 + k)) by A2,A3,FUNCT_1:9;
    hence IncAddr(a>0_goto i1,k) = a>0_goto il.(SCM+FSA, locnum i1 + k)
      by A1,AMISTD_2:16;
  end;

definition
 cluster SCM+FSA -> IC-good Exec-preserving;
coherence
  proof
    thus SCM+FSA is IC-good
    proof
      let I be Instruction of SCM+FSA;
      per cases by SCMFSA_2:120;
      suppose I = [0,{}];
      hence thesis by AMI_3:71,SCMFSA_2:123;
      suppose ex a,b st I = a:=b;
      then consider a, b such that
A1:     I = a:=b;
      thus thesis by A1;
      suppose ex a,b st I = AddTo(a,b);
      then consider a, b such that
A2:     I = AddTo(a,b);
      thus thesis by A2;
      suppose ex a,b st I = SubFrom(a,b);
      then consider a, b such that
A3:     I = SubFrom(a,b);
      thus thesis by A3;
      suppose ex a,b st I = MultBy(a,b);
      then consider a, b such that
A4:     I = MultBy(a,b);
      thus thesis by A4;
      suppose ex a,b st I = Divide(a,b);
      then consider a, b such that
A5:     I = Divide(a,b);
      thus thesis by A5;
      suppose ex i1 st I = goto i1;
      then consider i1 such that
A6:     I = goto i1;
      let k be natural number,
          s1, s2 be State of SCM+FSA such that
          s2 = s1 +* (IC SCM+FSA .--> (IC s1 + k));
A7:   IC Exec(I,s1) = Exec(I,s1).IC SCM+FSA by AMI_1:def 15
        .= i1 by A6,SCMFSA_2:95;
      thus IC Exec(I,s1) + k
         = il.(SCM+FSA, locnum IC Exec(I,s1) + k) by AMISTD_1:def 14
        .= Exec(goto il.(SCM+FSA, locnum i1 + k),s2).IC SCM+FSA
           by A7,SCMFSA_2:95
        .= IC Exec(goto il.(SCM+FSA, locnum i1 + k),s2) by AMI_1:def 15
        .= IC Exec(IncAddr(I,k), s2) by A6,Th89;
      suppose ex i1,a st I = a=0_goto i1;
      then consider a, i1 such that
A8:     I = a=0_goto i1;
      let k be natural number,
          s1, s2 be State of SCM+FSA such that
A9:     s2 = s1 +* (IC SCM+FSA .--> (IC s1 + k));
A10:   a <> IC SCM+FSA by SCMFSA_2:81;
        dom (IC SCM+FSA .--> (IC s1 + k)) = {IC SCM+FSA} by CQC_LANG:5;
      then not a in dom (IC SCM+FSA .--> (IC s1 + k)) by A10,TARSKI:def 1;
then A11:   s1.a = s2.a by A9,FUNCT_4:12;
        now per cases;
        suppose
A12:       s1.a = 0;
A13:     IC Exec(I,s1) = Exec(I,s1).IC SCM+FSA by AMI_1:def 15
          .= i1 by A8,A12,SCMFSA_2:96;
        thus IC Exec(I,s1) + k
           = il.(SCM+FSA, locnum IC Exec(I,s1) + k) by AMISTD_1:def 14
          .= Exec(a=0_goto il.(SCM+FSA, locnum i1 + k),s2).IC SCM+FSA
             by A11,A12,A13,SCMFSA_2:96
          .= IC Exec(a=0_goto il.(SCM+FSA, locnum i1 + k),s2) by AMI_1:def 15
          .= IC Exec(IncAddr(I,k), s2) by A8,Th90;
        suppose
A14:       s1.a <> 0;
          dom (IC SCM+FSA .--> (IC s1 + k)) = {IC SCM+FSA} by CQC_LANG:5;
then A15:     IC SCM+FSA in dom (IC SCM+FSA .--> (IC s1 + k)) by TARSKI:def 1;
A16:     IC s2 = s2.IC SCM+FSA by AMI_1:def 15
             .= (IC SCM+FSA .--> (IC s1 + k)).IC SCM+FSA by A9,A15,FUNCT_4:14
             .= IC s1 + k by CQC_LANG:6
             .= il.(SCM+FSA,locnum IC s1 + k) by AMISTD_1:def 14;
A17:     IC Exec(I, s2) = Exec(I, s2).IC SCM+FSA by AMI_1:def 15
          .= Next IC s2 by A8,A11,A14,SCMFSA_2:96
          .= NextLoc IC s2 by Th88
          .= il.(SCM+FSA,locnum IC s1 + k) + 1 by A16,AMISTD_1:def 15
          .= il.(SCM+FSA,locnum il.(SCM+FSA,locnum IC s1 + k) + 1)
             by AMISTD_1:def 14
          .= il.(SCM+FSA,locnum IC s1 + k + 1) by AMISTD_1:def 13
          .= il.(SCM+FSA,locnum IC s1 + 1 + k) by XCMPLX_1:1;
A18:     IC Exec(I,s1) = Exec(I,s1).IC SCM+FSA by AMI_1:def 15
          .= Next IC s1 by A8,A14,SCMFSA_2:96
          .= NextLoc IC s1 by Th88
          .= il.(SCM+FSA,locnum IC s1 + 1) by AMISTD_1:34;
        thus IC Exec(I,s1) + k = il.(SCM+FSA,locnum IC Exec(I,s1) + k)
             by AMISTD_1:def 14
          .= IC Exec(I,s2) by A17,A18,AMISTD_1:def 13
          .= Exec(I,s2).IC SCM+FSA by AMI_1:def 15
          .= Next IC s2 by A8,A11,A14,SCMFSA_2:96
          .= Exec(a=0_goto il.(SCM+FSA, locnum i1 + k),s2).IC SCM+FSA
             by A11,A14,SCMFSA_2:96
          .= IC Exec(a=0_goto il.(SCM+FSA, locnum i1 + k),s2) by AMI_1:def 15
          .= IC Exec(IncAddr(I,k), s2) by A8,Th90;
        end;
      hence thesis;
      suppose ex i1,a st I = a>0_goto i1;
      then consider a, i1 such that
A19:     I = a>0_goto i1;
      let k be natural number,
          s1, s2 be State of SCM+FSA such that
A20:     s2 = s1 +* (IC SCM+FSA .--> (IC s1 + k));
A21:   a <> IC SCM+FSA by SCMFSA_2:81;
        dom (IC SCM+FSA .--> (IC s1 + k)) = {IC SCM+FSA} by CQC_LANG:5;
      then not a in dom (IC SCM+FSA .--> (IC s1 + k)) by A21,TARSKI:def 1;
then A22:   s1.a = s2.a by A20,FUNCT_4:12;
        now per cases;
        suppose
A23:       s1.a > 0;
A24:     IC Exec(I,s1) = Exec(I,s1).IC SCM+FSA by AMI_1:def 15
          .= i1 by A19,A23,SCMFSA_2:97;
        thus IC Exec(I,s1) + k
           = il.(SCM+FSA, locnum IC Exec(I,s1) + k) by AMISTD_1:def 14
          .= Exec(a>0_goto il.(SCM+FSA, locnum i1 + k),s2).IC SCM+FSA
             by A22,A23,A24,SCMFSA_2:97
          .= IC Exec(a>0_goto il.(SCM+FSA, locnum i1 + k),s2) by AMI_1:def 15
          .= IC Exec(IncAddr(I,k), s2) by A19,Th91;
        suppose
A25:       s1.a <= 0;
          dom (IC SCM+FSA .--> (IC s1 + k)) = {IC SCM+FSA} by CQC_LANG:5;
then A26:     IC SCM+FSA in dom (IC SCM+FSA .--> (IC s1 + k)) by TARSKI:def 1;
A27:     IC s2 = s2.IC SCM+FSA by AMI_1:def 15
             .= (IC SCM+FSA .--> (IC s1 + k)).IC SCM+FSA by A20,A26,FUNCT_4:14
             .= IC s1 + k by CQC_LANG:6
             .= il.(SCM+FSA,locnum IC s1 + k) by AMISTD_1:def 14;
A28:     IC Exec(I, s2) = Exec(I, s2).IC SCM+FSA by AMI_1:def 15
          .= Next IC s2 by A19,A22,A25,SCMFSA_2:97
          .= NextLoc IC s2 by Th88
          .= il.(SCM+FSA,locnum IC s1 + k) + 1 by A27,AMISTD_1:def 15
          .= il.(SCM+FSA,locnum il.(SCM+FSA,locnum IC s1 + k) + 1)
             by AMISTD_1:def 14
          .= il.(SCM+FSA,locnum IC s1 + k + 1) by AMISTD_1:def 13
          .= il.(SCM+FSA,locnum IC s1 + 1 + k) by XCMPLX_1:1;
A29:     IC Exec(I,s1) = Exec(I,s1).IC SCM+FSA by AMI_1:def 15
          .= Next IC s1 by A19,A25,SCMFSA_2:97
          .= NextLoc IC s1 by Th88
          .= il.(SCM+FSA,locnum IC s1 + 1) by AMISTD_1:34;
        thus IC Exec(I,s1) + k = il.(SCM+FSA,locnum IC Exec(I,s1) + k)
             by AMISTD_1:def 14
          .= IC Exec(I,s2) by A28,A29,AMISTD_1:def 13
          .= Exec(I,s2).IC SCM+FSA by AMI_1:def 15
          .= Next IC s2 by A19,A22,A25,SCMFSA_2:97
          .= Exec(a>0_goto il.(SCM+FSA, locnum i1 + k),s2).IC SCM+FSA
             by A22,A25,SCMFSA_2:97
          .= IC Exec(a>0_goto il.(SCM+FSA, locnum i1 + k),s2) by AMI_1:def 15
          .= IC Exec(IncAddr(I,k), s2) by A19,Th91;
        end;
      hence thesis;
      suppose ex a,b,f st I = b:=(f,a);
      then consider a, b, f such that
A30:     I = b:=(f,a);
      thus thesis by A30;
      suppose ex a,b,f st I = (f,a):=b;
      then consider a, b, f such that
A31:     I = (f,a):=b;
      thus thesis by A31;
      suppose ex a,f st I = a:=len f;
      then consider a, f such that
A32:     I = a:=len f;
      thus thesis by A32;
      suppose ex a,f st I = f:=<0,...,0>a;
      then consider a, f such that
A33:     I = f:=<0,...,0>a;
      thus thesis by A33;
    end;

    let I be Instruction of SCM+FSA;
    let s1, s2 be State of SCM+FSA;
    assume s1,s2 equal_outside the Instruction-Locations of SCM+FSA;
    hence thesis by SCMFSA6A:32;
  end;
end;


Back to top