The Mizar article:

SCMPDS Is Not Standard

by
Artur Kornilowicz, and
Yasunari Shidama

Received September 27, 2003

Copyright (c) 2003 Association of Mizar Users

MML identifier: SCMPDS_9
[ MML identifier index ]


environ

 vocabulary BOOLE, SETFAM_1, FUNCT_1, ARYTM, ORDINAL2, FUNCT_4, FINSEQ_1,
      FINSEQ_4, RELAT_1, CAT_1, AMISTD_2, REALSET1, FINSET_1, ARYTM_3, ARYTM_1,
      ABSVALUE, INT_1, NAT_1, FUNCOP_1, TARSKI, AMI_1, AMI_2, AMI_3, AMISTD_1,
      SCMPDS_2, SCMPDS_3, GOBOARD5, SQUARE_1;
 notation TARSKI, XBOOLE_0, SUBSET_1, SETFAM_1, ORDINAL2, ORDINAL1, NUMBERS,
      XCMPLX_0, XREAL_0, FUNCT_1, ABSVALUE, INT_1, NAT_1, CQC_LANG, FINSET_1,
      REALSET1, STRUCT_0, GROUP_1, RELAT_1, FUNCT_4, FINSEQ_1, FINSEQ_4,
      PRE_CIRC, AMI_1, AMI_2, AMI_3, AMI_5, SCMPDS_2, SCMPDS_3, AMISTD_1,
      AMISTD_2;
 constructors NAT_1, SCMPDS_1, SCMPDS_3, AMISTD_2, AMI_5, FINSEQ_4, REALSET1,
      PRE_CIRC;
 clusters ARYTM_3, FRAENKEL, INT_1, RELSET_1, AMI_1, SCMPDS_2, XREAL_0,
      GOBOARD1, FUNCT_4, AMISTD_2, CQC_LANG, SCMRING1, FINSET_1, MEMBERED,
      ORDINAL2;
 requirements BOOLE, SUBSET, NUMERALS, ARITHM, REAL;
 definitions TARSKI, XBOOLE_0, AMISTD_1, AMISTD_2;
 theorems AMI_1, AMISTD_1, SETFAM_1, XBOOLE_0, SCMPDS_1, SCMPDS_2, SCMPDS_3,
      ABSVALUE, INT_1, AXIOMS, JORDAN4, ORDINAL2, SCMFSA9A, TARSKI, FINSEQ_1,
      AMI_2, AMI_3, NAT_1, XCMPLX_0, XCMPLX_1, XBOOLE_1, REAL_1, AMI_6,
      RELAT_1, GROUP_4, FUNCT_4, YELLOW14, CQC_LANG, YELLOW_8, PRE_CIRC,
      WSIERP_1, SCPINVAR, PEPIN;
 schemes GOBOARD1;

begin :: Preliminaries

reserve r, s for real number;

theorem Th1:
  0 <= r + abs(r)
  proof
A1: 0 <= abs(r) by ABSVALUE:5;
    then
A2: 0 + abs(r) <= abs(r) + abs(r) by AXIOMS:24;
    abs(r) + abs(r) = r + abs(r) or abs(r) + r = -r + r by INT_1:30;
    hence thesis by A1,A2,XCMPLX_0:def 6;
  end;

theorem Th2:
  0 <= -r + abs(r)
  proof
    r <= abs(r) by ABSVALUE:11;
    then -r >= -abs(r) by REAL_1:50;
    then -r+abs(r) >= -abs(r)+abs(r) by REAL_1:55;
    hence thesis by XCMPLX_0:def 6;
  end;

theorem Th3:
  abs(r) = abs(s) implies r = s or r = -s
  proof
    assume
A1:   abs(r) = abs(s);
    assume
A2:   r <> s;
    per cases by INT_1:30;
    suppose abs(r) = r & abs(s) = s;
    hence r = -s by A1,A2;
    suppose abs(r) = r & abs(s) = -s;
    hence r = -s by A1;
    suppose abs(r) = -r & abs(s) = s;
    hence r = -s by A1;
    suppose abs(r) = -r & abs(s) = -s;
    hence r = -s by A1,A2,XCMPLX_1:134;
  end;

theorem Th4:
  for i, j being natural number st i < j & i <> 0 holds
    i/j is not integer
  proof
    let i, j be natural number such that
A1:   i < j and
A2:   i <> 0;
A3: i >= 0 by NAT_1:19;
    assume i/j is integer;
    then reconsider r = i/j as Integer;
A4: i is Nat & j is Nat by ORDINAL2:def 21;
    then i div j = 0 by A1,JORDAN4:5;
    then
A5:   i qua Integer div j = 0 by A4,SCMFSA9A:5;
    r = [\ r /] by INT_1:47
     .= i qua Integer div j by INT_1:def 7;
    hence thesis by A1,A2,A3,A5,XCMPLX_1:50;
  end;

theorem Th5:
  {2*k where k is Nat: k > 1} is infinite
  proof
    set X = {2*k where k is Nat: k > 1};
    assume
A1:   X is finite;
A2: X c= NAT
    proof
      let x be set;
      assume x in X;
      then ex k being Nat st x = 2*k & k > 1;
      hence thesis;
    end;
    2*2 in X;
    then reconsider X as non empty finite Subset of NAT by A1,A2;
    set m = max X;
    m in X by PRE_CIRC:def 1;
    then consider k being Nat such that
A3:   m = 2*k and
A4:   k > 1;
A5: m+2 = 2*k+2*1 by A3
       .= 2*(k+1) by XCMPLX_1:8;
    k+1 > k+0 by REAL_1:67;
    then k+1 > 1 by A4,AXIOMS:22;
    then m+2 in X by A5;
    then m+2 <= m+0 by PRE_CIRC:def 1;
    hence contradiction by REAL_1:67;
  end;

theorem Th6:
  for f being Function, a,b,c being set st a <> c holds
    (f +* (a.-->b)).c = f.c
  proof
    let f be Function,
        a,b,c be set such that
A1:   a <> c;
    set g = a.-->b;
    dom g = {a} by CQC_LANG:5;
    then not c in dom g by A1,TARSKI:def 1;
    hence (f +* g).c = f.c by FUNCT_4:12;
  end;

theorem Th7:
  for f being Function, a,b,c,d being set st a <> b holds
   (f +* ((a,b)-->(c,d))) .a = c &
   (f +* ((a,b)-->(c,d))) .b = d
  proof
    let f be Function,
        a,b,c,d be set such that
A1:   a <> b;
    set g = (a,b)-->(c,d);
A2: dom g = {a,b} by FUNCT_4:65;
    then a in dom g by TARSKI:def 2;
    hence (f +* g).a = g.a by FUNCT_4:14
     .= c by A1,FUNCT_4:66;
    b in dom g by A2,TARSKI:def 2;
    hence (f +* g).b = g.b by FUNCT_4:14
     .= d by A1,FUNCT_4:66;
  end;

begin :: SCMPDS

reserve a, b for Int_position,
        i for Instruction of SCMPDS,
        l for Instruction-Location of SCMPDS,
        k, k1, k2 for Integer,
        n for Nat;

Lm1:
  for N being with_non-empty_elements set,
      S being IC-Ins-separated definite (non empty non void AMI-Struct over N),
      s being State of S,
      i being Instruction of S
   holds Exec(s.IC s,s).IC S = IC Following s
  proof
    let N be with_non-empty_elements set,
        S be IC-Ins-separated definite (non empty non void AMI-Struct over N),
        s be State of S,
        i be Instruction of S;
    thus Exec(s.IC s,s).IC S = Exec(CurInstr s,s).IC S by AMI_1:def 17
      .= (Following s).IC S by AMI_1:def 18
      .= IC Following s by AMI_1:def 15;
  end;

definition
  let la, lb be Int_position,
      a, b be Integer;
  redefine func (la,lb) --> (a,b) -> FinPartState of SCMPDS;
coherence
  proof
    a is Element of INT & b is Element of INT &
    ObjectKind la = INT & ObjectKind lb = INT by INT_1:def 2,SCMPDS_2:13;
    hence thesis by AMI_1:58;
  end;
end;

definition
  cluster SCMPDS -> with-non-trivial-Instruction-Locations;
coherence
  proof
    thus the Instruction-Locations of SCMPDS is non trivial by SCMPDS_2:def 1;
  end;
end;

definition
  let l be Instruction-Location of SCMPDS;
  func locnum l -> natural number means :Def1:
   il.it = l;
existence
  proof
    consider i being Nat such that
A1:   l = inspos i by SCMPDS_3:32;
    l = il.i by A1,SCMPDS_3:def 2;
    hence thesis;
  end;
uniqueness
  proof
    let m, n be natural number such that
A2:   il.m = l & il.n = l;
    reconsider m,n as Nat by ORDINAL2:def 21;
    l = inspos m & l = inspos n by A2,SCMPDS_3:def 2;
    hence thesis by SCMPDS_3:31;
  end;
end;

definition
  let l be Instruction-Location of SCMPDS;
  redefine func locnum l -> Nat;
coherence by ORDINAL2:def 21;
end;

theorem Th8:
  l = 2*locnum l + 2
  proof
    thus 2*locnum l + 2 = il.locnum l by AMI_3:def 20
      .= l by Def1;
  end;

theorem
  for l1, l2 being Instruction-Location of SCMPDS st l1 <> l2 holds
    locnum l1 <> locnum l2
  proof
    let l1, l2 be Instruction-Location of SCMPDS such that
A1:   l1 <> l2 & locnum l1 = locnum l2;
    il.locnum l1 = l1 & il.locnum l2 = l2 by Def1;
    hence thesis by A1;
  end;

theorem Th10:
  for l1, l2 being Instruction-Location of SCMPDS st l1 <> l2 holds
    Next l1 <> Next l2
  proof
    let l1, l2 be Instruction-Location of SCMPDS;
    assume
A1:   l1 <> l2 & Next l1 = Next l2;
    consider m1 being Element of SCM-Instr-Loc such that
A2:   m1 = l1 & Next l1 = Next m1 by SCMPDS_2:def 19;
    consider m2 being Element of SCM-Instr-Loc such that
A3:   m2 = l2 & Next l2 = Next m2 by SCMPDS_2:def 19;
    Next m1 = m1+2 & Next m2 = m2+2 by AMI_2:def 15;
    hence contradiction by A1,A2,A3,XCMPLX_1:2;
  end;

theorem Th11:
  for N being with_non-empty_elements set,
      S being IC-Ins-separated definite (non empty non void AMI-Struct over N),
      i being Instruction of S,
      l being Instruction-Location of S holds
  JUMP(i) c= NIC(i,l)
  proof
    let N be with_non-empty_elements set,
        S be IC-Ins-separated definite (non empty non void AMI-Struct over N),
        i be Instruction of S,
        l be Instruction-Location of S;
    set X = { NIC(i,k) where k is Instruction-Location of S:
      not contradiction };
    let x be set;
    assume x in JUMP(i);
    then
A1: x in meet X by AMISTD_1:def 6;
    NIC(i,l) in X;
    hence thesis by A1,SETFAM_1:def 1;
  end;

theorem Th12:
  (for s being State of SCMPDS st IC s = l & s.l = i
   holds Exec(i,s).IC SCMPDS = Next IC s)
  implies
  NIC(i, l) = {Next l}
  proof
    assume
A1:   for s being State of SCMPDS st IC s = l & s.l = i
        holds Exec(i, s).IC SCMPDS = Next IC s;
    set X = {IC Following s where s is State of SCMPDS: 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 SCMPDS such that
A3:     x = IC Following s & IC s = l & s.l = i by A2;
      x = Exec(s.IC s, s).IC SCMPDS by A3,Lm1
       .= 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 SCMPDS;
    reconsider il1 = l as Element of ObjectKind IC SCMPDS by AMI_1:def 11;
    reconsider I = i as Element of ObjectKind l by AMI_1:def 14;
    set u = t+*((IC SCMPDS, 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 SCMPDS by AMI_6:6
    .= Next l by A1,A5,A6;
    hence thesis by A2,A4,A5,A6;
  end;

theorem Th13:
  (for l being Instruction-Location of SCMPDS holds NIC(i,l)={Next l})
  implies JUMP i is empty
  proof
    assume
A1:   for l being Instruction-Location of SCMPDS holds NIC(i,l)={Next l};
    consider p, q being Element of the Instruction-Locations of SCMPDS
     such that
A2:   p <> q by YELLOW_8:def 1;
    set X = { NIC(i,f) where f is Instruction-Location of SCMPDS:
        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,Th10;
  end;

theorem Th14:
  NIC(goto k,l) = { 2*abs(k+locnum l) + 2 }
  proof
    set i = goto k;
    set X = { IC Following s where s is State of SCMPDS: IC s = l & s.l = i };
    set t = 2*abs(k+locnum l)+2;
A1: NIC(i,l) = X by AMISTD_1:def 5;
    l in { 2*k1 where k1 is Nat: k1 > 0 } by AMI_2:def 3,SCMPDS_2:def 1;
    then consider k1 being Nat such that
A2:   l = 2*k1 and
      k1 > 0;
A3: 2*locnum l + 2 = l by Th8;
A4: now
      thus 2*abs(locnum l+k) = abs(2)*abs(locnum l + k) by ABSVALUE:def 1
        .= abs(2*(locnum l+k)) by ABSVALUE:10;
    end;
    hereby
      let x be set;
      assume x in NIC(i,l);
      then consider s being State of SCMPDS such that
A5:     x = IC Following s and
A6:     IC s = l and
A7:     s.l = i by A1;
      consider m1 being Nat such that
A8:     m1 = IC s and
A9:     ICplusConst(s,k) = abs(m1-2+2*k)+2 by SCMPDS_2:def 20;
      x = Exec(i,s).IC SCMPDS by A5,A6,A7,Lm1
       .= abs(2*k1-2*1+2*k)+2 by A2,A6,A8,A9,SCMPDS_2:66
       .= abs(2*locnum l+2*k)+2 by A2,A3,XCMPLX_1:26
       .= t by A4,XCMPLX_1:8;
      hence x in {t} by TARSKI:def 1;
    end;
    let x be set;
    assume
A10:   x in {t};
    consider s being State of SCMPDS;
    reconsider il1 = l as Element of ObjectKind IC SCMPDS by AMI_1:def 11;
    reconsider I = i as Element of ObjectKind l by AMI_1:def 14;
    set u = s+*((IC SCMPDS, l)-->(il1, I));
A11: u.l = i by AMI_6:6;
A12: IC u = l by AMI_6:6;
    consider m1 being Nat such that
A13:   m1 = IC u and
A14:   ICplusConst(u,k) = abs(m1-2+2*k)+2 by SCMPDS_2:def 20;
    x = t by A10,TARSKI:def 1
     .= abs(2*locnum l+2*k)+2 by A4,XCMPLX_1:8
     .= abs(m1-2+2*k)+2 by A3,A12,A13,XCMPLX_1:26
     .= Exec(i,u).IC SCMPDS by A14,SCMPDS_2:66
     .= IC Following u by A11,A12,Lm1;
    hence thesis by A1,A11,A12;
  end;

Lm2:
for k being natural number st k > 1 holds k-2 is Nat
proof
  let k be natural number;
  assume k > 1;
  then k >= 1+1 by NAT_1:38;
  then k - 2 >= 2 - 2 by REAL_1:49;
  hence thesis by INT_1:16;
end;

theorem Th15:
  NIC(return a,l) = {2*k where k is Nat: k > 1}
  proof
    set i = return a;
    set X = {2*k where k is Nat: k > 1};
A1: NIC(i,l) = { IC Following s where s is State of SCMPDS:
        IC s = l & s.l = i } by AMISTD_1:def 5;
    hereby
      let x be set;
      assume x in NIC(i,l);
      then consider s being State of SCMPDS such that
A2:     x = IC Following s and
A3:     IC s = l and
A4:     s.l = i by A1;
A5:   x = Exec(i,s).IC SCMPDS by A2,A3,A4,Lm1
       .= 2*(abs(s.DataLoc(s.a,1)) div 2)+2*2 by SCMPDS_1:def 23,SCMPDS_2:70;
      x in { 2*k where k is Nat: k > 0 } by A2,AMI_2:def 3,SCMPDS_2:def 1;
      then consider k being Nat such that
A6:     x = 2*k and k > 0;
A7:   2*k = 2*((abs(s.DataLoc(s.a,1)) div 2)+2) by A5,A6,XCMPLX_1:8;
      abs(s.DataLoc(s.a,1)) div 2 >= 0 by NAT_1:18;
      then (abs(s.DataLoc(s.a,1)) div 2)+2 >= 0+2 by AXIOMS:24;
      then k >= 1+1 by A7,XCMPLX_1:5;
      then k > 1 by NAT_1:38;
      hence x in X by A6;
    end;
    let x be set;
    assume x in X;
    then consider k being Nat such that
A8:   x = 2*k and
A9:   k > 1;
    reconsider k2 = k - 2 as Nat by A9,Lm2;
    a in SCM-Data-Loc by SCMPDS_2:def 2;
    then consider j being Nat such that
A10:   a = 2*j+1 by AMI_2:def 2;
    consider s being State of SCMPDS;
    reconsider il1 = l as Element of ObjectKind IC SCMPDS by AMI_1:def 11;
    reconsider I = i as Element of ObjectKind l by AMI_1:def 14;
    set u = s +* ((IC SCMPDS, l)-->(il1, I));
    set t = 2*j+1+2;
    t = 2*j+2*1+1 by XCMPLX_1:1
     .= 2*(j+1)+1 by XCMPLX_1:8;
    then t in SCM-Data-Loc by AMI_2:def 2;
    then reconsider t1 = t as Int_position by SCMPDS_2:9;
    set g = (a,t1)-->(j,2*k2);
    set v = u +* g;
A11: dom g = {a,t} by FUNCT_4:65;
A12: u.l = i by AMI_6:6;
A13: u.IC SCMPDS = IC u by AMI_1:def 15
      .= l by AMI_6:6;
    l <> a & l <> t1 by SCMPDS_2:53;
    then not l in dom g by A11,TARSKI:def 2;
    then
A14: v.l = i by A12,FUNCT_4:12;
    a <> IC SCMPDS & t1 <> IC SCMPDS by SCMPDS_2:52;
    then
A15: not IC SCMPDS in dom g by A11,TARSKI:def 2;
A16: IC v = v.IC SCMPDS by AMI_1:def 15
      .= l by A13,A15,FUNCT_4:12;
    a = 2*j+1+0 by A10;
    then
A17: a <> t by XCMPLX_1:2;
    then
A18: v.a = j by Th7;
A19: v.t = 2*k2 by A17,Th7;
A20: j+1 >= 0 by NAT_1:18;
A21: DataLoc(j,1) = 2*abs(j+1)+1 by SCMPDS_2:def 4
     .= 2*(j+1)+1 by A20,ABSVALUE:def 1
     .= 2*j+2*1+1 by XCMPLX_1:8
     .= t by XCMPLX_1:1;
    reconsider r = v.t as Nat by A17,Th7;
A22: r >= 0 by NAT_1:18;
    x = 2*(k2 + 2) by A8,XCMPLX_1:27
     .= 2*((2*k2 div 2) + 2) by GROUP_4:107
     .= 2*((abs(r) div 2)+2) by A19,A22,ABSVALUE:def 1
     .= 2*(abs(v.DataLoc(j,1)) div 2) + 2*2 by A21,XCMPLX_1:8
     .= Exec(i,v).IC SCMPDS by A18,SCMPDS_1:def 23,SCMPDS_2:70
     .= IC Following v by A14,A16,Lm1;
    hence x in NIC(i,l) by A1,A14,A16;
  end;

theorem Th16:
  NIC(saveIC(a,k1), l) = {Next l}
  proof
    set i = saveIC(a,k1);
    for s being State of SCMPDS st IC s = l & s.l = i
     holds Exec(i,s).IC SCMPDS = Next IC s by SCMPDS_2:71;
    hence thesis by Th12;
  end;

theorem Th17:
  NIC(a:=k1, l) = {Next l}
  proof
    set i = a:=k1;
    for s being State of SCMPDS st IC s = l & s.l = i
     holds Exec(i,s).IC SCMPDS = Next IC s by SCMPDS_2:57;
    hence thesis by Th12;
  end;

theorem Th18:
  NIC((a,k1):=k2, l) = {Next l}
  proof
    set i = (a,k1):=k2;
    for s being State of SCMPDS st IC s = l & s.l = i
     holds Exec(i,s).IC SCMPDS = Next IC s by SCMPDS_2:58;
    hence thesis by Th12;
  end;

theorem Th19:
  NIC((a,k1):=(b,k2), l) = {Next l}
  proof
    set i = (a,k1):=(b,k2);
    for s being State of SCMPDS st IC s = l & s.l = i
     holds Exec(i,s).IC SCMPDS = Next IC s by SCMPDS_2:59;
    hence thesis by Th12;
  end;

theorem Th20:
  NIC(AddTo(a,k1,k2), l) = {Next l}
  proof
    set i = AddTo(a,k1,k2);
    for s being State of SCMPDS st IC s = l & s.l = i
     holds Exec(i,s).IC SCMPDS = Next IC s by SCMPDS_2:60;
    hence thesis by Th12;
  end;

theorem Th21:
  NIC(AddTo(a,k1,b,k2), l) = {Next l}
  proof
    set i = AddTo(a,k1,b,k2);
    for s being State of SCMPDS st IC s = l & s.l = i
     holds Exec(i,s).IC SCMPDS = Next IC s by SCMPDS_2:61;
    hence thesis by Th12;
  end;

theorem Th22:
  NIC(SubFrom(a,k1,b,k2), l) = {Next l}
  proof
    set i = SubFrom(a,k1,b,k2);
    for s being State of SCMPDS st IC s = l & s.l = i
     holds Exec(i,s).IC SCMPDS = Next IC s by SCMPDS_2:62;
    hence thesis by Th12;
  end;

theorem Th23:
  NIC(MultBy(a,k1,b,k2), l) = {Next l}
  proof
    set i = MultBy(a,k1,b,k2);
    for s being State of SCMPDS st IC s = l & s.l = i
     holds Exec(i,s).IC SCMPDS = Next IC s by SCMPDS_2:63;
    hence thesis by Th12;
  end;

theorem Th24:
  NIC(Divide(a,k1,b,k2), l) = {Next l}
  proof
    set i = Divide(a,k1,b,k2);
    for s being State of SCMPDS st IC s = l & s.l = i
     holds Exec(i,s).IC SCMPDS = Next IC s by SCMPDS_2:64;
    hence thesis by Th12;
  end;

theorem
  NIC((a,k1)<>0_goto k2,l) = { Next l, abs( 2*(k2+locnum l) ) + 2 }
  proof
    set i = (a,k1)<>0_goto k2;
    set X = { IC Following s where s is State of SCMPDS: IC s = l & s.l = i };
    set t = abs(2*(k2+locnum l))+2;
A1: NIC(i,l) = X by AMISTD_1:def 5;
    l in { 2*w1 where w1 is Nat: w1 > 0 } by AMI_2:def 3,SCMPDS_2:def 1;
    then consider w1 being Nat such that
A2:   l = 2*w1 and
      w1 > 0;
A3: 2*locnum l + 2 = l by Th8;
    hereby
      let x be set;
      assume x in NIC(i,l);
      then consider s being State of SCMPDS such that
A4:     x = IC Following s and
A5:     IC s = l and
A6:     s.l = i by A1;
      consider m1 being Nat such that
A7:     m1 = IC s and
A8:     ICplusConst(s,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
      per cases;
      suppose
A9:     s.DataLoc(s.a,k1) <> 0;
      x = Exec(i,s).IC SCMPDS by A4,A5,A6,Lm1
       .= abs(2*w1-2*1+2*k2)+2 by A2,A5,A7,A8,A9,SCMPDS_2:67
       .= abs(2*locnum l+2*k2)+2 by A2,A3,XCMPLX_1:26
       .= t by XCMPLX_1:8;
      hence x in {Next l,t} by TARSKI:def 2;
      suppose
A10:     s.DataLoc(s.a,k1) = 0;
      x = Exec(i,s).IC SCMPDS by A4,A5,A6,Lm1
       .= Next l by A5,A10,SCMPDS_2:67;
      hence x in {Next l,t} by TARSKI:def 2;
    end;
    let x be set;
    assume
A11:   x in {Next l,t};
    consider s being State of SCMPDS;
    reconsider il1 = l as Element of ObjectKind IC SCMPDS by AMI_1:def 11;
    reconsider I = i as Element of ObjectKind l by AMI_1:def 14;
    set u = s+*((IC SCMPDS, l)-->(il1, I));
    per cases by A11,TARSKI:def 2;
    suppose
A12:   x = Next l;
    set u1 = u +* (a.-->0);
    set u2 = u1 +* (DataLoc(u1.a,k1).-->0);
A13: l <> a by SCMPDS_2:53;
    l <> DataLoc(u1.a,k1) by SCMPDS_2:53;
    then
A14: u2.l = u1.l by Th6
        .= u.l by A13,Th6
        .= i by AMI_6:6;
A15: IC SCMPDS <> DataLoc(u1.a,k1) by SCMPDS_2:52;
A16: IC SCMPDS <> a by SCMPDS_2:52;
A17: IC u2 = u2.IC SCMPDS by AMI_1:def 15
         .= u1.IC SCMPDS by A15,Th6
         .= u.IC SCMPDS by A16,Th6
         .= IC u by AMI_1:def 15
         .= il1 by AMI_6:6;
A18: u2.DataLoc(u1.a,k1) = 0 by YELLOW14:3;
    u2.DataLoc(u2.a,k1) = 0
    proof
      per cases;
      suppose a = DataLoc(u1.a,k1);
      hence thesis by A18,YELLOW14:3;
      suppose a <> DataLoc(u1.a,k1);
      then u2.a = u1.a by Th6;
      hence thesis by YELLOW14:3;
    end;
    then x = Exec(i,u2).IC SCMPDS by A12,A17,SCMPDS_2:67
     .= IC Following u2 by A14,A17,Lm1;
    hence thesis by A1,A14,A17;
    suppose
A19:   x = t;
    set u1 = u +* (a.-->1);
    set u2 = u1 +* (DataLoc(u1.a,k1).-->1);
A20: l <> a by SCMPDS_2:53;
    l <> DataLoc(u1.a,k1) by SCMPDS_2:53;
    then
A21: u2.l = u1.l by Th6
        .= u.l by A20,Th6
        .= i by AMI_6:6;
A22: IC SCMPDS <> DataLoc(u1.a,k1) by SCMPDS_2:52;
A23: IC SCMPDS <> a by SCMPDS_2:52;
A24: IC u2 = u2.IC SCMPDS by AMI_1:def 15
         .= u1.IC SCMPDS by A22,Th6
         .= u.IC SCMPDS by A23,Th6
         .= IC u by AMI_1:def 15
         .= il1 by AMI_6:6;
A25: u2.DataLoc(u1.a,k1) = 1 by YELLOW14:3;
A26: u2.DataLoc(u2.a,k1) <> 0
    proof
      per cases;
      suppose a = DataLoc(u1.a,k1);
      hence thesis by A25,YELLOW14:3;
      suppose a <> DataLoc(u1.a,k1);
      then u2.a = u1.a by Th6;
      hence thesis by YELLOW14:3;
    end;
    consider m1 being Nat such that
A27:   m1 = IC u2 and
A28:   ICplusConst(u2,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
    x = abs(2*locnum l+2*k2)+2 by A19,XCMPLX_1:8
     .= abs(m1-2+2*k2)+2 by A3,A24,A27,XCMPLX_1:26
     .= Exec(i,u2).IC SCMPDS by A26,A28,SCMPDS_2:67
     .= IC Following u2 by A21,A24,Lm1;
    hence thesis by A1,A21,A24;
  end;

theorem
  NIC((a,k1)<=0_goto k2,l) = { Next l, abs( 2*(k2+locnum l) ) + 2 }
  proof
    set i = (a,k1)<=0_goto k2;
    set X = { IC Following s where s is State of SCMPDS: IC s = l & s.l = i };
    set t = abs(2*(k2+locnum l))+2;
A1: NIC(i,l) = X by AMISTD_1:def 5;
    l in { 2*w1 where w1 is Nat: w1 > 0 } by AMI_2:def 3,SCMPDS_2:def 1;
    then consider w1 being Nat such that
A2:   l = 2*w1 and
      w1 > 0;
A3: 2*locnum l + 2 = l by Th8;
    hereby
      let x be set;
      assume x in NIC(i,l);
      then consider s being State of SCMPDS such that
A4:     x = IC Following s and
A5:     IC s = l and
A6:     s.l = i by A1;
      consider m1 being Nat such that
A7:     m1 = IC s and
A8:     ICplusConst(s,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
      per cases;
      suppose
A9:     s.DataLoc(s.a,k1) <= 0;
      x = Exec(i,s).IC SCMPDS by A4,A5,A6,Lm1
       .= abs(2*w1-2*1+2*k2)+2 by A2,A5,A7,A8,A9,SCMPDS_2:68
       .= abs(2*locnum l+2*k2)+2 by A2,A3,XCMPLX_1:26
       .= t by XCMPLX_1:8;
      hence x in {Next l,t} by TARSKI:def 2;
      suppose
A10:     s.DataLoc(s.a,k1) > 0;
      x = Exec(i,s).IC SCMPDS by A4,A5,A6,Lm1
       .= Next l by A5,A10,SCMPDS_2:68;
      hence x in {Next l,t} by TARSKI:def 2;
    end;
    let x be set;
    assume
A11:   x in {Next l,t};
    consider s being State of SCMPDS;
    reconsider il1 = l as Element of ObjectKind IC SCMPDS by AMI_1:def 11;
    reconsider I = i as Element of ObjectKind l by AMI_1:def 14;
    set u = s+*((IC SCMPDS, l)-->(il1, I));
    per cases by A11,TARSKI:def 2;
    suppose
A12:   x = Next l;
    set u1 = u +* (a.-->1);
    set u2 = u1 +* (DataLoc(u1.a,k1).-->1);
A13: l <> a by SCMPDS_2:53;
    l <> DataLoc(u1.a,k1) by SCMPDS_2:53;
    then
A14: u2.l = u1.l by Th6
        .= u.l by A13,Th6
        .= i by AMI_6:6;
A15: IC SCMPDS <> DataLoc(u1.a,k1) by SCMPDS_2:52;
A16: IC SCMPDS <> a by SCMPDS_2:52;
A17: IC u2 = u2.IC SCMPDS by AMI_1:def 15
         .= u1.IC SCMPDS by A15,Th6
         .= u.IC SCMPDS by A16,Th6
         .= IC u by AMI_1:def 15
         .= il1 by AMI_6:6;
A18: u2.DataLoc(u1.a,k1) = 1 by YELLOW14:3;
A19: 1 > 0;
    u2.DataLoc(u2.a,k1) > 0
    proof
      per cases;
      suppose a = DataLoc(u1.a,k1);
      hence thesis by A18,A19,YELLOW14:3;
      suppose a <> DataLoc(u1.a,k1);
      then u2.a = u1.a by Th6;
      hence thesis by A19,YELLOW14:3;
    end;
    then x = Exec(i,u2).IC SCMPDS by A12,A17,SCMPDS_2:68
     .= IC Following u2 by A14,A17,Lm1;
    hence thesis by A1,A14,A17;
    suppose
A20:   x = t;
    set u1 = u +* (a.-->0);
    set u2 = u1 +* (DataLoc(u1.a,k1).-->0);
A21: l <> a by SCMPDS_2:53;
    l <> DataLoc(u1.a,k1) by SCMPDS_2:53;
    then
A22: u2.l = u1.l by Th6
        .= u.l by A21,Th6
        .= i by AMI_6:6;
A23: IC SCMPDS <> DataLoc(u1.a,k1) by SCMPDS_2:52;
A24: IC SCMPDS <> a by SCMPDS_2:52;
A25: IC u2 = u2.IC SCMPDS by AMI_1:def 15
         .= u1.IC SCMPDS by A23,Th6
         .= u.IC SCMPDS by A24,Th6
         .= IC u by AMI_1:def 15
         .= il1 by AMI_6:6;
A26: u2.DataLoc(u1.a,k1) = 0 by YELLOW14:3;
A27: u2.DataLoc(u2.a,k1) <= 0
    proof
      per cases;
      suppose a = DataLoc(u1.a,k1);
      hence thesis by A26,YELLOW14:3;
      suppose a <> DataLoc(u1.a,k1);
      then u2.a = u1.a by Th6;
      hence thesis by YELLOW14:3;
    end;
    consider m1 being Nat such that
A28:   m1 = IC u2 and
A29:   ICplusConst(u2,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
    x = abs(2*locnum l+2*k2)+2 by A20,XCMPLX_1:8
     .= abs(m1-2+2*k2)+2 by A3,A25,A28,XCMPLX_1:26
     .= Exec(i,u2).IC SCMPDS by A27,A29,SCMPDS_2:68
     .= IC Following u2 by A22,A25,Lm1;
    hence thesis by A1,A22,A25;
  end;

theorem
  NIC((a,k1)>=0_goto k2,l) = { Next l, abs( 2*(k2+locnum l) ) + 2 }
  proof
    set i = (a,k1)>=0_goto k2;
    set X = { IC Following s where s is State of SCMPDS: IC s = l & s.l = i };
    set t = abs(2*(k2+locnum l))+2;
A1: NIC(i,l) = X by AMISTD_1:def 5;
    l in { 2*w1 where w1 is Nat: w1 > 0 } by AMI_2:def 3,SCMPDS_2:def 1;
    then consider w1 being Nat such that
A2:   l = 2*w1 and
      w1 > 0;
A3: 2*locnum l + 2 = l by Th8;
    hereby
      let x be set;
      assume x in NIC(i,l);
      then consider s being State of SCMPDS such that
A4:     x = IC Following s and
A5:     IC s = l and
A6:     s.l = i by A1;
      consider m1 being Nat such that
A7:     m1 = IC s and
A8:     ICplusConst(s,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
      per cases;
      suppose
A9:     s.DataLoc(s.a,k1) >= 0;
      x = Exec(i,s).IC SCMPDS by A4,A5,A6,Lm1
       .= abs(2*w1-2*1+2*k2)+2 by A2,A5,A7,A8,A9,SCMPDS_2:69
       .= abs(2*locnum l+2*k2)+2 by A2,A3,XCMPLX_1:26
       .= t by XCMPLX_1:8;
      hence x in {Next l,t} by TARSKI:def 2;
      suppose
A10:     s.DataLoc(s.a,k1) < 0;
      x = Exec(i,s).IC SCMPDS by A4,A5,A6,Lm1
       .= Next l by A5,A10,SCMPDS_2:69;
      hence x in {Next l,t} by TARSKI:def 2;
    end;
    let x be set;
    assume
A11:   x in {Next l,t};
    consider s being State of SCMPDS;
    reconsider il1 = l as Element of ObjectKind IC SCMPDS by AMI_1:def 11;
    reconsider I = i as Element of ObjectKind l by AMI_1:def 14;
    set u = s+*((IC SCMPDS, l)-->(il1, I));
    per cases by A11,TARSKI:def 2;
    suppose
A12:   x = Next l;
    set u1 = u +* (a.-->-1);
    set u2 = u1 +* (DataLoc(u1.a,k1).-->-1);
A13: l <> a by SCMPDS_2:53;
    l <> DataLoc(u1.a,k1) by SCMPDS_2:53;
    then
A14: u2.l = u1.l by Th6
        .= u.l by A13,Th6
        .= i by AMI_6:6;
A15: IC SCMPDS <> DataLoc(u1.a,k1) by SCMPDS_2:52;
A16: IC SCMPDS <> a by SCMPDS_2:52;
A17: IC u2 = u2.IC SCMPDS by AMI_1:def 15
         .= u1.IC SCMPDS by A15,Th6
         .= u.IC SCMPDS by A16,Th6
         .= IC u by AMI_1:def 15
         .= il1 by AMI_6:6;
A18: u2.DataLoc(u1.a,k1) = -1 by YELLOW14:3;
A19: -1 < 0;
    u2.DataLoc(u2.a,k1) < 0
    proof
      per cases;
      suppose a = DataLoc(u1.a,k1);
      hence thesis by A18,A19,YELLOW14:3;
      suppose a <> DataLoc(u1.a,k1);
      then u2.a = u1.a by Th6;
      hence thesis by A19,YELLOW14:3;
    end;
    then x = Exec(i,u2).IC SCMPDS by A12,A17,SCMPDS_2:69
     .= IC Following u2 by A14,A17,Lm1;
    hence thesis by A1,A14,A17;
    suppose
A20:   x = t;
    set u1 = u +* (a.-->0);
    set u2 = u1 +* (DataLoc(u1.a,k1).-->0);
A21: l <> a by SCMPDS_2:53;
    l <> DataLoc(u1.a,k1) by SCMPDS_2:53;
    then
A22: u2.l = u1.l by Th6
        .= u.l by A21,Th6
        .= i by AMI_6:6;
A23: IC SCMPDS <> DataLoc(u1.a,k1) by SCMPDS_2:52;
A24: IC SCMPDS <> a by SCMPDS_2:52;
A25: IC u2 = u2.IC SCMPDS by AMI_1:def 15
         .= u1.IC SCMPDS by A23,Th6
         .= u.IC SCMPDS by A24,Th6
         .= IC u by AMI_1:def 15
         .= il1 by AMI_6:6;
A26: u2.DataLoc(u1.a,k1) = 0 by YELLOW14:3;
A27: u2.DataLoc(u2.a,k1) >= 0
    proof
      per cases;
      suppose a = DataLoc(u1.a,k1);
      hence thesis by A26,YELLOW14:3;
      suppose a <> DataLoc(u1.a,k1);
      then u2.a = u1.a by Th6;
      hence thesis by YELLOW14:3;
    end;
    consider m1 being Nat such that
A28:   m1 = IC u2 and
A29:   ICplusConst(u2,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
    x = abs(2*locnum l+2*k2)+2 by A20,XCMPLX_1:8
     .= abs(m1-2+2*k2)+2 by A3,A25,A28,XCMPLX_1:26
     .= Exec(i,u2).IC SCMPDS by A27,A29,SCMPDS_2:69
     .= IC Following u2 by A22,A25,Lm1;
    hence thesis by A1,A22,A25;
  end;

Lm3: JUMP goto k = {}
  proof
    set i = goto k;
    set X = { NIC(i,l) where l is Instruction-Location of SCMPDS:
        not contradiction };
    hereby
      let x be set;
      assume
A1:     x in JUMP i;
      set l1 = inspos 0;
A2:   NIC(i,l1) in X;
A3:   JUMP i = meet X by AMISTD_1:def 6;
      then x in NIC(i,l1) by A1,A2,SETFAM_1:def 1;
      then x in { IC Following s1 where s1 is State of SCMPDS:
           IC s1 = l1 & s1.l1 = i } by AMISTD_1:def 5;
      then consider s1 being State of SCMPDS such that
A4:     x = IC Following s1 and
A5:     IC s1 = l1 and
A6:     s1.l1 = i;
      consider m1 being Nat such that
A7:     m1 = IC s1 and
A8:     ICplusConst(s1,k) = abs(m1-2+2*k)+2 by SCMPDS_2:def 20;
A9:   m1 = il.0 by A5,A7,SCMPDS_3:def 2
        .= 2*0+2 by AMI_3:def 20;
A10:   x = (Following s1).IC SCMPDS by A4,AMI_1:def 15
       .= Exec(CurInstr s1,s1).IC SCMPDS by AMI_1:def 18
       .= Exec(i,s1).IC SCMPDS by A5,A6,AMI_1:def 17
       .= abs(m1-2+2*k)+2 by A8,SCMPDS_2:66;

      set l2 = inspos 1;
      NIC(i,l2) in X;
      then x in NIC(i,l2) by A1,A3,SETFAM_1:def 1;
      then x in { IC Following s2 where s2 is State of SCMPDS:
           IC s2 = l2 & s2.l2 = i } by AMISTD_1:def 5;
      then consider s2 being State of SCMPDS such that
A11:     x = IC Following s2 and
A12:     IC s2 = l2 and
A13:     s2.l2 = i;
      consider m2 being Nat such that
A14:     m2 = IC s2 and
A15:     ICplusConst(s2,k) = abs(m2-2+2*k)+2 by SCMPDS_2:def 20;
A16:   m2 = il.1 by A12,A14,SCMPDS_3:def 2
        .= 2*1+2 by AMI_3:def 20;
      x = (Following s2).IC SCMPDS by A11,AMI_1:def 15
       .= Exec(CurInstr s2,s2).IC SCMPDS by AMI_1:def 18
       .= Exec(i,s2).IC SCMPDS by A12,A13,AMI_1:def 17
       .= abs(m2-2+2*k)+2 by A15,SCMPDS_2:66;
      then
A17:   abs(m1-2+2*k) = abs(m2-2+2*k) by A10,XCMPLX_1:2;
      per cases by A9,A16,A17,Th3;
      suppose 0+2*k = 2+2*k;
      hence x in {} by XCMPLX_1:2;
      suppose
A18:     2*k = -(2+2*k);
      0 = -(2*k) + 2*k by XCMPLX_0:def 6
       .= 2 + (2*k + 2*k) by A18,XCMPLX_1:1
       .= 2 + ((2+2)*k) by XCMPLX_1:8;
      then -2 = 4*k by XCMPLX_0:def 6;
      then -2/4 = 4*k/4;
      then
A19:   -2/4 = k by XCMPLX_1:90;
      for i being Integer holds -i is integer;
      then --1/2 is integer by A19;
      hence x in {} by Th4;
    end;
    thus thesis by XBOOLE_1:2;
  end;

definition
  let k;
  cluster JUMP (goto k) -> empty;
coherence by Lm3;
end;

theorem Th28:
  JUMP (return a) = {2*k where k is Nat: k > 1}
  proof
    set i = return a;
    set A = {2*k where k is Nat: k > 1};
    JUMP i c= NIC(i,inspos(0)) by Th11;
    hence JUMP i c= A by Th15;
    let x be set;
    assume
A1:   x in A;
    set X = { NIC(i,l) where l is Instruction-Location of SCMPDS:
        not contradiction };
    now
      NIC(i,inspos(0)) in X;
      hence X <> {};
      let y be set;
      assume y in X;
      then consider l being Instruction-Location of SCMPDS such that
A2:     y = NIC(i,l);
A3:   NIC(i,l) = { IC Following s where s is State of SCMPDS:
        IC s = l & s.l = i } by AMISTD_1:def 5;
      a in SCM-Data-Loc by SCMPDS_2:def 2;
      then consider j being Nat such that
A4:     a = 2*j+1 by AMI_2:def 2;
      consider s being State of SCMPDS;
      reconsider il1 = l as Element of ObjectKind IC SCMPDS by AMI_1:def 11;
      reconsider I = i as Element of ObjectKind l by AMI_1:def 14;
      set u = s+*((IC SCMPDS, l)-->(il1, I));
      consider k being Nat such that
A5:     x = 2*k and
A6:     k > 1 by A1;
      set t = 2*j+1+2;
      t = 2*j+2*1+1 by XCMPLX_1:1
       .= 2*(j+1)+1 by XCMPLX_1:8;
      then t in SCM-Data-Loc by AMI_2:def 2;
      then reconsider t1 = t as Int_position by SCMPDS_2:9;
      reconsider k2 = k-2 as Nat by A6,Lm2;
      set g = (a,t1)-->(j,2*k2);
      set v = u +* g;
A7:   dom g = {a,t1} by FUNCT_4:65;
A8:   u.l = i by AMI_6:6;
A9:   u.IC SCMPDS = IC u by AMI_1:def 15
       .= l by AMI_6:6;
      l <> a & l <> t1 by SCMPDS_2:53;
      then not l in dom g by A7,TARSKI:def 2;
      then
A10:   v.l = i by A8,FUNCT_4:12;
      a <> IC SCMPDS & t1 <> IC SCMPDS by SCMPDS_2:52;
      then
A11:   not IC SCMPDS in dom g by A7,TARSKI:def 2;
A12:   IC v = v.IC SCMPDS by AMI_1:def 15
        .= l by A9,A11,FUNCT_4:12;
      a = 2*j+1+0 by A4;
      then
A13:   a <> t1 by XCMPLX_1:2;
      then
A14:   v.a = j by Th7;
A15:   v.t1 = 2*k2 by A13,Th7;
A16:   j+1 >= 0 by NAT_1:18;
A17:  DataLoc(j,1) = 2*abs(j+1)+1 by SCMPDS_2:def 4
       .= 2*(j+1)+1 by A16,ABSVALUE:def 1
       .= 2*j+2*1+1 by XCMPLX_1:8
       .= t by XCMPLX_1:1;
      reconsider r = v.t as Nat by A13,Th7;
A18:   r >= 0 by NAT_1:18;
      x = 2*(k2 + 2) by A5,XCMPLX_1:27
       .= 2*((2*k2 div 2) + 2) by GROUP_4:107
       .= 2*((abs(r) div 2)+2) by A15,A18,ABSVALUE:def 1
       .= 2*(abs(v.DataLoc(j,1)) div 2) + 2*2 by A17,XCMPLX_1:8
       .= Exec(i,v).IC SCMPDS by A14,SCMPDS_1:def 23,SCMPDS_2:70
       .= IC Following v by A10,A12,Lm1;
      hence x in y by A2,A3,A10,A12;
    end;
    then x in meet X by SETFAM_1:def 1;
    hence thesis by AMISTD_1:def 6;
  end;

definition
  let a;
  cluster JUMP (return a) -> infinite;
coherence by Th5,Th28;
end;

definition
  let a,k1;
  cluster JUMP (saveIC(a,k1)) -> empty;
coherence
  proof
    for l being Instruction-Location of SCMPDS holds
     NIC(saveIC(a,k1),l)={Next l} by Th16;
    hence thesis by Th13;
  end;
end;

definition
  let a,k1;
  cluster JUMP (a:=k1) -> empty;
coherence
  proof
    for l being Instruction-Location of SCMPDS holds NIC(a:=k1,l)={Next l}
     by Th17;
    hence thesis by Th13;
  end;
end;

definition
  let a,k1,k2;
  cluster JUMP ((a,k1):=k2) -> empty;
coherence
  proof
    for l being Instruction-Location of SCMPDS holds NIC((a,k1):=k2,l)={Next l}
     by Th18;
    hence thesis by Th13;
  end;
end;

definition
  let a,b,k1,k2;
  cluster JUMP ((a,k1):=(b,k2)) -> empty;
coherence
  proof
    for l being Instruction-Location of SCMPDS holds
     NIC((a,k1):=(b,k2),l)={Next l} by Th19;
    hence thesis by Th13;
  end;
end;

definition
  let a,k1,k2;
  cluster JUMP (AddTo(a,k1,k2)) -> empty;
coherence
  proof
    for l being Instruction-Location of SCMPDS holds
     NIC(AddTo(a,k1,k2),l)={Next l} by Th20;
    hence thesis by Th13;
  end;
end;

definition
  let a,b,k1,k2;
  cluster JUMP (AddTo(a,k1,b,k2)) -> empty;
coherence
  proof
    for l being Instruction-Location of SCMPDS holds
     NIC(AddTo(a,k1,b,k2),l)={Next l} by Th21;
    hence thesis by Th13;
  end;
  cluster JUMP (SubFrom(a,k1,b,k2)) -> empty;
coherence
  proof
    for l being Instruction-Location of SCMPDS holds
     NIC(SubFrom(a,k1,b,k2),l)={Next l} by Th22;
    hence thesis by Th13;
  end;
  cluster JUMP (MultBy(a,k1,b,k2)) -> empty;
coherence
  proof
    for l being Instruction-Location of SCMPDS holds
     NIC(MultBy(a,k1,b,k2),l)={Next l} by Th23;
    hence thesis by Th13;
  end;
  cluster JUMP (Divide(a,k1,b,k2)) -> empty;
coherence
  proof
    for l being Instruction-Location of SCMPDS holds
     NIC(Divide(a,k1,b,k2),l)={Next l} by Th24;
    hence thesis by Th13;
  end;
end;

Lm4:
for a,b being real number holds a+b + (a+b+b) = 2*a+(b+b+b)
proof
  let a,b be real number;
  thus a+b + (a+b+b) = a+b + (a+b)+b by XCMPLX_1:1
        .= a+b + a+b+b by XCMPLX_1:1
        .= 1*a+1*a+b+b+b by XCMPLX_1:1
        .= (1+1)*a+b+b+b by XCMPLX_1:8
        .= 2*a+(b+b)+b by XCMPLX_1:1
        .= 2*a+(b+b+b) by XCMPLX_1:1;
end;

Lm5:
  for b,c,d being real number st 2*b+2-2+2*d = 2*(b+c)+2-2+2*d
   holds b = b+c
  proof
    let b,c,d be real number;
    assume 2*b+2-2+2*d = 2*(b+c)+2-2+2*d;
    then 2*b+2-2 = 2*(b+c)+2-2 by XCMPLX_1:2;
    then 2*b+2 = 2*(b+c)+2 by XCMPLX_1:19;
    then 2*b = 2*(b+c) by XCMPLX_1:2;
    hence b = b+c by XCMPLX_1:5;
  end;

Lm6:
  for a,c,d being real number st
   2*(a+c)+2-2+2*d = -(2*(a+c+c)+2-2+2*d)
  holds d + a = (-2)*(c+c+c)/4
  proof
    let a,c,d be real number;
    set b = a+c;
    set e = b+c;
    set xx = c+c+c;
A1: b + e = 2*a+xx by Lm4;
    assume 2*(a+c)+2-2+2*d = -(2*(a+c+c)+2-2+2*d);
    then 2*b+2*d = -(2*e+2-2+2*d) by XCMPLX_1:26;
    then
A2: 2*b+2*d = -(2*e+2*d) by XCMPLX_1:26;
A3: 4*d/4 = d by XCMPLX_1:90;
    0 = -(2*e+2*d) + (2*e+2*d) by XCMPLX_0:def 6
     .= 2*b + 2*d + 2*e + 2*d by A2,XCMPLX_1:1
     .= 2*b + 2*e + 2*d + 2*d by XCMPLX_1:1
     .= 2*b + 2*e + (2*d + 2*d) by XCMPLX_1:1
     .= 2*b + 2*e + (d*(2+2)) by XCMPLX_1:8
     .= 2*(b+e) + 4*d by XCMPLX_1:8;
    then (-2*(b+e))/4 = 4*d/4 by XCMPLX_0:def 6;
    then d = ((-2)*(2*a+xx))/4 by A1,A3,XCMPLX_1:175
           .= ((-2)*xx + (-2)*(2*a)) / 4 by XCMPLX_1:8
           .= (-2)*xx/4 + (-2)*(2*a)/4 by XCMPLX_1:63
           .= (-2)*xx/4 + (-2)*2*a/4 by XCMPLX_1:4
           .= (-2)*xx/4 + ((-4)*a)/4
           .= (-2)*xx/4 + (-4*a)/4 by XCMPLX_1:175
           .= (-2)*xx/4 + -4*a/4 by XCMPLX_1:188
           .= (-2)*xx/4 + -a by XCMPLX_1:90
           .= (-2)*xx/4 - a by XCMPLX_0:def 8;
    hence d + a = (-2)*xx/4 by XCMPLX_1:27;
  end;

Lm7:
  5/3 is not integer
  proof
    not 3 qua Integer divides 5
    proof
      assume not thesis;
      then 3 divides 5 by SCPINVAR:2;
      then
A1:   5 mod 3 = 0 by PEPIN:6;
      5 = 3 * 1 + 2;
      hence contradiction by A1,NAT_1:def 2;
    end;
    hence 5/3 is not integer by WSIERP_1:22;
  end;

Lm8:
  for a being real number st a > 0 holds -(2*a+(1+a)) < -0
  proof
    let a be real number;
    assume
A1:   a > 0;
    then
A2: 2*a > 2*0 by REAL_1:70;
    1+a > 1+0 by A1,REAL_1:67;
    then 2*a+(1+a) > 1+0 by A2,REAL_1:67;
    then 2*a+(1+a) > 0 by AXIOMS:22;
    hence -(2*a+(1+a)) < -0 by REAL_1:50;
end;

Lm9:
  for a,c,d being real number st 2*(a+c)+2 = -(2*(a+c)+2*c+2*d)
    holds 2*a+d = -(2*c+(1+c))
  proof
    let a,c,d be real number;
    set b = a+c;
    assume 2*b+2 = -(2*b+2*c+2*d);
    then 2*0 = 2*b+2 + (2*b+2*c+2*d) by XCMPLX_0:def 6
          .= 2*b+2+(2*b+(2*c+2*d)) by XCMPLX_1:1
          .= 2*b+(2+2*b)+(2*c+2*d) by XCMPLX_1:1
          .= 2*b+2*b+2+(2*c+2*d) by XCMPLX_1:1
          .= 2*(b+b)+2+(2*c+2*d) by XCMPLX_1:8
          .= 2*(b+b)+2+2*c+2*d by XCMPLX_1:1
          .= 2*(b+b)+(2+2*c)+2*d by XCMPLX_1:1
          .= 2*(b+b)+2*d+(2*1+2*c) by XCMPLX_1:1
          .= 2*(b+b)+2*d+2*(1+c) by XCMPLX_1:8
          .= 2*(b+b+d+(1+c)) by XCMPLX_1:9;
    then 0 = 1*b+1*b+d+(1+c) by XCMPLX_1:5
          .= (1+1)*b+d+(1+c) by XCMPLX_1:8
          .= 2*a+2*c+d+(1+c) by XCMPLX_1:8
          .= 2*a+d + 2*c+(1+c) by XCMPLX_1:1
          .= 2*a+d + (2*c+(1+c)) by XCMPLX_1:1;
    hence 2*a+d = -(2*c+(1+c)) by XCMPLX_0:def 6;
  end;

Lm10:
  for a,c,d being real number st 2*(a+c+c)+2 = -(2*(a+c)+2*d)
   holds 2*a+d = -(2*c+(c+1))
  proof
    let a,c,d be real number;
    set b = a+c;
    assume 2*(b+c)+2 = -(2*b+2*d);
    then 2*0 = 2*(b+c)+2 + (2*b+2*d) by XCMPLX_0:def 6
      .= 2*(b+c)+2*1+2*(b+d) by XCMPLX_1:8
      .= 2*(b+c+1+(b+d)) by XCMPLX_1:9;
    then 0 = b+c+1+(b+d) by XCMPLX_1:5
          .= b+(c+1)+(b+d) by XCMPLX_1:1
          .= b+(b+(c+1)+d) by XCMPLX_1:1
          .= b+(b+(c+1+d)) by XCMPLX_1:1
          .= 1*b+1*b+(c+1+d) by XCMPLX_1:1
          .= (1+1)*b+(c+1+d) by XCMPLX_1:8
          .= 2*b+d+(c+1) by XCMPLX_1:1
          .= 2*a+2*c+d+(c+1) by XCMPLX_1:8
          .= 2*a+d+2*c+(c+1) by XCMPLX_1:1
          .= 2*a+d+(2*c+(c+1)) by XCMPLX_1:1;
    hence 2*a+d = -(2*c+(c+1)) by XCMPLX_0:def 6;
  end;

Lm11:
  for a,b,d being real number holds -d+a+4 = 1-d+(a+3)
  proof
    let a,b,d be real number;
    thus -d+a+4 = -d+(a+(1+3)) by XCMPLX_1:1
      .= -d+(1+a+3) by XCMPLX_1:1
      .= -d+(1+a)+3 by XCMPLX_1:1
      .= -d+1+a+3 by XCMPLX_1:1
      .= 1-d+a+3 by XCMPLX_0:def 8
      .= 1-d+(a+3) by XCMPLX_1:1;
  end;

Lm12:
  for a,b,d being real number st 2*(b+(-d+a+4)+1)= 2*(b+d)
   holds 0 = a - 2*d+(2 + 3)
  proof
    let a,b,d be real number;
    set c = -d+a+4;
    assume 2*(b+c+1) = 2*(b+d);
    then b+c+1 = b+d by XCMPLX_1:5;
    then b+(c+1) = b+d by XCMPLX_1:1;
    then c+1 = d by XCMPLX_1:2;
    then
A1: c = d-1 by XCMPLX_1:26
      .= -(1-d) by XCMPLX_1:143;
    c = -d+(a+4) by XCMPLX_1:1;
    hence 0 = -d+(a+4) + (1-d) by A1,XCMPLX_0:def 6
     .= a + (4 + -d) + (1-d) by XCMPLX_1:1
     .= a + (4 + -d + (1-d)) by XCMPLX_1:1
     .= a + (4 + -d + (1+-d)) by XCMPLX_0:def 8
     .= a + (4 + (-d + 1+-d)) by XCMPLX_1:1
     .= a + (4 + (-d + -d + 1)) by XCMPLX_1:1
     .= a + (4 + (-(d+d) + 1)) by XCMPLX_1:140
     .= a + (4 + (-(2*d) + 1)) by XCMPLX_1:11
     .= a + (-(2*d) + (4+1)) by XCMPLX_1:1
     .= a + -(2*d) + (4+1) by XCMPLX_1:1
     .= a - 2*d+(2 + 3) by XCMPLX_0:def 8;
  end;

Lm13:
  for d being real number holds
   2*(abs(d)+(-d+abs(d)+4))+2-2+2*d <>
   -(2*(abs(d)+(-d+abs(d)+4)+(-d+abs(d)+4))+2-2+2*d)
  proof
    let d be real number;
    set c = -d+abs(d)+4;
    set xx = c+c+c;
    assume 2*(abs(d)+c)+2-2+2*d = -(2*(abs(d)+c+(-d+abs(d)+4))+2-2+2*d);
    then
A1: d + abs(d) = (-2)*xx/4 by Lm6;
    -d+abs(d) >= 0 by Th2;
    then c >= 0+4 by AXIOMS:24;
    then c > 0 by AXIOMS:22;
    then 3*c > 3*0 by REAL_1:70;
    then xx > 0 by XCMPLX_1:12;
    then (-2)*xx < (-2)*0 by REAL_1:71;
    then (-2)*xx/4 < 0/4 by REAL_1:73;
    hence contradiction by A1,Th1;
  end;

Lm14:
  for b,d being real number holds
    2*b+2 <> 2*b + (2*(-d+abs(d)+4) + 2*d)
  proof
    let b,d be real number;
    set c = -d+abs(d)+4;
    assume 2*b+2 = 2*b + (2*c + 2*d);
    then 2*c+2*d = 2 by XCMPLX_1:2;
    then 2*(c+d) = 2*1 by XCMPLX_1:8;
    then c+d-d = 1-d by XCMPLX_1:5;
    then
A1: c = 1-d+0 by XCMPLX_1:26;
A2: c = 1-d+(abs(d)+3) by Lm11;
    abs(d) >= 0 by ABSVALUE:5;
    then abs(d)+3 >= 0+3 by REAL_1:55;
    then abs(d)+3 <> 0;
    hence thesis by A1,A2,XCMPLX_1:2;
  end;

Lm15:
  for c,d being real number st c > 0 holds
   2*(abs(d)+c)+2 <> -(2*(abs(d)+c)+2*c+2*d)
  proof
    let c,d be real number;
    assume
A1:   c > 0;
    assume 2*(abs(d)+c)+2 = -(2*(abs(d)+c)+2*c+2*d);
    then
A2: 2*abs(d)+d = -(2*c+(1+c)) by Lm9;
    per cases;
    suppose
A3:   d >= 0;
    then
A4: -(2*c+(1+c)) = 2*d+1*d by A2,ABSVALUE:def 1
         .= (2+1)*d by XCMPLX_1:8;
    3*d >= 3*0 by A3,AXIOMS:25;
    hence thesis by A1,A4,Lm8;
    suppose
A5:   d < 0;
    then abs(d) = -d by ABSVALUE:def 1;
    then
A6: -(2*c+(1+c)) = (-2)*d+1*d by A2,XCMPLX_1:176
        .= (-2+1)*d by XCMPLX_1:8;
    (-1)*d >= (-1)*0 by A5,REAL_1:52;
    hence thesis by A1,A6,Lm8;
  end;

Lm16:
  for b being real number, d being Integer st d <> 5 holds
    2*(b+(-d+abs(d)+4)+1) <> 2*(b+d)
  proof
    let b be real number,
        d be Integer;
    assume
A1:   d <> 5;
    assume 2*(b+(-d+abs(d)+4)+1) = 2*(b+d);
    then
A2: 0 = abs(d) - 2*d+(2 + 3) by Lm12;
    per cases;
    suppose d >= 0;
    then abs(d) = d by ABSVALUE:def 1;
    then -d+5 = 0 by A2,XCMPLX_1:187;
    hence thesis by A1,XCMPLX_1:136;
    suppose d < 0;
    then abs(d) = -d by ABSVALUE:def 1;
    then 0 = (-1)*d-2*d+(2+3) by A2,XCMPLX_1:180
      .= (-1-2)*d+(2+3) by XCMPLX_1:40;
    then (-3)*d/-3 = (-5)/-3 by XCMPLX_0:def 6;
    hence thesis by Lm7,XCMPLX_1:90;
  end;

Lm17:
  for c,d being real number st -(2*c+(1+c)) < -0
    holds 2*(abs(d)+c+c)+2 <> -(2*(abs(d)+c)+2*d)
  proof
    let c,d be real number;
    assume
A1:   -(2*c+(1+c)) < -0;
    assume 2*(abs(d)+c+c)+2 = -(2*(abs(d)+c)+2*d);
    then
A2: 2*abs(d)+d = -(2*c+(c+1)) by Lm10;
A3: 0 <= abs(d)+d by Th1;
    0 <= abs(d) by ABSVALUE:5;
    then 1*abs(d) <= 2*abs(d) by AXIOMS:25;
    hence thesis by A1,A2,A3,AXIOMS:24;
  end;

Lm18:
  JUMP ((a,k1)<>0_goto 5) = {}
  proof
    set k2 = 5;
    set i = (a,k1)<>0_goto k2;
    set X = { NIC(i,l) where l is Instruction-Location of SCMPDS:
        not contradiction };
    hereby
      let x be set;
      assume
A1:     x in JUMP i;
      set nl1 = 5;
      set nl2 = 8;
      set l1 = inspos nl1;
A2:   NIC(i,l1) in X;
A3:   JUMP i = meet X by AMISTD_1:def 6;
      then x in NIC(i,l1) by A1,A2,SETFAM_1:def 1;
      then x in { IC Following s1 where s1 is State of SCMPDS:
           IC s1 = l1 & s1.l1 = i } by AMISTD_1:def 5;
      then consider s1 being State of SCMPDS such that
A4:     x = IC Following s1 and
A5:     IC s1 = l1 and
A6:     s1.l1 = i;
      consider m1 being Nat such that
A7:     m1 = IC s1 and
A8:     ICplusConst(s1,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
A9:   m1 = il.nl1 by A5,A7,SCMPDS_3:def 2
        .= 2*nl1+2 by AMI_3:def 20;

      set l2 = inspos nl2;
      NIC(i,l2) in X;
      then x in NIC(i,l2) by A1,A3,SETFAM_1:def 1;
      then x in { IC Following s2 where s2 is State of SCMPDS:
           IC s2 = l2 & s2.l2 = i } by AMISTD_1:def 5;
      then consider s2 being State of SCMPDS such that
A10:     x = IC Following s2 and
A11:     IC s2 = l2 and
A12:     s2.l2 = i;
      consider m2 being Nat such that
A13:     m2 = IC s2 and
A14:     ICplusConst(s2,k2) = abs(m2-2+2*k2)+2 by SCMPDS_2:def 20;
A15:   m2 = il.nl2 by A11,A13,SCMPDS_3:def 2
        .= 2*nl2+2 by AMI_3:def 20;
A16:   l1 <> l2 by SCMPDS_3:31;

      per cases;
      suppose that
A17:     s1.DataLoc(s1.a,k1) <> 0 and
A18:     s2.DataLoc(s2.a,k1) <> 0;
A19:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= abs(m1-2+2*k2)+2 by A8,A17,SCMPDS_2:67;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= abs(m2-2+2*k2)+2 by A14,A18,SCMPDS_2:67;
      then abs(m1-2+2*k2) = abs(m2-2+2*k2) by A19,XCMPLX_1:2;
      then 2*nl1+2-2+2*k2 = 2*nl2+2-2+2*k2 or
        2*nl1+2-2+2*k2 = -(2*nl2+2-2+2*k2) by A9,A15,Th3;
      hence x in {};

      suppose that
A20:     s1.DataLoc(s1.a,k1) = 0 and
A21:     s2.DataLoc(s2.a,k1) = 0;
A22:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= Next l1 by A5,A20,SCMPDS_2:67;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= Next l2 by A11,A21,SCMPDS_2:67;
      hence x in {} by A16,A22,Th10;

      suppose that
A23:     s1.DataLoc(s1.a,k1) = 0 and
A24:     s2.DataLoc(s2.a,k1) <> 0;
      consider n1 being Element of SCM-Instr-Loc such that
A25:     n1 = l1 & Next l1 = Next n1 by SCMPDS_2:def 19;
      consider w1 being Nat such that
A26:     n1 = 2*w1+2 by SCMPDS_2:1;
A27:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= Next n1 by A5,A23,A25,SCMPDS_2:67
       .= n1 + 2 by AMI_2:def 15;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= abs(m2-2+2*k2)+2 by A14,A24,SCMPDS_2:67;
      then 2*w1+2 = abs(m2-2+2*k2) by A26,A27,XCMPLX_1:2;
      then 2*w1+2 = m2-2+2*k2 or 2*w1+2 = -(m2-2+2*k2) by INT_1:30;
      hence x in {} by A5,A7,A9,A15,A25,A26;

      suppose that
A28:     s1.DataLoc(s1.a,k1) <> 0 and
A29:     s2.DataLoc(s2.a,k1) = 0;
      consider n2 being Element of SCM-Instr-Loc such that
A30:     n2 = l2 & Next l2 = Next n2 by SCMPDS_2:def 19;
      consider w2 being Nat such that
A31:     n2 = 2*w2+2 by SCMPDS_2:1;
A32:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= abs(m1-2+2*k2)+2 by A8,A28,SCMPDS_2:67;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= Next n2 by A11,A29,A30,SCMPDS_2:67
       .= n2 + 2 by AMI_2:def 15;
      then 2*w2+2 = abs(m1-2+2*k2) by A31,A32,XCMPLX_1:2;
      then 2*w2+2 = m1-2+2*k2 or 2*w2+2 = -(m1-2+2*k2) by INT_1:30;
      hence x in {} by A9,A11,A13,A15,A30,A31;
    end;
    thus thesis by XBOOLE_1:2;
  end;

Lm19:
  k2 <> 5 implies JUMP ((a,k1)<>0_goto k2) = {}
  proof
    assume
A1:   k2 <> 5;
    set i = (a,k1)<>0_goto k2;
    set X = { NIC(i,l) where l is Instruction-Location of SCMPDS:
        not contradiction };
    hereby
      let x be set;
      assume
A2:     x in JUMP i;
      set x1 = -k2+abs(k2)+4;
      x1 > -k2+abs(k2)+0 by REAL_1:53;
      then
A3:   x1 > 0 by Th2;
      then reconsider x1 as Nat by INT_1:16;
A4:   -(2*x1+(1+x1)) < -0 by A3,Lm8;
      set nl1 = abs(k2)+x1;
      set nl2 = nl1+x1;
      set l1 = inspos nl1;
A5:   NIC(i,l1) in X;
A6:   JUMP i = meet X by AMISTD_1:def 6;
      then x in NIC(i,l1) by A2,A5,SETFAM_1:def 1;
      then x in { IC Following s1 where s1 is State of SCMPDS:
           IC s1 = l1 & s1.l1 = i } by AMISTD_1:def 5;
      then consider s1 being State of SCMPDS such that
A7:     x = IC Following s1 and
A8:     IC s1 = l1 and
A9:     s1.l1 = i;
      consider m1 being Nat such that
A10:     m1 = IC s1 and
A11:     ICplusConst(s1,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
A12:   m1 = il.nl1 by A8,A10,SCMPDS_3:def 2
        .= 2*nl1+2 by AMI_3:def 20;

      set l2 = inspos nl2;
      NIC(i,l2) in X;
      then x in NIC(i,l2) by A2,A6,SETFAM_1:def 1;
      then x in { IC Following s2 where s2 is State of SCMPDS:
           IC s2 = l2 & s2.l2 = i } by AMISTD_1:def 5;
      then consider s2 being State of SCMPDS such that
A13:     x = IC Following s2 and
A14:     IC s2 = l2 and
A15:     s2.l2 = i;
      consider m2 being Nat such that
A16:     m2 = IC s2 and
A17:     ICplusConst(s2,k2) = abs(m2-2+2*k2)+2 by SCMPDS_2:def 20;
A18:   m2 = il.nl2 by A14,A16,SCMPDS_3:def 2
        .= 2*nl2+2 by AMI_3:def 20;
      nl2+0 = nl1+x1;
      then nl1 <> nl2 by A3,XCMPLX_1:2;
      then
A19:   l1 <> l2 by SCMPDS_3:31;

      per cases;
      suppose that
A20:     s1.DataLoc(s1.a,k1) <> 0 and
A21:     s2.DataLoc(s2.a,k1) <> 0;
A22:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= abs(m1-2+2*k2)+2 by A11,A20,SCMPDS_2:67;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= abs(m2-2+2*k2)+2 by A17,A21,SCMPDS_2:67;
      then
A23:   abs(m1-2+2*k2) = abs(m2-2+2*k2) by A22,XCMPLX_1:2;
      thus x in {}
      proof
        per cases by A12,A18,A23,Th3;
        suppose 2*nl1+2-2+2*k2 = 2*nl2+2-2+2*k2;
        then nl1+0 = nl2 by Lm5;
        hence x in {} by A3,XCMPLX_1:2;
        suppose 2*nl1+2-2+2*k2 = -(2*nl2+2-2+2*k2);
        hence x in {} by Lm13;
      end;

      suppose that
A24:     s1.DataLoc(s1.a,k1) = 0 and
A25:     s2.DataLoc(s2.a,k1) = 0;
A26:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= Next l1 by A8,A24,SCMPDS_2:67;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= Next l2 by A14,A25,SCMPDS_2:67;
      hence x in {} by A19,A26,Th10;

      suppose that
A27:     s1.DataLoc(s1.a,k1) = 0 and
A28:     s2.DataLoc(s2.a,k1) <> 0;
      consider n1 being Element of SCM-Instr-Loc such that
A29:     n1 = l1 & Next l1 = Next n1 by SCMPDS_2:def 19;
      consider w1 being Nat such that
A30:     n1 = 2*w1+2 by SCMPDS_2:1;
A31:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= Next n1 by A8,A27,A29,SCMPDS_2:67
       .= n1 + 2 by AMI_2:def 15;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= abs(m2-2+2*k2)+2 by A17,A28,SCMPDS_2:67;
      then
A32:   2*w1+2 = abs(m2-2+2*k2) by A30,A31,XCMPLX_1:2;
      thus x in {}
      proof
        per cases by A32,INT_1:30;
        suppose 2*w1+2 = m2-2+2*k2;
        then 2*nl1+2 = 2*nl2+2*k2 by A8,A10,A12,A18,A29,A30,XCMPLX_1:26
         .= 2*nl1 + 2*x1 + 2*k2 by XCMPLX_1:8
         .= 2*nl1 + (2*x1 + 2*k2) by XCMPLX_1:1;
        hence x in {} by Lm14;
        suppose 2*w1+2 = -(m2-2+2*k2);
        then 2*nl1+2 = -(2*(nl1+x1)+2*k2) by A8,A10,A12,A18,A29,A30,XCMPLX_1:26
          .= -(2*nl1+2*x1+2*k2) by XCMPLX_1:8;
        hence x in {} by A3,Lm15;
      end;

      suppose that
A33:     s1.DataLoc(s1.a,k1) <> 0 and
A34:     s2.DataLoc(s2.a,k1) = 0;
      consider n2 being Element of SCM-Instr-Loc such that
A35:     n2 = l2 & Next l2 = Next n2 by SCMPDS_2:def 19;
      consider w2 being Nat such that
A36:     n2 = 2*w2+2 by SCMPDS_2:1;
A37:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= abs(m1-2+2*k2)+2 by A11,A33,SCMPDS_2:67;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= Next n2 by A14,A34,A35,SCMPDS_2:67
       .= n2 + 2 by AMI_2:def 15;
      then
A38:   2*w2+2 = abs(m1-2+2*k2) by A36,A37,XCMPLX_1:2;
      thus x in {}
      proof
        per cases by A38,INT_1:30;
        suppose
A39:       2*w2+2 = m1-2+2*k2;
        2*(nl2+1) = 2*nl2+2*1 by XCMPLX_1:8
          .= 2*nl1+2*k2 by A12,A14,A16,A18,A35,A36,A39,XCMPLX_1:26
          .= 2*(nl1+k2) by XCMPLX_1:8;
        hence thesis by A1,Lm16;
        suppose 2*w2+2 = -(m1-2+2*k2);
        then 2*nl2+2 = -(2*nl1+2*k2) by A12,A14,A16,A18,A35,A36,XCMPLX_1:26;
        hence x in {} by A4,Lm17;
      end;
    end;
    thus thesis by XBOOLE_1:2;
  end;

Lm20:
  JUMP ((a,k1)<=0_goto 5) = {}
  proof
    set k2 = 5;
    set i = (a,k1)<=0_goto k2;
    set X = { NIC(i,l) where l is Instruction-Location of SCMPDS:
        not contradiction };
    hereby
      let x be set;
      assume
A1:     x in JUMP i;
      set nl1 = 5;
      set nl2 = 8;
      set l1 = inspos nl1;
A2:   NIC(i,l1) in X;
A3:   JUMP i = meet X by AMISTD_1:def 6;
      then x in NIC(i,l1) by A1,A2,SETFAM_1:def 1;
      then x in { IC Following s1 where s1 is State of SCMPDS:
           IC s1 = l1 & s1.l1 = i } by AMISTD_1:def 5;
      then consider s1 being State of SCMPDS such that
A4:     x = IC Following s1 and
A5:     IC s1 = l1 and
A6:     s1.l1 = i;
      consider m1 being Nat such that
A7:     m1 = IC s1 and
A8:     ICplusConst(s1,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
A9:   m1 = il.nl1 by A5,A7,SCMPDS_3:def 2
        .= 2*nl1+2 by AMI_3:def 20;

      set l2 = inspos nl2;
      NIC(i,l2) in X;
      then x in NIC(i,l2) by A1,A3,SETFAM_1:def 1;
      then x in { IC Following s2 where s2 is State of SCMPDS:
           IC s2 = l2 & s2.l2 = i } by AMISTD_1:def 5;
      then consider s2 being State of SCMPDS such that
A10:     x = IC Following s2 and
A11:     IC s2 = l2 and
A12:     s2.l2 = i;
      consider m2 being Nat such that
A13:     m2 = IC s2 and
A14:     ICplusConst(s2,k2) = abs(m2-2+2*k2)+2 by SCMPDS_2:def 20;
A15:   m2 = il.nl2 by A11,A13,SCMPDS_3:def 2
        .= 2*nl2+2 by AMI_3:def 20;
A16:   l1 <> l2 by SCMPDS_3:31;

      per cases;
      suppose that
A17:     s1.DataLoc(s1.a,k1) <= 0 and
A18:     s2.DataLoc(s2.a,k1) <= 0;
A19:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= abs(m1-2+2*k2)+2 by A8,A17,SCMPDS_2:68;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= abs(m2-2+2*k2)+2 by A14,A18,SCMPDS_2:68;
      then abs(m1-2+2*k2) = abs(m2-2+2*k2) by A19,XCMPLX_1:2;
      then 2*nl1+2-2+2*k2 = 2*nl2+2-2+2*k2 or
        2*nl1+2-2+2*k2 = -(2*nl2+2-2+2*k2) by A9,A15,Th3;
      hence x in {};

      suppose that
A20:     s1.DataLoc(s1.a,k1) > 0 and
A21:     s2.DataLoc(s2.a,k1) > 0;
A22:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= Next l1 by A5,A20,SCMPDS_2:68;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= Next l2 by A11,A21,SCMPDS_2:68;
      hence x in {} by A16,A22,Th10;

      suppose that
A23:     s1.DataLoc(s1.a,k1) > 0 and
A24:     s2.DataLoc(s2.a,k1) <= 0;
      consider n1 being Element of SCM-Instr-Loc such that
A25:     n1 = l1 & Next l1 = Next n1 by SCMPDS_2:def 19;
      consider w1 being Nat such that
A26:     n1 = 2*w1+2 by SCMPDS_2:1;
A27:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= Next n1 by A5,A23,A25,SCMPDS_2:68
       .= n1 + 2 by AMI_2:def 15;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= abs(m2-2+2*k2)+2 by A14,A24,SCMPDS_2:68;
      then 2*w1+2 = abs(m2-2+2*k2) by A26,A27,XCMPLX_1:2;
      then 2*w1+2 = m2-2+2*k2 or 2*w1+2 = -(m2-2+2*k2) by INT_1:30;
      hence x in {} by A5,A7,A9,A15,A25,A26;

      suppose that
A28:     s1.DataLoc(s1.a,k1) <= 0 and
A29:     s2.DataLoc(s2.a,k1) > 0;
      consider n2 being Element of SCM-Instr-Loc such that
A30:     n2 = l2 & Next l2 = Next n2 by SCMPDS_2:def 19;
      consider w2 being Nat such that
A31:     n2 = 2*w2+2 by SCMPDS_2:1;
A32:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= abs(m1-2+2*k2)+2 by A8,A28,SCMPDS_2:68;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= Next n2 by A11,A29,A30,SCMPDS_2:68
       .= n2 + 2 by AMI_2:def 15;
      then 2*w2+2 = abs(m1-2+2*k2) by A31,A32,XCMPLX_1:2;
      then 2*w2+2 = m1-2+2*k2 or 2*w2+2 = -(m1-2+2*k2) by INT_1:30;
      hence x in {} by A9,A11,A13,A15,A30,A31;
    end;
    thus thesis by XBOOLE_1:2;
  end;

Lm21:
  k2 <> 5 implies JUMP ((a,k1)<=0_goto k2) = {}
  proof
    assume
A1:   k2 <> 5;
    set i = (a,k1)<=0_goto k2;
    set X = { NIC(i,l) where l is Instruction-Location of SCMPDS:
        not contradiction };
    hereby
      let x be set;
      assume
A2:     x in JUMP i;
      set x1 = -k2+abs(k2)+4;
      x1 > -k2+abs(k2)+0 by REAL_1:53;
      then
A3:   x1 > 0 by Th2;
      then reconsider x1 as Nat by INT_1:16;
A4:   -(2*x1+(1+x1)) < -0 by A3,Lm8;
      set nl1 = abs(k2)+x1;
      set nl2 = nl1+x1;
      set l1 = inspos nl1;
A5:   NIC(i,l1) in X;
A6:   JUMP i = meet X by AMISTD_1:def 6;
      then x in NIC(i,l1) by A2,A5,SETFAM_1:def 1;
      then x in { IC Following s1 where s1 is State of SCMPDS:
           IC s1 = l1 & s1.l1 = i } by AMISTD_1:def 5;
      then consider s1 being State of SCMPDS such that
A7:     x = IC Following s1 and
A8:     IC s1 = l1 and
A9:     s1.l1 = i;
      consider m1 being Nat such that
A10:     m1 = IC s1 and
A11:     ICplusConst(s1,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
A12:   m1 = il.nl1 by A8,A10,SCMPDS_3:def 2
        .= 2*nl1+2 by AMI_3:def 20;

      set l2 = inspos nl2;
      NIC(i,l2) in X;
      then x in NIC(i,l2) by A2,A6,SETFAM_1:def 1;
      then x in { IC Following s2 where s2 is State of SCMPDS:
           IC s2 = l2 & s2.l2 = i } by AMISTD_1:def 5;
      then consider s2 being State of SCMPDS such that
A13:     x = IC Following s2 and
A14:     IC s2 = l2 and
A15:     s2.l2 = i;
      consider m2 being Nat such that
A16:     m2 = IC s2 and
A17:     ICplusConst(s2,k2) = abs(m2-2+2*k2)+2 by SCMPDS_2:def 20;
A18:   m2 = il.nl2 by A14,A16,SCMPDS_3:def 2
        .= 2*nl2+2 by AMI_3:def 20;
      nl2+0 = nl1+x1;
      then nl1 <> nl2 by A3,XCMPLX_1:2;
      then
A19:   l1 <> l2 by SCMPDS_3:31;

      per cases;
      suppose that
A20:     s1.DataLoc(s1.a,k1) <= 0 and
A21:     s2.DataLoc(s2.a,k1) <= 0;
A22:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= abs(m1-2+2*k2)+2 by A11,A20,SCMPDS_2:68;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= abs(m2-2+2*k2)+2 by A17,A21,SCMPDS_2:68;
      then
A23:   abs(m1-2+2*k2) = abs(m2-2+2*k2) by A22,XCMPLX_1:2;
      thus x in {}
      proof
        per cases by A12,A18,A23,Th3;
        suppose 2*nl1+2-2+2*k2 = 2*nl2+2-2+2*k2;
        then nl1+0 = nl2 by Lm5;
        hence x in {} by A3,XCMPLX_1:2;
        suppose 2*nl1+2-2+2*k2 = -(2*nl2+2-2+2*k2);
        hence x in {} by Lm13;
      end;

      suppose that
A24:     s1.DataLoc(s1.a,k1) > 0 and
A25:     s2.DataLoc(s2.a,k1) > 0;
A26:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= Next l1 by A8,A24,SCMPDS_2:68;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= Next l2 by A14,A25,SCMPDS_2:68;
      hence x in {} by A19,A26,Th10;

      suppose that
A27:     s1.DataLoc(s1.a,k1) > 0 and
A28:     s2.DataLoc(s2.a,k1) <= 0;
      consider n1 being Element of SCM-Instr-Loc such that
A29:     n1 = l1 & Next l1 = Next n1 by SCMPDS_2:def 19;
      consider w1 being Nat such that
A30:     n1 = 2*w1+2 by SCMPDS_2:1;
A31:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= Next n1 by A8,A27,A29,SCMPDS_2:68
       .= n1 + 2 by AMI_2:def 15;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= abs(m2-2+2*k2)+2 by A17,A28,SCMPDS_2:68;
      then
A32:   2*w1+2 = abs(m2-2+2*k2) by A30,A31,XCMPLX_1:2;
      thus x in {}
      proof
        per cases by A32,INT_1:30;
        suppose 2*w1+2 = m2-2+2*k2;
        then 2*nl1+2 = 2*nl2+2*k2 by A8,A10,A12,A18,A29,A30,XCMPLX_1:26
         .= 2*nl1 + 2*x1 + 2*k2 by XCMPLX_1:8
         .= 2*nl1 + (2*x1 + 2*k2) by XCMPLX_1:1;
        hence x in {} by Lm14;
        suppose 2*w1+2 = -(m2-2+2*k2);
        then 2*nl1+2 = -(2*(nl1+x1)+2*k2) by A8,A10,A12,A18,A29,A30,XCMPLX_1:26
          .= -(2*nl1+2*x1+2*k2) by XCMPLX_1:8;
        hence x in {} by A3,Lm15;
      end;

      suppose that
A33:     s1.DataLoc(s1.a,k1) <= 0 and
A34:     s2.DataLoc(s2.a,k1) > 0;
      consider n2 being Element of SCM-Instr-Loc such that
A35:     n2 = l2 & Next l2 = Next n2 by SCMPDS_2:def 19;
      consider w2 being Nat such that
A36:     n2 = 2*w2+2 by SCMPDS_2:1;
A37:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= abs(m1-2+2*k2)+2 by A11,A33,SCMPDS_2:68;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= Next n2 by A14,A34,A35,SCMPDS_2:68
       .= n2 + 2 by AMI_2:def 15;
      then
A38:   2*w2+2 = abs(m1-2+2*k2) by A36,A37,XCMPLX_1:2;
      thus x in {}
      proof
        per cases by A38,INT_1:30;
        suppose
A39:       2*w2+2 = m1-2+2*k2;
        2*(nl2+1) = 2*nl2+2*1 by XCMPLX_1:8
          .= 2*nl1+2*k2 by A12,A14,A16,A18,A35,A36,A39,XCMPLX_1:26
          .= 2*(nl1+k2) by XCMPLX_1:8;
        hence thesis by A1,Lm16;
        suppose 2*w2+2 = -(m1-2+2*k2);
        then 2*nl2+2 = -(2*nl1+2*k2) by A12,A14,A16,A18,A35,A36,XCMPLX_1:26;
        hence x in {} by A4,Lm17;
      end;
    end;
    thus thesis by XBOOLE_1:2;
  end;

Lm22:
  JUMP ((a,k1)>=0_goto 5) = {}
  proof
    set k2 = 5;
    set i = (a,k1)>=0_goto k2;
    set X = { NIC(i,l) where l is Instruction-Location of SCMPDS:
        not contradiction };
    hereby
      let x be set;
      assume
A1:     x in JUMP i;
      set nl1 = 5;
      set nl2 = 8;
      set l1 = inspos nl1;
A2:   NIC(i,l1) in X;
A3:   JUMP i = meet X by AMISTD_1:def 6;
      then x in NIC(i,l1) by A1,A2,SETFAM_1:def 1;
      then x in { IC Following s1 where s1 is State of SCMPDS:
           IC s1 = l1 & s1.l1 = i } by AMISTD_1:def 5;
      then consider s1 being State of SCMPDS such that
A4:     x = IC Following s1 and
A5:     IC s1 = l1 and
A6:     s1.l1 = i;
      consider m1 being Nat such that
A7:     m1 = IC s1 and
A8:     ICplusConst(s1,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
A9:   m1 = il.nl1 by A5,A7,SCMPDS_3:def 2
        .= 2*nl1+2 by AMI_3:def 20;

      set l2 = inspos nl2;
      NIC(i,l2) in X;
      then x in NIC(i,l2) by A1,A3,SETFAM_1:def 1;
      then x in { IC Following s2 where s2 is State of SCMPDS:
           IC s2 = l2 & s2.l2 = i } by AMISTD_1:def 5;
      then consider s2 being State of SCMPDS such that
A10:     x = IC Following s2 and
A11:     IC s2 = l2 and
A12:     s2.l2 = i;
      consider m2 being Nat such that
A13:     m2 = IC s2 and
A14:     ICplusConst(s2,k2) = abs(m2-2+2*k2)+2 by SCMPDS_2:def 20;
A15:   m2 = il.nl2 by A11,A13,SCMPDS_3:def 2
        .= 2*nl2+2 by AMI_3:def 20;
A16:   l1 <> l2 by SCMPDS_3:31;

      per cases;
      suppose that
A17:     s1.DataLoc(s1.a,k1) >= 0 and
A18:     s2.DataLoc(s2.a,k1) >= 0;
A19:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= abs(m1-2+2*k2)+2 by A8,A17,SCMPDS_2:69;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= abs(m2-2+2*k2)+2 by A14,A18,SCMPDS_2:69;
      then abs(m1-2+2*k2) = abs(m2-2+2*k2) by A19,XCMPLX_1:2;
      then 2*nl1+2-2+2*k2 = 2*nl2+2-2+2*k2 or
        2*nl1+2-2+2*k2 = -(2*nl2+2-2+2*k2) by A9,A15,Th3;
      hence x in {};

      suppose that
A20:     s1.DataLoc(s1.a,k1) < 0 and
A21:     s2.DataLoc(s2.a,k1) < 0;
A22:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= Next l1 by A5,A20,SCMPDS_2:69;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= Next l2 by A11,A21,SCMPDS_2:69;
      hence x in {} by A16,A22,Th10;

      suppose that
A23:     s1.DataLoc(s1.a,k1) < 0 and
A24:     s2.DataLoc(s2.a,k1) >= 0;
      consider n1 being Element of SCM-Instr-Loc such that
A25:     n1 = l1 & Next l1 = Next n1 by SCMPDS_2:def 19;
      consider w1 being Nat such that
A26:     n1 = 2*w1+2 by SCMPDS_2:1;
A27:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= Next n1 by A5,A23,A25,SCMPDS_2:69
       .= n1 + 2 by AMI_2:def 15;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= abs(m2-2+2*k2)+2 by A14,A24,SCMPDS_2:69;
      then 2*w1+2 = abs(m2-2+2*k2) by A26,A27,XCMPLX_1:2;
      then 2*w1+2 = m2-2+2*k2 or 2*w1+2 = -(m2-2+2*k2) by INT_1:30;
      hence x in {} by A5,A7,A9,A15,A25,A26;

      suppose that
A28:     s1.DataLoc(s1.a,k1) >= 0 and
A29:     s2.DataLoc(s2.a,k1) < 0;
      consider n2 being Element of SCM-Instr-Loc such that
A30:     n2 = l2 & Next l2 = Next n2 by SCMPDS_2:def 19;
      consider w2 being Nat such that
A31:     n2 = 2*w2+2 by SCMPDS_2:1;
A32:   x = Exec(i,s1).IC SCMPDS by A4,A5,A6,Lm1
       .= abs(m1-2+2*k2)+2 by A8,A28,SCMPDS_2:69;
      x = Exec(i,s2).IC SCMPDS by A10,A11,A12,Lm1
       .= Next n2 by A11,A29,A30,SCMPDS_2:69
       .= n2 + 2 by AMI_2:def 15;
      then 2*w2+2 = abs(m1-2+2*k2) by A31,A32,XCMPLX_1:2;
      then 2*w2+2 = m1-2+2*k2 or 2*w2+2 = -(m1-2+2*k2) by INT_1:30;
      hence x in {} by A9,A11,A13,A15,A30,A31;
    end;
    thus thesis by XBOOLE_1:2;
  end;

Lm23:
  k2 <> 5 implies JUMP ((a,k1)>=0_goto k2) = {}
  proof
    assume
A1:   k2 <> 5;
    set i = (a,k1)>=0_goto k2;
    set X = { NIC(i,l) where l is Instruction-Location of SCMPDS:
        not contradiction };
    hereby
      let x be set;
      assume
A2:     x in JUMP i;
      set x1 = -k2+abs(k2)+4;
      x1 > -k2+abs(k2)+0 by REAL_1:53;
      then
A3:   x1 > 0 by Th2;
      then reconsider x1 as Nat by INT_1:16;
A4:   -(2*x1+(1+x1)) < -0 by A3,Lm8;
      set nl1 = abs(k2)+x1;
      set nl2 = nl1+x1;
      set l1 = inspos nl1;
A5:   NIC(i,l1) in X;
A6:   JUMP i = meet X by AMISTD_1:def 6;
      then x in NIC(i,l1) by A2,A5,SETFAM_1:def 1;
      then x in { IC Following s1 where s1 is State of SCMPDS:
           IC s1 = l1 & s1.l1 = i } by AMISTD_1:def 5;
      then consider s1 being State of SCMPDS such that
A7:     x = IC Following s1 and
A8:     IC s1 = l1 and
A9:     s1.l1 = i;
      consider m1 being Nat such that
A10:     m1 = IC s1 and
A11:     ICplusConst(s1,k2) = abs(m1-2+2*k2)+2 by SCMPDS_2:def 20;
A12:   m1 = il.nl1 by A8,A10,SCMPDS_3:def 2
        .= 2*nl1+2 by AMI_3:def 20;

      set l2 = inspos nl2;
      NIC(i,l2) in X;
      then x in NIC(i,l2) by A2,A6,SETFAM_1:def 1;
      then x in { IC Following s2 where s2 is State of SCMPDS:
           IC s2 = l2 & s2.l2 = i } by AMISTD_1:def 5;
      then consider s2 being State of SCMPDS such that
A13:     x = IC Following s2 and
A14:     IC s2 = l2 and
A15:     s2.l2 = i;
      consider m2 being Nat such that
A16:     m2 = IC s2 and
A17:     ICplusConst(s2,k2) = abs(m2-2+2*k2)+2 by SCMPDS_2:def 20;
A18:   m2 = il.nl2 by A14,A16,SCMPDS_3:def 2
        .= 2*nl2+2 by AMI_3:def 20;
      nl2+0 = nl1+x1;
      then nl1 <> nl2 by A3,XCMPLX_1:2;
      then
A19:   l1 <> l2 by SCMPDS_3:31;

      per cases;
      suppose that
A20:     s1.DataLoc(s1.a,k1) >= 0 and
A21:     s2.DataLoc(s2.a,k1) >= 0;
A22:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= abs(m1-2+2*k2)+2 by A11,A20,SCMPDS_2:69;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= abs(m2-2+2*k2)+2 by A17,A21,SCMPDS_2:69;
      then
A23:   abs(m1-2+2*k2) = abs(m2-2+2*k2) by A22,XCMPLX_1:2;
      thus x in {}
      proof
        per cases by A12,A18,A23,Th3;
        suppose 2*nl1+2-2+2*k2 = 2*nl2+2-2+2*k2;
        then nl1+0 = nl2 by Lm5;
        hence x in {} by A3,XCMPLX_1:2;
        suppose 2*nl1+2-2+2*k2 = -(2*nl2+2-2+2*k2);
        hence x in {} by Lm13;
      end;

      suppose that
A24:     s1.DataLoc(s1.a,k1) < 0 and
A25:     s2.DataLoc(s2.a,k1) < 0;
A26:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= Next l1 by A8,A24,SCMPDS_2:69;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= Next l2 by A14,A25,SCMPDS_2:69;
      hence x in {} by A19,A26,Th10;

      suppose that
A27:     s1.DataLoc(s1.a,k1) < 0 and
A28:     s2.DataLoc(s2.a,k1) >= 0;
      consider n1 being Element of SCM-Instr-Loc such that
A29:     n1 = l1 & Next l1 = Next n1 by SCMPDS_2:def 19;
      consider w1 being Nat such that
A30:     n1 = 2*w1+2 by SCMPDS_2:1;
A31:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= Next n1 by A8,A27,A29,SCMPDS_2:69
       .= n1 + 2 by AMI_2:def 15;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= abs(m2-2+2*k2)+2 by A17,A28,SCMPDS_2:69;
      then
A32:   2*w1+2 = abs(m2-2+2*k2) by A30,A31,XCMPLX_1:2;
      thus x in {}
      proof
        per cases by A32,INT_1:30;
        suppose 2*w1+2 = m2-2+2*k2;
        then 2*nl1+2 = 2*nl2+2*k2 by A8,A10,A12,A18,A29,A30,XCMPLX_1:26
         .= 2*nl1 + 2*x1 + 2*k2 by XCMPLX_1:8
         .= 2*nl1 + (2*x1 + 2*k2) by XCMPLX_1:1;
        hence x in {} by Lm14;
        suppose 2*w1+2 = -(m2-2+2*k2);
        then 2*nl1+2 = -(2*(nl1+x1)+2*k2) by A8,A10,A12,A18,A29,A30,XCMPLX_1:26
          .= -(2*nl1+2*x1+2*k2) by XCMPLX_1:8;
        hence x in {} by A3,Lm15;
      end;

      suppose that
A33:     s1.DataLoc(s1.a,k1) >= 0 and
A34:     s2.DataLoc(s2.a,k1) < 0;
      consider n2 being Element of SCM-Instr-Loc such that
A35:     n2 = l2 & Next l2 = Next n2 by SCMPDS_2:def 19;
      consider w2 being Nat such that
A36:     n2 = 2*w2+2 by SCMPDS_2:1;
A37:   x = Exec(i,s1).IC SCMPDS by A7,A8,A9,Lm1
       .= abs(m1-2+2*k2)+2 by A11,A33,SCMPDS_2:69;
      x = Exec(i,s2).IC SCMPDS by A13,A14,A15,Lm1
       .= Next n2 by A14,A34,A35,SCMPDS_2:69
       .= n2 + 2 by AMI_2:def 15;
      then
A38:   2*w2+2 = abs(m1-2+2*k2) by A36,A37,XCMPLX_1:2;
      thus x in {}
      proof
        per cases by A38,INT_1:30;
        suppose
A39:       2*w2+2 = m1-2+2*k2;
        2*(nl2+1) = 2*nl2+2*1 by XCMPLX_1:8
          .= 2*nl1+2*k2 by A12,A14,A16,A18,A35,A36,A39,XCMPLX_1:26
          .= 2*(nl1+k2) by XCMPLX_1:8;
        hence thesis by A1,Lm16;
        suppose 2*w2+2 = -(m1-2+2*k2);
        then 2*nl2+2 = -(2*nl1+2*k2) by A12,A14,A16,A18,A35,A36,XCMPLX_1:26;
        hence x in {} by A4,Lm17;
      end;
    end;
    thus thesis by XBOOLE_1:2;
  end;

definition
  let a,k1,k2;
  cluster JUMP ((a,k1)<>0_goto k2) -> empty;
coherence
  proof
    k2 = 5 or k2 <> 5;
    hence thesis by Lm18,Lm19;
  end;
  cluster JUMP ((a,k1)<=0_goto k2) -> empty;
coherence
  proof
    k2 = 5 or k2 <> 5;
    hence thesis by Lm20,Lm21;
  end;
  cluster JUMP ((a,k1)>=0_goto k2) -> empty;
coherence
  proof
    k2 = 5 or k2 <> 5;
    hence thesis by Lm22,Lm23;
  end;
end;

theorem Th29:
  SUCC(l) = the Instruction-Locations of SCMPDS
  proof
    thus SUCC(l) c= the Instruction-Locations of SCMPDS;
    let x be set;
    assume x in the Instruction-Locations of SCMPDS;
    then reconsider x as Instruction-Location of SCMPDS;
    set X = { NIC(i,l) \ JUMP i where
     i is Element of the Instructions of SCMPDS: not contradiction };
    set i = goto (locnum x - locnum l);
A1: locnum x >= 0 by NAT_1:18;
    NIC(i,l) = { 2*abs(locnum x - locnum l + locnum l) + 2 } by Th14
      .= { 2*abs(locnum x)+2 } by XCMPLX_1:27
      .= { 2*locnum x + 2 } by A1,ABSVALUE:def 1
      .= {x} by Th8;
    then
A2: x in NIC(i,l) by TARSKI:def 1;
    NIC(i,l) \ JUMP i in X;
    then x in union X by A2,TARSKI:def 4;
    hence thesis by AMISTD_1:def 7;
  end;

theorem Th30:
  for N being with_non-empty_elements set,
      S being IC-Ins-separated definite (non empty non void AMI-Struct over N),
      l1, l2 being Instruction-Location of S
    st SUCC(l1) = the Instruction-Locations of S
   holds l1 <= l2
  proof
    let N be with_non-empty_elements set,
        S be IC-Ins-separated definite (non empty non void AMI-Struct over N),
        l1, l2 be Instruction-Location of S such that
A1:   SUCC(l1) = the Instruction-Locations of S;
    defpred P[set,set] means
      ($1 = 1 implies $2 = l1) & ($1 = 2 implies $2 = l2);
A2: for n being Nat st n in Seg 2
     ex d being Element of the Instruction-Locations of S st P[n,d]
    proof
      let n be Nat;
      assume
A3:     n in Seg 2;
      per cases by A3,FINSEQ_1:4,TARSKI:def 2;
      suppose
A4:     n = 1;
      take l1;
      thus P[n,l1] by A4;
      suppose
A5:     n = 2;
      take l2;
      thus P[n,l2] by A5;
    end;
    consider f being FinSequence of the Instruction-Locations of S such that
A6:   len f = 2 and
A7:   for n being Nat st n in Seg 2 holds P[n,f/.n] from FinSeqDChoice(A2);
A8: 1 in Seg 2 & 2 in Seg 2 by FINSEQ_1:4,TARSKI:def 2;
    dom f = Seg 2 by A6,FINSEQ_1:def 3;
    then ex y being set st [1,y] in f by A8,RELAT_1:def 4;
    then
    reconsider f as non empty FinSequence of the Instruction-Locations of S;
    take f;
    thus f/.1 = l1 & f/.len f = l2 by A6,A7,A8;
    let n be Nat;
    assume
A9:   1 <= n;
    assume n < len f;
    then n < 1+1 by A6;
    then n <= 1 by NAT_1:38;
    then n = 1 by A9,AXIOMS:21;
    then f/.n = l1 by A7,A8;
    hence f/.(n+1) in SUCC f/.n by A1;
  end;

definition
  cluster SCMPDS -> non InsLoc-antisymmetric;
  coherence
  proof
    assume
A1:   SCMPDS is InsLoc-antisymmetric;
    SUCC(inspos(1)) = the Instruction-Locations of SCMPDS &
    SUCC(inspos(2)) = the Instruction-Locations of SCMPDS by Th29;
    then inspos(1) <= inspos(2) & inspos(2) <= inspos(1) by Th30;
    then inspos(1) = inspos(2) by A1,AMISTD_1:def 9;
    hence thesis by SCMPDS_3:31;
  end;
end;

definition
  cluster SCMPDS -> non standard;
  coherence by AMISTD_1:30;
end;

Back to top