:: SCMPDS_9 semantic presentation
begin
definition
let la, lb be Int_position;
let a, b be Integer;
:: original: -->
redefine func(la,lb) --> (a,b) -> PartState of SCMPDS;
coherence
(la,lb) --> (a,b) is PartState of SCMPDS
proof
A1: ( Values la = INT & Values lb = INT ) by SCMPDS_2:5;
A2: ( a is Element of INT & b is Element of INT ) by INT_1:def_2;
reconsider a = a as Element of Values la by A1, A2;
reconsider b = b as Element of Values lb by A1, A2;
(la,lb) --> (a,b) is PartState of SCMPDS ;
hence (la,lb) --> (a,b) is PartState of SCMPDS ; ::_thesis: verum
end;
end;
Lm1: for k being Integer holds JUMP (goto k) = {}
proof
let k be Integer; ::_thesis: JUMP (goto k) = {}
set i = goto k;
set X = { (NIC ((goto k),l)) where l is Element of NAT : verum } ;
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {} c= JUMP (goto k)
set l2 = 1;
set l1 = 0 ;
let x be set ; ::_thesis: ( x in JUMP (goto k) implies b1 in {} )
assume A1: x in JUMP (goto k) ; ::_thesis: b1 in {}
NIC ((goto k),1) in { (NIC ((goto k),l)) where l is Element of NAT : verum } ;
then x in NIC ((goto k),1) by A1, SETFAM_1:def_1;
then consider s2 being Element of product (the_Values_of SCMPDS) such that
A2: x = IC (Exec ((goto k),s2)) and
A3: IC s2 = 1 ;
consider m2 being Element of NAT such that
A4: m2 = IC s2 and
A5: ICplusConst (s2,k) = abs (m2 + k) by SCMPDS_2:def_18;
NIC ((goto k),0) in { (NIC ((goto k),l)) where l is Element of NAT : verum } ;
then x in NIC ((goto k),0) by A1, SETFAM_1:def_1;
then consider s1 being Element of product (the_Values_of SCMPDS) such that
A6: x = IC (Exec ((goto k),s1)) and
A7: IC s1 = 0 ;
consider m1 being Element of NAT such that
A8: m1 = IC s1 and
A9: ICplusConst (s1,k) = abs (m1 + k) by SCMPDS_2:def_18;
A10: x = abs (m1 + k) by A6, A9, SCMPDS_2:54;
percases ( 0 + k = 1 + k or k = - (1 + k) ) by A7, A8, A10, A3, A4, A2, A5, ABSVALUE:28, SCMPDS_2:54;
suppose 0 + k = 1 + k ; ::_thesis: b1 in {}
hence x in {} ; ::_thesis: verum
end;
suppose k = - (1 + k) ; ::_thesis: b1 in {}
then - (- (1 / 2)) is integer ;
hence x in {} by NAT_D:33; ::_thesis: verum
end;
end;
end;
thus {} c= JUMP (goto k) by XBOOLE_1:2; ::_thesis: verum
end;
registration
let k be Integer;
cluster JUMP (goto k) -> empty ;
coherence
JUMP (goto k) is empty by Lm1;
end;
theorem Th1: :: SCMPDS_9:1
for i being Instruction of SCMPDS
for l being Element of NAT st ( for s being State of SCMPDS st IC s = l holds
(Exec (i,s)) . (IC ) = succ (IC s) ) holds
NIC (i,l) = {(succ l)}
proof
let i be Instruction of SCMPDS; ::_thesis: for l being Element of NAT st ( for s being State of SCMPDS st IC s = l holds
(Exec (i,s)) . (IC ) = succ (IC s) ) holds
NIC (i,l) = {(succ l)}
let l be Element of NAT ; ::_thesis: ( ( for s being State of SCMPDS st IC s = l holds
(Exec (i,s)) . (IC ) = succ (IC s) ) implies NIC (i,l) = {(succ l)} )
reconsider I = i as Instruction of SCMPDS ;
reconsider n = l as Element of NAT ;
assume A1: for s being State of SCMPDS st IC s = l holds
(Exec (i,s)) . (IC ) = succ (IC s) ; ::_thesis: NIC (i,l) = {(succ l)}
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {(succ l)} c= NIC (i,l)
let x be set ; ::_thesis: ( x in NIC (i,l) implies x in {(succ l)} )
assume x in NIC (i,l) ; ::_thesis: x in {(succ l)}
then consider s being Element of product (the_Values_of SCMPDS) such that
A2: x = IC (Exec (i,s)) and
A3: IC s = l ;
x = succ l by A1, A2, A3;
hence x in {(succ l)} by TARSKI:def_1; ::_thesis: verum
end;
set t = the l -started State of SCMPDS;
reconsider t = the l -started State of SCMPDS as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A4: IC t = l by MEMSTR_0:def_11;
let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in {(succ l)} or x in NIC (i,l) )
assume x in {(succ l)} ; ::_thesis: x in NIC (i,l)
then A5: x = succ l by TARSKI:def_1;
IC (Exec (I,t)) = succ l by A1, A4;
hence x in NIC (i,l) by A5, A4; ::_thesis: verum
end;
theorem Th2: :: SCMPDS_9:2
for i being Instruction of SCMPDS st ( for l being Element of NAT holds NIC (i,l) = {(succ l)} ) holds
JUMP i is empty
proof
let i be Instruction of SCMPDS; ::_thesis: ( ( for l being Element of NAT holds NIC (i,l) = {(succ l)} ) implies JUMP i is empty )
set p = 1;
set q = 2;
assume A1: for l being Element of NAT holds NIC (i,l) = {(succ l)} ; ::_thesis: JUMP i is empty
set X = { (NIC (i,f)) where f is Element of NAT : verum } ;
reconsider p = 1, q = 2 as Element of NAT ;
assume not JUMP i is empty ; ::_thesis: contradiction
then consider x being set such that
A2: x in meet { (NIC (i,f)) where f is Element of NAT : verum } by XBOOLE_0:def_1;
NIC (i,p) = {(succ p)} by A1;
then {(succ p)} in { (NIC (i,f)) where f is Element of NAT : verum } ;
then x in {(succ p)} by A2, SETFAM_1:def_1;
then A3: x = succ p by TARSKI:def_1;
NIC (i,q) = {(succ q)} by A1;
then {(succ q)} in { (NIC (i,f)) where f is Element of NAT : verum } ;
then x in {(succ q)} by A2, SETFAM_1:def_1;
hence contradiction by A3, TARSKI:def_1; ::_thesis: verum
end;
theorem Th3: :: SCMPDS_9:3
for l being Element of NAT
for k being Integer holds NIC ((goto k),l) = {(abs (k + l))}
proof
let l be Element of NAT ; ::_thesis: for k being Integer holds NIC ((goto k),l) = {(abs (k + l))}
let k be Integer; ::_thesis: NIC ((goto k),l) = {(abs (k + l))}
set s = the State of SCMPDS;
set i = goto k;
set t = abs (k + l);
set I = goto k;
reconsider n = l as Element of NAT ;
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {(abs (k + l))} c= NIC ((goto k),l)
let x be set ; ::_thesis: ( x in NIC ((goto k),l) implies x in {(abs (k + l))} )
assume x in NIC ((goto k),l) ; ::_thesis: x in {(abs (k + l))}
then consider s being Element of product (the_Values_of SCMPDS) such that
A1: x = IC (Exec ((goto k),s)) and
A2: IC s = l ;
A3: ex m1 being Element of NAT st
( m1 = IC s & ICplusConst (s,k) = abs (m1 + k) ) by SCMPDS_2:def_18;
x = abs (k + l) by A1, A2, A3, SCMPDS_2:54;
hence x in {(abs (k + l))} by TARSKI:def_1; ::_thesis: verum
end;
let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in {(abs (k + l))} or x in NIC ((goto k),l) )
reconsider u = the n -started State of SCMPDS as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A4: IC u = n by MEMSTR_0:def_11;
consider m1 being Element of NAT such that
A5: m1 = IC u and
A6: ICplusConst (u,k) = abs (m1 + k) by SCMPDS_2:def_18;
assume x in {(abs (k + l))} ; ::_thesis: x in NIC ((goto k),l)
then x = abs (m1 + k) by A4, A5, TARSKI:def_1
.= IC (Exec ((goto k),u)) by A6, SCMPDS_2:54 ;
hence x in NIC ((goto k),l) by A4; ::_thesis: verum
end;
Lm2: for k being Nat st k > 1 holds
k - 2 is Element of NAT
proof
let k be Nat; ::_thesis: ( k > 1 implies k - 2 is Element of NAT )
assume k > 1 ; ::_thesis: k - 2 is Element of NAT
then k >= 1 + 1 by NAT_1:13;
then k - 2 >= 2 - 2 by XREAL_1:9;
hence k - 2 is Element of NAT by INT_1:3; ::_thesis: verum
end;
theorem Th4: :: SCMPDS_9:4
for a being Int_position
for l being Element of NAT holds NIC ((return a),l) = { k where k is Element of NAT : k > 1 }
proof
let a be Int_position; ::_thesis: for l being Element of NAT holds NIC ((return a),l) = { k where k is Element of NAT : k > 1 }
let l be Element of NAT ; ::_thesis: NIC ((return a),l) = { k where k is Element of NAT : k > 1 }
set s = the State of SCMPDS;
set X = { k where k is Element of NAT : k > 1 } ;
set i = return a;
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: { k where k is Element of NAT : k > 1 } c= NIC ((return a),l)
let x be set ; ::_thesis: ( x in NIC ((return a),l) implies x in { k where k is Element of NAT : k > 1 } )
assume x in NIC ((return a),l) ; ::_thesis: x in { k where k is Element of NAT : k > 1 }
then consider s being Element of product (the_Values_of SCMPDS) such that
A1: x = IC (Exec ((return a),s)) and
IC s = l ;
reconsider k = x as Element of NAT by A1;
A2: (abs (s . (DataLoc ((s . a),1)))) + 2 >= 0 + 2 by XREAL_1:6;
k >= 1 + 1 by A2, A1, SCMPDS_2:58, SCMPDS_I:def_14;
then k > 1 by NAT_1:13;
hence x in { k where k is Element of NAT : k > 1 } ; ::_thesis: verum
end;
let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { k where k is Element of NAT : k > 1 } or x in NIC ((return a),l) )
set I = return a;
reconsider n = l as Element of NAT ;
assume x in { k where k is Element of NAT : k > 1 } ; ::_thesis: x in NIC ((return a),l)
then consider k being Element of NAT such that
A3: x = k and
A4: k > 1 ;
reconsider k2 = k - 2 as Element of NAT by A4, Lm2;
reconsider u = the n -started State of SCMPDS as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A5: IC u = n by MEMSTR_0:def_11;
a in SCM-Data-Loc by AMI_2:def_16;
then consider j being Element of NAT such that
A6: a = [1,j] by AMI_2:23;
set t = [1,(j + 1)];
[1,(j + 1)] in SCM-Data-Loc by AMI_2:24;
then reconsider t1 = [1,(j + 1)] as Int_position by AMI_2:def_16;
A7: DataLoc (j,1) = [1,(abs (j + 1))]
.= [1,(j + 1)] by ABSVALUE:def_1 ;
set g = (a,t1) --> (j,k2);
reconsider v = u +* ((a,t1) --> (j,k2)) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A8: dom ((a,t1) --> (j,k2)) = {a,[1,(j + 1)]} by FUNCT_4:62;
j <> j + 1 ;
then A9: a <> [1,(j + 1)] by A6, XTUPLE_0:1;
then A10: v . a = j by FUNCT_4:84;
( a <> IC & t1 <> IC ) by SCMPDS_2:43;
then A11: not IC in dom ((a,t1) --> (j,k2)) by A8, TARSKI:def_2;
A12: IC v = l by A5, A11, FUNCT_4:11;
A13: v . [1,(j + 1)] = k2 by A9, FUNCT_4:84;
x = k2 + 2 by A3
.= (abs (v . (DataLoc (j,1)))) + 2 by A13, A7, ABSVALUE:def_1
.= IC (Exec ((return a),v)) by A10, SCMPDS_2:58, SCMPDS_I:def_14 ;
hence x in NIC ((return a),l) by A12; ::_thesis: verum
end;
theorem Th5: :: SCMPDS_9:5
for a being Int_position
for l being Element of NAT
for k1 being Integer holds NIC ((saveIC (a,k1)),l) = {(succ l)}
proof
let a be Int_position; ::_thesis: for l being Element of NAT
for k1 being Integer holds NIC ((saveIC (a,k1)),l) = {(succ l)}
let l be Element of NAT ; ::_thesis: for k1 being Integer holds NIC ((saveIC (a,k1)),l) = {(succ l)}
let k1 be Integer; ::_thesis: NIC ((saveIC (a,k1)),l) = {(succ l)}
set i = saveIC (a,k1);
for s being State of SCMPDS st IC s = l holds
(Exec ((saveIC (a,k1)),s)) . (IC ) = succ (IC s) by SCMPDS_2:59;
hence NIC ((saveIC (a,k1)),l) = {(succ l)} by Th1; ::_thesis: verum
end;
theorem Th6: :: SCMPDS_9:6
for a being Int_position
for l being Element of NAT
for k1 being Integer holds NIC ((a := k1),l) = {(succ l)}
proof
let a be Int_position; ::_thesis: for l being Element of NAT
for k1 being Integer holds NIC ((a := k1),l) = {(succ l)}
let l be Element of NAT ; ::_thesis: for k1 being Integer holds NIC ((a := k1),l) = {(succ l)}
let k1 be Integer; ::_thesis: NIC ((a := k1),l) = {(succ l)}
set i = a := k1;
for s being State of SCMPDS st IC s = l holds
(Exec ((a := k1),s)) . (IC ) = succ (IC s) by SCMPDS_2:45;
hence NIC ((a := k1),l) = {(succ l)} by Th1; ::_thesis: verum
end;
theorem Th7: :: SCMPDS_9:7
for a being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) := k2),l) = {(succ l)}
proof
let a be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) := k2),l) = {(succ l)}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC (((a,k1) := k2),l) = {(succ l)}
let k1, k2 be Integer; ::_thesis: NIC (((a,k1) := k2),l) = {(succ l)}
set i = (a,k1) := k2;
for s being State of SCMPDS st IC s = l holds
(Exec (((a,k1) := k2),s)) . (IC ) = succ (IC s) by SCMPDS_2:46;
hence NIC (((a,k1) := k2),l) = {(succ l)} by Th1; ::_thesis: verum
end;
theorem Th8: :: SCMPDS_9:8
for a, b being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) := (b,k2)),l) = {(succ l)}
proof
let a, b be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) := (b,k2)),l) = {(succ l)}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC (((a,k1) := (b,k2)),l) = {(succ l)}
let k1, k2 be Integer; ::_thesis: NIC (((a,k1) := (b,k2)),l) = {(succ l)}
set i = (a,k1) := (b,k2);
for s being State of SCMPDS st IC s = l holds
(Exec (((a,k1) := (b,k2)),s)) . (IC ) = succ (IC s) by SCMPDS_2:47;
hence NIC (((a,k1) := (b,k2)),l) = {(succ l)} by Th1; ::_thesis: verum
end;
theorem Th9: :: SCMPDS_9:9
for a being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC ((AddTo (a,k1,k2)),l) = {(succ l)}
proof
let a be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC ((AddTo (a,k1,k2)),l) = {(succ l)}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC ((AddTo (a,k1,k2)),l) = {(succ l)}
let k1, k2 be Integer; ::_thesis: NIC ((AddTo (a,k1,k2)),l) = {(succ l)}
set i = AddTo (a,k1,k2);
for s being State of SCMPDS st IC s = l holds
(Exec ((AddTo (a,k1,k2)),s)) . (IC ) = succ (IC s) by SCMPDS_2:48;
hence NIC ((AddTo (a,k1,k2)),l) = {(succ l)} by Th1; ::_thesis: verum
end;
theorem Th10: :: SCMPDS_9:10
for a, b being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC ((AddTo (a,k1,b,k2)),l) = {(succ l)}
proof
let a, b be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC ((AddTo (a,k1,b,k2)),l) = {(succ l)}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC ((AddTo (a,k1,b,k2)),l) = {(succ l)}
let k1, k2 be Integer; ::_thesis: NIC ((AddTo (a,k1,b,k2)),l) = {(succ l)}
set i = AddTo (a,k1,b,k2);
for s being State of SCMPDS st IC s = l holds
(Exec ((AddTo (a,k1,b,k2)),s)) . (IC ) = succ (IC s) by SCMPDS_2:49;
hence NIC ((AddTo (a,k1,b,k2)),l) = {(succ l)} by Th1; ::_thesis: verum
end;
theorem Th11: :: SCMPDS_9:11
for a, b being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC ((SubFrom (a,k1,b,k2)),l) = {(succ l)}
proof
let a, b be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC ((SubFrom (a,k1,b,k2)),l) = {(succ l)}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC ((SubFrom (a,k1,b,k2)),l) = {(succ l)}
let k1, k2 be Integer; ::_thesis: NIC ((SubFrom (a,k1,b,k2)),l) = {(succ l)}
set i = SubFrom (a,k1,b,k2);
for s being State of SCMPDS st IC s = l holds
(Exec ((SubFrom (a,k1,b,k2)),s)) . (IC ) = succ (IC s) by SCMPDS_2:50;
hence NIC ((SubFrom (a,k1,b,k2)),l) = {(succ l)} by Th1; ::_thesis: verum
end;
theorem Th12: :: SCMPDS_9:12
for a, b being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC ((MultBy (a,k1,b,k2)),l) = {(succ l)}
proof
let a, b be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC ((MultBy (a,k1,b,k2)),l) = {(succ l)}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC ((MultBy (a,k1,b,k2)),l) = {(succ l)}
let k1, k2 be Integer; ::_thesis: NIC ((MultBy (a,k1,b,k2)),l) = {(succ l)}
set i = MultBy (a,k1,b,k2);
for s being State of SCMPDS st IC s = l holds
(Exec ((MultBy (a,k1,b,k2)),s)) . (IC ) = succ (IC s) by SCMPDS_2:51;
hence NIC ((MultBy (a,k1,b,k2)),l) = {(succ l)} by Th1; ::_thesis: verum
end;
theorem Th13: :: SCMPDS_9:13
for a, b being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC ((Divide (a,k1,b,k2)),l) = {(succ l)}
proof
let a, b be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC ((Divide (a,k1,b,k2)),l) = {(succ l)}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC ((Divide (a,k1,b,k2)),l) = {(succ l)}
let k1, k2 be Integer; ::_thesis: NIC ((Divide (a,k1,b,k2)),l) = {(succ l)}
set i = Divide (a,k1,b,k2);
for s being State of SCMPDS st IC s = l holds
(Exec ((Divide (a,k1,b,k2)),s)) . (IC ) = succ (IC s) by SCMPDS_2:52;
hence NIC ((Divide (a,k1,b,k2)),l) = {(succ l)} by Th1; ::_thesis: verum
end;
theorem :: SCMPDS_9:14
for a being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) <>0_goto k2),l) = {(succ l),(abs (k2 + l))}
proof
let a be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) <>0_goto k2),l) = {(succ l),(abs (k2 + l))}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC (((a,k1) <>0_goto k2),l) = {(succ l),(abs (k2 + l))}
let k1, k2 be Integer; ::_thesis: NIC (((a,k1) <>0_goto k2),l) = {(succ l),(abs (k2 + l))}
set s = the State of SCMPDS;
set i = (a,k1) <>0_goto k2;
set t = abs (k2 + l);
set I = (a,k1) <>0_goto k2;
reconsider n = l as Element of NAT ;
reconsider u = the n -started State of SCMPDS as Element of product (the_Values_of SCMPDS) by CARD_3:107;
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {(succ l),(abs (k2 + l))} c= NIC (((a,k1) <>0_goto k2),l)
let x be set ; ::_thesis: ( x in NIC (((a,k1) <>0_goto k2),l) implies b1 in {(succ l),(abs (k2 + l))} )
assume x in NIC (((a,k1) <>0_goto k2),l) ; ::_thesis: b1 in {(succ l),(abs (k2 + l))}
then consider s being Element of product (the_Values_of SCMPDS) such that
A1: x = IC (Exec (((a,k1) <>0_goto k2),s)) and
A2: IC s = l ;
A3: ex m1 being Element of NAT st
( m1 = IC s & ICplusConst (s,k2) = abs (m1 + k2) ) by SCMPDS_2:def_18;
percases ( s . (DataLoc ((s . a),k1)) <> 0 or s . (DataLoc ((s . a),k1)) = 0 ) ;
supposeA4: s . (DataLoc ((s . a),k1)) <> 0 ; ::_thesis: b1 in {(succ l),(abs (k2 + l))}
x = abs (k2 + l) by A1, A2, A3, A4, SCMPDS_2:55;
hence x in {(succ l),(abs (k2 + l))} by TARSKI:def_2; ::_thesis: verum
end;
supposeA5: s . (DataLoc ((s . a),k1)) = 0 ; ::_thesis: b1 in {(succ l),(abs (k2 + l))}
x = succ l by A1, A2, A5, SCMPDS_2:55;
hence x in {(succ l),(abs (k2 + l))} by TARSKI:def_2; ::_thesis: verum
end;
end;
end;
let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in {(succ l),(abs (k2 + l))} or x in NIC (((a,k1) <>0_goto k2),l) )
assume A6: x in {(succ l),(abs (k2 + l))} ; ::_thesis: x in NIC (((a,k1) <>0_goto k2),l)
percases ( x = succ l or x = abs (k2 + l) ) by A6, TARSKI:def_2;
supposeA7: x = succ l ; ::_thesis: x in NIC (((a,k1) <>0_goto k2),l)
reconsider u1 = u +* (a .--> 0) as State of SCMPDS ;
reconsider u2 = u1 +* ((DataLoc ((u1 . a),k1)) .--> 0) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A8: IC u2 = u1 . (IC ) by FUNCT_4:83, SCMPDS_2:43
.= IC u by FUNCT_4:83, SCMPDS_2:43
.= n by MEMSTR_0:def_11 ;
A9: u2 . (DataLoc ((u1 . a),k1)) = 0 by FUNCT_7:94;
u2 . (DataLoc ((u2 . a),k1)) = 0
proof
percases ( a = DataLoc ((u1 . a),k1) or a <> DataLoc ((u1 . a),k1) ) ;
suppose a = DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) = 0
hence u2 . (DataLoc ((u2 . a),k1)) = 0 by A9, FUNCT_7:94; ::_thesis: verum
end;
suppose a <> DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) = 0
then u2 . a = u1 . a by FUNCT_4:83;
hence u2 . (DataLoc ((u2 . a),k1)) = 0 by FUNCT_7:94; ::_thesis: verum
end;
end;
end;
then x = IC (Exec (((a,k1) <>0_goto k2),u2)) by A7, A8, SCMPDS_2:55;
hence x in NIC (((a,k1) <>0_goto k2),l) by A8; ::_thesis: verum
end;
supposeA10: x = abs (k2 + l) ; ::_thesis: x in NIC (((a,k1) <>0_goto k2),l)
reconsider u1 = u +* (a .--> 1) as State of SCMPDS ;
reconsider u2 = u1 +* ((DataLoc ((u1 . a),k1)) .--> 1) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A11: u2 . (DataLoc ((u1 . a),k1)) = 1 by FUNCT_7:94;
A12: u2 . (DataLoc ((u2 . a),k1)) <> 0
proof
percases ( a = DataLoc ((u1 . a),k1) or a <> DataLoc ((u1 . a),k1) ) ;
suppose a = DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) <> 0
hence u2 . (DataLoc ((u2 . a),k1)) <> 0 by A11, FUNCT_7:94; ::_thesis: verum
end;
suppose a <> DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) <> 0
then u2 . a = u1 . a by FUNCT_4:83;
hence u2 . (DataLoc ((u2 . a),k1)) <> 0 by FUNCT_7:94; ::_thesis: verum
end;
end;
end;
A13: IC u2 = u1 . (IC ) by FUNCT_4:83, SCMPDS_2:43
.= IC u by FUNCT_4:83, SCMPDS_2:43
.= n by MEMSTR_0:def_11 ;
ex m1 being Element of NAT st
( m1 = IC u2 & ICplusConst (u2,k2) = abs (m1 + k2) ) by SCMPDS_2:def_18;
then x = IC (Exec (((a,k1) <>0_goto k2),u2)) by A10, A13, A12, SCMPDS_2:55;
hence x in NIC (((a,k1) <>0_goto k2),l) by A13; ::_thesis: verum
end;
end;
end;
theorem :: SCMPDS_9:15
for a being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) <=0_goto k2),l) = {(succ l),(abs (k2 + l))}
proof
let a be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) <=0_goto k2),l) = {(succ l),(abs (k2 + l))}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC (((a,k1) <=0_goto k2),l) = {(succ l),(abs (k2 + l))}
let k1, k2 be Integer; ::_thesis: NIC (((a,k1) <=0_goto k2),l) = {(succ l),(abs (k2 + l))}
set s = the State of SCMPDS;
set i = (a,k1) <=0_goto k2;
set t = abs (k2 + l);
set I = (a,k1) <=0_goto k2;
reconsider n = l as Element of NAT ;
reconsider u = the n -started State of SCMPDS as Element of product (the_Values_of SCMPDS) by CARD_3:107;
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {(succ l),(abs (k2 + l))} c= NIC (((a,k1) <=0_goto k2),l)
let x be set ; ::_thesis: ( x in NIC (((a,k1) <=0_goto k2),l) implies b1 in {(succ l),(abs (k2 + l))} )
assume x in NIC (((a,k1) <=0_goto k2),l) ; ::_thesis: b1 in {(succ l),(abs (k2 + l))}
then consider s being Element of product (the_Values_of SCMPDS) such that
A1: x = IC (Exec (((a,k1) <=0_goto k2),s)) and
A2: IC s = l ;
A3: ex m1 being Element of NAT st
( m1 = IC s & ICplusConst (s,k2) = abs (m1 + k2) ) by SCMPDS_2:def_18;
percases ( s . (DataLoc ((s . a),k1)) <= 0 or s . (DataLoc ((s . a),k1)) > 0 ) ;
supposeA4: s . (DataLoc ((s . a),k1)) <= 0 ; ::_thesis: b1 in {(succ l),(abs (k2 + l))}
x = abs (k2 + l) by A1, A2, A3, A4, SCMPDS_2:56;
hence x in {(succ l),(abs (k2 + l))} by TARSKI:def_2; ::_thesis: verum
end;
supposeA5: s . (DataLoc ((s . a),k1)) > 0 ; ::_thesis: b1 in {(succ l),(abs (k2 + l))}
x = succ l by A1, A2, A5, SCMPDS_2:56;
hence x in {(succ l),(abs (k2 + l))} by TARSKI:def_2; ::_thesis: verum
end;
end;
end;
let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in {(succ l),(abs (k2 + l))} or x in NIC (((a,k1) <=0_goto k2),l) )
assume A6: x in {(succ l),(abs (k2 + l))} ; ::_thesis: x in NIC (((a,k1) <=0_goto k2),l)
percases ( x = succ l or x = abs (k2 + l) ) by A6, TARSKI:def_2;
supposeA7: x = succ l ; ::_thesis: x in NIC (((a,k1) <=0_goto k2),l)
reconsider u1 = u +* (a .--> 1) as State of SCMPDS ;
reconsider u2 = u1 +* ((DataLoc ((u1 . a),k1)) .--> 1) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A8: IC u2 = u1 . (IC ) by FUNCT_4:83, SCMPDS_2:43
.= IC u by FUNCT_4:83, SCMPDS_2:43
.= n by MEMSTR_0:def_11 ;
A9: u2 . (DataLoc ((u1 . a),k1)) = 1 by FUNCT_7:94;
u2 . (DataLoc ((u2 . a),k1)) > 0
proof
percases ( a = DataLoc ((u1 . a),k1) or a <> DataLoc ((u1 . a),k1) ) ;
suppose a = DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) > 0
hence u2 . (DataLoc ((u2 . a),k1)) > 0 by A9, FUNCT_7:94; ::_thesis: verum
end;
suppose a <> DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) > 0
then u2 . a = u1 . a by FUNCT_4:83;
hence u2 . (DataLoc ((u2 . a),k1)) > 0 by FUNCT_7:94; ::_thesis: verum
end;
end;
end;
then x = IC (Exec (((a,k1) <=0_goto k2),u2)) by A7, A8, SCMPDS_2:56;
hence x in NIC (((a,k1) <=0_goto k2),l) by A8; ::_thesis: verum
end;
supposeA10: x = abs (k2 + l) ; ::_thesis: x in NIC (((a,k1) <=0_goto k2),l)
reconsider u1 = u +* (a .--> 0) as State of SCMPDS ;
reconsider u2 = u1 +* ((DataLoc ((u1 . a),k1)) .--> 0) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A11: u2 . (DataLoc ((u1 . a),k1)) = 0 by FUNCT_7:94;
A12: u2 . (DataLoc ((u2 . a),k1)) <= 0
proof
percases ( a = DataLoc ((u1 . a),k1) or a <> DataLoc ((u1 . a),k1) ) ;
suppose a = DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) <= 0
hence u2 . (DataLoc ((u2 . a),k1)) <= 0 by A11, FUNCT_7:94; ::_thesis: verum
end;
suppose a <> DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) <= 0
then u2 . a = u1 . a by FUNCT_4:83;
hence u2 . (DataLoc ((u2 . a),k1)) <= 0 by FUNCT_7:94; ::_thesis: verum
end;
end;
end;
A13: IC u2 = u1 . (IC ) by FUNCT_4:83, SCMPDS_2:43
.= IC u by FUNCT_4:83, SCMPDS_2:43
.= n by MEMSTR_0:def_11 ;
ex m1 being Element of NAT st
( m1 = IC u2 & ICplusConst (u2,k2) = abs (m1 + k2) ) by SCMPDS_2:def_18;
then x = IC (Exec (((a,k1) <=0_goto k2),u2)) by A10, A13, A12, SCMPDS_2:56;
hence x in NIC (((a,k1) <=0_goto k2),l) by A13; ::_thesis: verum
end;
end;
end;
theorem :: SCMPDS_9:16
for a being Int_position
for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) >=0_goto k2),l) = {(succ l),(abs (k2 + l))}
proof
let a be Int_position; ::_thesis: for l being Element of NAT
for k1, k2 being Integer holds NIC (((a,k1) >=0_goto k2),l) = {(succ l),(abs (k2 + l))}
let l be Element of NAT ; ::_thesis: for k1, k2 being Integer holds NIC (((a,k1) >=0_goto k2),l) = {(succ l),(abs (k2 + l))}
let k1, k2 be Integer; ::_thesis: NIC (((a,k1) >=0_goto k2),l) = {(succ l),(abs (k2 + l))}
set s = the State of SCMPDS;
set i = (a,k1) >=0_goto k2;
set t = abs (k2 + l);
set I = (a,k1) >=0_goto k2;
reconsider n = l as Element of NAT ;
reconsider u = the n -started State of SCMPDS as Element of product (the_Values_of SCMPDS) by CARD_3:107;
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {(succ l),(abs (k2 + l))} c= NIC (((a,k1) >=0_goto k2),l)
let x be set ; ::_thesis: ( x in NIC (((a,k1) >=0_goto k2),l) implies b1 in {(succ l),(abs (k2 + l))} )
assume x in NIC (((a,k1) >=0_goto k2),l) ; ::_thesis: b1 in {(succ l),(abs (k2 + l))}
then consider s being Element of product (the_Values_of SCMPDS) such that
A1: x = IC (Exec (((a,k1) >=0_goto k2),s)) and
A2: IC s = l ;
A3: ex m1 being Element of NAT st
( m1 = IC s & ICplusConst (s,k2) = abs (m1 + k2) ) by SCMPDS_2:def_18;
percases ( s . (DataLoc ((s . a),k1)) >= 0 or s . (DataLoc ((s . a),k1)) < 0 ) ;
supposeA4: s . (DataLoc ((s . a),k1)) >= 0 ; ::_thesis: b1 in {(succ l),(abs (k2 + l))}
x = abs (k2 + l) by A1, A2, A3, A4, SCMPDS_2:57;
hence x in {(succ l),(abs (k2 + l))} by TARSKI:def_2; ::_thesis: verum
end;
supposeA5: s . (DataLoc ((s . a),k1)) < 0 ; ::_thesis: b1 in {(succ l),(abs (k2 + l))}
x = succ l by A1, A2, A5, SCMPDS_2:57;
hence x in {(succ l),(abs (k2 + l))} by TARSKI:def_2; ::_thesis: verum
end;
end;
end;
let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in {(succ l),(abs (k2 + l))} or x in NIC (((a,k1) >=0_goto k2),l) )
assume A6: x in {(succ l),(abs (k2 + l))} ; ::_thesis: x in NIC (((a,k1) >=0_goto k2),l)
percases ( x = succ l or x = abs (k2 + l) ) by A6, TARSKI:def_2;
supposeA7: x = succ l ; ::_thesis: x in NIC (((a,k1) >=0_goto k2),l)
A8: - 1 < 0 ;
reconsider u1 = u +* (a .--> (- 1)) as State of SCMPDS ;
reconsider u1 = u +* (a .--> (- 1)) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
reconsider u2 = u1 +* ((DataLoc ((u1 . a),k1)) .--> (- 1)) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A9: IC u2 = u1 . (IC ) by FUNCT_4:83, SCMPDS_2:43
.= IC u by FUNCT_4:83, SCMPDS_2:43
.= n by MEMSTR_0:def_11 ;
A10: u2 . (DataLoc ((u1 . a),k1)) = - 1 by FUNCT_7:94;
u2 . (DataLoc ((u2 . a),k1)) < 0
proof
percases ( a = DataLoc ((u1 . a),k1) or a <> DataLoc ((u1 . a),k1) ) ;
suppose a = DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) < 0
hence u2 . (DataLoc ((u2 . a),k1)) < 0 by A10, A8, FUNCT_7:94; ::_thesis: verum
end;
suppose a <> DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) < 0
then u2 . a = u1 . a by FUNCT_4:83;
hence u2 . (DataLoc ((u2 . a),k1)) < 0 by A8, FUNCT_7:94; ::_thesis: verum
end;
end;
end;
then x = IC (Exec (((a,k1) >=0_goto k2),u2)) by A7, A9, SCMPDS_2:57;
hence x in NIC (((a,k1) >=0_goto k2),l) by A9; ::_thesis: verum
end;
supposeA11: x = abs (k2 + l) ; ::_thesis: x in NIC (((a,k1) >=0_goto k2),l)
reconsider u1 = u +* (a .--> (- 1)) as State of SCMPDS ;
reconsider u1 = u +* (a .--> 0) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
reconsider u2 = u1 +* ((DataLoc ((u1 . a),k1)) .--> 0) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A12: u2 . (DataLoc ((u1 . a),k1)) = 0 by FUNCT_7:94;
A13: u2 . (DataLoc ((u2 . a),k1)) >= 0
proof
percases ( a = DataLoc ((u1 . a),k1) or a <> DataLoc ((u1 . a),k1) ) ;
suppose a = DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) >= 0
hence u2 . (DataLoc ((u2 . a),k1)) >= 0 by A12, FUNCT_7:94; ::_thesis: verum
end;
suppose a <> DataLoc ((u1 . a),k1) ; ::_thesis: u2 . (DataLoc ((u2 . a),k1)) >= 0
then u2 . a = u1 . a by FUNCT_4:83;
hence u2 . (DataLoc ((u2 . a),k1)) >= 0 by FUNCT_7:94; ::_thesis: verum
end;
end;
end;
A14: IC u2 = u1 . (IC ) by FUNCT_4:83, SCMPDS_2:43
.= IC u by FUNCT_4:83, SCMPDS_2:43
.= n by MEMSTR_0:def_11 ;
ex m1 being Element of NAT st
( m1 = IC u2 & ICplusConst (u2,k2) = abs (m1 + k2) ) by SCMPDS_2:def_18;
then x = IC (Exec (((a,k1) >=0_goto k2),u2)) by A11, A14, A13, SCMPDS_2:57;
hence x in NIC (((a,k1) >=0_goto k2),l) by A14; ::_thesis: verum
end;
end;
end;
theorem Th17: :: SCMPDS_9:17
for a being Int_position holds JUMP (return a) = { k where k is Element of NAT : k > 1 }
proof
let a be Int_position; ::_thesis: JUMP (return a) = { k where k is Element of NAT : k > 1 }
set A = { k where k is Element of NAT : k > 1 } ;
set i = return a;
set X = { (NIC ((return a),l)) where l is Element of NAT : verum } ;
JUMP (return a) c= NIC ((return a),0) by AMISTD_1:19;
hence JUMP (return a) c= { k where k is Element of NAT : k > 1 } by Th4; :: according to XBOOLE_0:def_10 ::_thesis: { k where k is Element of NAT : k > 1 } c= JUMP (return a)
let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { k where k is Element of NAT : k > 1 } or x in JUMP (return a) )
assume A1: x in { k where k is Element of NAT : k > 1 } ; ::_thesis: x in JUMP (return a)
now__::_thesis:_(__{__(NIC_((return_a),l))_where_l_is_Element_of_NAT_:_verum__}__<>_{}_&_(_for_y_being_set_st_y_in__{__(NIC_((return_a),l))_where_l_is_Element_of_NAT_:_verum__}__holds_
x_in_y_)_)
consider k being Element of NAT such that
A2: x = k and
A3: k > 1 by A1;
reconsider k2 = k - 2 as Element of NAT by A3, Lm2;
NIC ((return a),0) in { (NIC ((return a),l)) where l is Element of NAT : verum } ;
hence { (NIC ((return a),l)) where l is Element of NAT : verum } <> {} ; ::_thesis: for y being set st y in { (NIC ((return a),l)) where l is Element of NAT : verum } holds
x in y
a in SCM-Data-Loc by AMI_2:def_16;
then consider j being Element of NAT such that
A4: a = [1,j] by AMI_2:23;
set t = [1,(j + 1)];
set s = the State of SCMPDS;
let y be set ; ::_thesis: ( y in { (NIC ((return a),l)) where l is Element of NAT : verum } implies x in y )
A5: DataLoc (j,1) = [1,(abs (j + 1))]
.= [1,(j + 1)] by ABSVALUE:def_1 ;
[1,(j + 1)] in SCM-Data-Loc by AMI_2:24;
then reconsider t1 = [1,(j + 1)] as Int_position by AMI_2:def_16;
assume y in { (NIC ((return a),l)) where l is Element of NAT : verum } ; ::_thesis: x in y
then consider l being Element of NAT such that
A6: y = NIC ((return a),l) ;
reconsider n = l as Element of NAT ;
set I = return a;
reconsider u = the n -started State of SCMPDS as Element of product (the_Values_of SCMPDS) by CARD_3:107;
A7: IC u = n by MEMSTR_0:def_11;
set g = (a,t1) --> (j,k2);
reconsider v = u +* ((a,t1) --> (j,k2)) as Element of product (the_Values_of SCMPDS) by CARD_3:107;
j <> j + 1 ;
then A8: a <> t1 by A4, XTUPLE_0:1;
then A9: v . a = j by FUNCT_4:84;
A10: v . t1 = k2 by A8, FUNCT_4:84;
A11: dom ((a,t1) --> (j,k2)) = {a,t1} by FUNCT_4:62;
( a <> IC & t1 <> IC ) by SCMPDS_2:43;
then A12: not IC in dom ((a,t1) --> (j,k2)) by A11, TARSKI:def_2;
A13: IC v = l by A7, A12, FUNCT_4:11;
x = k2 + 2 by A2
.= (abs (v . (DataLoc (j,1)))) + 2 by A10, A5, ABSVALUE:def_1
.= IC (Exec ((return a),v)) by A9, SCMPDS_2:58, SCMPDS_I:def_14 ;
hence x in y by A6, A13; ::_thesis: verum
end;
hence x in JUMP (return a) by SETFAM_1:def_1; ::_thesis: verum
end;
registration
let a be Int_position;
cluster JUMP (return a) -> infinite ;
coherence
not JUMP (return a) is finite
proof
{ k where k is Element of NAT : k > 1 } is infinite by PRE_CIRC:23;
hence not JUMP (return a) is finite by Th17; ::_thesis: verum
end;
end;
registration
let a be Int_position;
let k1 be Integer;
cluster JUMP (saveIC (a,k1)) -> empty ;
coherence
JUMP (saveIC (a,k1)) is empty
proof
for l being Element of NAT holds NIC ((saveIC (a,k1)),l) = {(succ l)} by Th5;
hence JUMP (saveIC (a,k1)) is empty by Th2; ::_thesis: verum
end;
end;
registration
let a be Int_position;
let k1 be Integer;
cluster JUMP (a := k1) -> empty ;
coherence
JUMP (a := k1) is empty
proof
for l being Element of NAT holds NIC ((a := k1),l) = {(succ l)} by Th6;
hence JUMP (a := k1) is empty by Th2; ::_thesis: verum
end;
end;
registration
let a be Int_position;
let k1, k2 be Integer;
cluster JUMP ((a,k1) := k2) -> empty ;
coherence
JUMP ((a,k1) := k2) is empty
proof
for l being Element of NAT holds NIC (((a,k1) := k2),l) = {(succ l)} by Th7;
hence JUMP ((a,k1) := k2) is empty by Th2; ::_thesis: verum
end;
end;
registration
let a, b be Int_position;
let k1, k2 be Integer;
cluster JUMP ((a,k1) := (b,k2)) -> empty ;
coherence
JUMP ((a,k1) := (b,k2)) is empty
proof
for l being Element of NAT holds NIC (((a,k1) := (b,k2)),l) = {(succ l)} by Th8;
hence JUMP ((a,k1) := (b,k2)) is empty by Th2; ::_thesis: verum
end;
end;
registration
let a be Int_position;
let k1, k2 be Integer;
cluster JUMP (AddTo (a,k1,k2)) -> empty ;
coherence
JUMP (AddTo (a,k1,k2)) is empty
proof
for l being Element of NAT holds NIC ((AddTo (a,k1,k2)),l) = {(succ l)} by Th9;
hence JUMP (AddTo (a,k1,k2)) is empty by Th2; ::_thesis: verum
end;
end;
registration
let a, b be Int_position;
let k1, k2 be Integer;
cluster JUMP (AddTo (a,k1,b,k2)) -> empty ;
coherence
JUMP (AddTo (a,k1,b,k2)) is empty
proof
for l being Element of NAT holds NIC ((AddTo (a,k1,b,k2)),l) = {(succ l)} by Th10;
hence JUMP (AddTo (a,k1,b,k2)) is empty by Th2; ::_thesis: verum
end;
cluster JUMP (SubFrom (a,k1,b,k2)) -> empty ;
coherence
JUMP (SubFrom (a,k1,b,k2)) is empty
proof
for l being Element of NAT holds NIC ((SubFrom (a,k1,b,k2)),l) = {(succ l)} by Th11;
hence JUMP (SubFrom (a,k1,b,k2)) is empty by Th2; ::_thesis: verum
end;
cluster JUMP (MultBy (a,k1,b,k2)) -> empty ;
coherence
JUMP (MultBy (a,k1,b,k2)) is empty
proof
for l being Element of NAT holds NIC ((MultBy (a,k1,b,k2)),l) = {(succ l)} by Th12;
hence JUMP (MultBy (a,k1,b,k2)) is empty by Th2; ::_thesis: verum
end;
cluster JUMP (Divide (a,k1,b,k2)) -> empty ;
coherence
JUMP (Divide (a,k1,b,k2)) is empty
proof
for l being Element of NAT holds NIC ((Divide (a,k1,b,k2)),l) = {(succ l)} by Th13;
hence JUMP (Divide (a,k1,b,k2)) is empty by Th2; ::_thesis: verum
end;
end;
Lm3: not 5 / 3 is integer
proof
not 3 divides 5
proof
assume 3 divides 5 ; ::_thesis: contradiction
then A1: 5 mod 3 = 0 by PEPIN:6;
5 = (3 * 1) + 2 ;
hence contradiction by A1, NAT_D:def_2; ::_thesis: verum
end;
hence not 5 / 3 is integer by WSIERP_1:17; ::_thesis: verum
end;
Lm4: for d being real number holds ((((abs d) + (((- d) + (abs d)) + 4)) + 2) - 2) + d <> - ((((((abs d) + (((- d) + (abs d)) + 4)) + (((- d) + (abs d)) + 4)) + 2) - 2) + d)
proof
let d be real number ; ::_thesis: ((((abs d) + (((- d) + (abs d)) + 4)) + 2) - 2) + d <> - ((((((abs d) + (((- d) + (abs d)) + 4)) + (((- d) + (abs d)) + 4)) + 2) - 2) + d)
set c = ((- d) + (abs d)) + 4;
set xx = ((((- d) + (abs d)) + 4) + (((- d) + (abs d)) + 4)) + (((- d) + (abs d)) + 4);
(- d) + (abs d) >= 0 by ABSVALUE:27;
then (- 2) * (((((- d) + (abs d)) + 4) + (((- d) + (abs d)) + 4)) + (((- d) + (abs d)) + 4)) < (- 2) * 0 by XREAL_1:69;
then A1: ((- 2) * (((((- d) + (abs d)) + 4) + (((- d) + (abs d)) + 4)) + (((- d) + (abs d)) + 4))) / 4 < 0 / 4 by XREAL_1:74;
assume ((((abs d) + (((- d) + (abs d)) + 4)) + 2) - 2) + d = - ((((((abs d) + (((- d) + (abs d)) + 4)) + (((- d) + (abs d)) + 4)) + 2) - 2) + d) ; ::_thesis: contradiction
then d + (abs d) = ((- 2) * (((((- d) + (abs d)) + 4) + (((- d) + (abs d)) + 4)) + (((- d) + (abs d)) + 4))) / 4 ;
hence contradiction by A1, ABSVALUE:26; ::_thesis: verum
end;
Lm5: for b, d being real number holds b + 1 <> b + ((((- d) + (abs d)) + 4) + d)
proof
let b, d be real number ; ::_thesis: b + 1 <> b + ((((- d) + (abs d)) + 4) + d)
set c = ((- d) + (abs d)) + 4;
abs d >= 0 by COMPLEX1:46;
then A1: (abs d) + 3 >= 0 + 3 by XREAL_1:7;
assume b + 1 = b + ((((- d) + (abs d)) + 4) + d) ; ::_thesis: contradiction
hence contradiction by A1; ::_thesis: verum
end;
Lm6: for c, d being real number st c > 0 holds
((abs d) + c) + 1 <> - ((((abs d) + c) + c) + d)
proof
let c, d be real number ; ::_thesis: ( c > 0 implies ((abs d) + c) + 1 <> - ((((abs d) + c) + c) + d) )
assume A1: c > 0 ; ::_thesis: ((abs d) + c) + 1 <> - ((((abs d) + c) + c) + d)
assume A2: ((abs d) + c) + 1 = - ((((abs d) + c) + c) + d) ; ::_thesis: contradiction
percases ( d >= 0 or d < 0 ) ;
supposeA3: d >= 0 ; ::_thesis: contradiction
then abs d = d by ABSVALUE:def_1;
hence contradiction by A1, A2, A3; ::_thesis: verum
end;
supposeA4: d < 0 ; ::_thesis: contradiction
then abs d = - d by ABSVALUE:def_1;
then ((- d) + (3 * c)) + 1 = 0 by A2;
hence contradiction by A1, A4; ::_thesis: verum
end;
end;
end;
Lm7: for b being real number
for d being Integer st d <> 5 holds
(b + (((- d) + (abs d)) + 4)) + 1 <> b + d
proof
let b be real number ; ::_thesis: for d being Integer st d <> 5 holds
(b + (((- d) + (abs d)) + 4)) + 1 <> b + d
let d be Integer; ::_thesis: ( d <> 5 implies (b + (((- d) + (abs d)) + 4)) + 1 <> b + d )
assume A1: d <> 5 ; ::_thesis: (b + (((- d) + (abs d)) + 4)) + 1 <> b + d
assume A2: (b + (((- d) + (abs d)) + 4)) + 1 = b + d ; ::_thesis: contradiction
percases ( d >= 0 or d < 0 ) ;
suppose d >= 0 ; ::_thesis: contradiction
then abs d = d by ABSVALUE:def_1;
hence contradiction by A1, A2; ::_thesis: verum
end;
suppose d < 0 ; ::_thesis: contradiction
then abs d = - d by ABSVALUE:def_1;
hence contradiction by A2, Lm3; ::_thesis: verum
end;
end;
end;
Lm8: for c, d being real number st c > 0 holds
(((abs d) + c) + c) + 1 <> - (((abs d) + c) + d)
proof
let c, d be real number ; ::_thesis: ( c > 0 implies (((abs d) + c) + c) + 1 <> - (((abs d) + c) + d) )
assume A1: c > 0 ; ::_thesis: (((abs d) + c) + c) + 1 <> - (((abs d) + c) + d)
assume A2: (((abs d) + c) + c) + 1 = - (((abs d) + c) + d) ; ::_thesis: contradiction
percases ( d >= 0 or d < 0 ) ;
supposeA3: d >= 0 ; ::_thesis: contradiction
then abs d = d by ABSVALUE:def_1;
hence contradiction by A1, A2, A3; ::_thesis: verum
end;
supposeA4: d < 0 ; ::_thesis: contradiction
then abs d = - d by ABSVALUE:def_1;
hence contradiction by A1, A2, A4; ::_thesis: verum
end;
end;
end;
Lm9: for a being Int_position
for k1 being Integer holds JUMP ((a,k1) <>0_goto 5) = {}
proof
let a be Int_position; ::_thesis: for k1 being Integer holds JUMP ((a,k1) <>0_goto 5) = {}
let k1 be Integer; ::_thesis: JUMP ((a,k1) <>0_goto 5) = {}
set k2 = 5;
set i = (a,k1) <>0_goto 5;
set X = { (NIC (((a,k1) <>0_goto 5),l)) where l is Element of NAT : verum } ;
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {} c= JUMP ((a,k1) <>0_goto 5)
set nl2 = 8;
set nl1 = 5;
let x be set ; ::_thesis: ( x in JUMP ((a,k1) <>0_goto 5) implies b1 in {} )
assume A1: x in JUMP ((a,k1) <>0_goto 5) ; ::_thesis: b1 in {}
set l2 = 8;
NIC (((a,k1) <>0_goto 5),8) in { (NIC (((a,k1) <>0_goto 5),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) <>0_goto 5),8) by A1, SETFAM_1:def_1;
then consider s2 being Element of product (the_Values_of SCMPDS) such that
A2: x = IC (Exec (((a,k1) <>0_goto 5),s2)) and
A3: IC s2 = 8 ;
set l1 = 5;
NIC (((a,k1) <>0_goto 5),5) in { (NIC (((a,k1) <>0_goto 5),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) <>0_goto 5),5) by A1, SETFAM_1:def_1;
then consider s1 being Element of product (the_Values_of SCMPDS) such that
A4: x = IC (Exec (((a,k1) <>0_goto 5),s1)) and
A5: IC s1 = 5 ;
consider m2 being Element of NAT such that
A6: m2 = IC s2 and
A7: ICplusConst (s2,5) = abs (m2 + 5) by SCMPDS_2:def_18;
consider m1 being Element of NAT such that
A8: m1 = IC s1 and
A9: ICplusConst (s1,5) = abs (m1 + 5) by SCMPDS_2:def_18;
percases ( ( s1 . (DataLoc ((s1 . a),k1)) <> 0 & s2 . (DataLoc ((s2 . a),k1)) <> 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) = 0 & s2 . (DataLoc ((s2 . a),k1)) = 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) = 0 & s2 . (DataLoc ((s2 . a),k1)) <> 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) <> 0 & s2 . (DataLoc ((s2 . a),k1)) = 0 ) ) ;
supposethat A10: s1 . (DataLoc ((s1 . a),k1)) <> 0 and
A11: s2 . (DataLoc ((s2 . a),k1)) <> 0 ; ::_thesis: b1 in {}
A12: x = abs (m2 + 5) by A2, A7, A11, SCMPDS_2:55;
x = abs (m1 + 5) by A4, A9, A10, SCMPDS_2:55;
then ( 5 + 5 = 8 + 5 or 5 + 5 = - (8 + 5) ) by A5, A8, A3, A6, A12, ABSVALUE:28;
hence x in {} ; ::_thesis: verum
end;
supposethat A13: s1 . (DataLoc ((s1 . a),k1)) = 0 and
A14: s2 . (DataLoc ((s2 . a),k1)) = 0 ; ::_thesis: b1 in {}
A15: x = succ 8 by A2, A3, A14, SCMPDS_2:55;
x = succ 5 by A4, A5, A13, SCMPDS_2:55;
hence x in {} by A15; ::_thesis: verum
end;
supposethat A16: s1 . (DataLoc ((s1 . a),k1)) = 0 and
A17: s2 . (DataLoc ((s2 . a),k1)) <> 0 ; ::_thesis: b1 in {}
reconsider n1 = 5 as Element of NAT ;
set w1 = n1;
A18: x = abs (m2 + 5) by A2, A7, A17, SCMPDS_2:55;
x = succ n1 by A4, A5, A16, SCMPDS_2:55
.= n1 + 1 ;
then ( n1 + 1 = m2 + 5 or n1 + 1 = - (m2 + 5) ) by A18, ABSVALUE:1;
hence x in {} by A3, A6; ::_thesis: verum
end;
supposethat A19: s1 . (DataLoc ((s1 . a),k1)) <> 0 and
A20: s2 . (DataLoc ((s2 . a),k1)) = 0 ; ::_thesis: b1 in {}
reconsider n2 = 8 as Element of NAT ;
A21: x = succ n2 by A2, A3, A20, SCMPDS_2:55
.= n2 + 1 ;
set w2 = n2;
x = abs (m1 + 5) by A4, A9, A19, SCMPDS_2:55;
then ( n2 + 1 = m1 + 5 or n2 + 1 = - (m1 + 5) ) by A21, ABSVALUE:1;
hence x in {} by A5, A8; ::_thesis: verum
end;
end;
end;
thus {} c= JUMP ((a,k1) <>0_goto 5) by XBOOLE_1:2; ::_thesis: verum
end;
Lm10: for a being Int_position
for k2, k1 being Integer st k2 <> 5 holds
JUMP ((a,k1) <>0_goto k2) = {}
proof
let a be Int_position; ::_thesis: for k2, k1 being Integer st k2 <> 5 holds
JUMP ((a,k1) <>0_goto k2) = {}
let k2, k1 be Integer; ::_thesis: ( k2 <> 5 implies JUMP ((a,k1) <>0_goto k2) = {} )
set i = (a,k1) <>0_goto k2;
set X = { (NIC (((a,k1) <>0_goto k2),l)) where l is Element of NAT : verum } ;
assume A1: k2 <> 5 ; ::_thesis: JUMP ((a,k1) <>0_goto k2) = {}
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {} c= JUMP ((a,k1) <>0_goto k2)
set x1 = ((- k2) + (abs k2)) + 4;
let x be set ; ::_thesis: ( x in JUMP ((a,k1) <>0_goto k2) implies b1 in {} )
assume A2: x in JUMP ((a,k1) <>0_goto k2) ; ::_thesis: b1 in {}
A3: ((- k2) + (abs k2)) + 4 > ((- k2) + (abs k2)) + 0 by XREAL_1:6;
then A4: ((- k2) + (abs k2)) + 4 > 0 by ABSVALUE:27;
then reconsider x1 = ((- k2) + (abs k2)) + 4 as Element of NAT by INT_1:3;
set nl1 = (abs k2) + x1;
set nl2 = ((abs k2) + x1) + x1;
set l1 = (abs k2) + x1;
set l2 = ((abs k2) + x1) + x1;
NIC (((a,k1) <>0_goto k2),((abs k2) + x1)) in { (NIC (((a,k1) <>0_goto k2),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) <>0_goto k2),((abs k2) + x1)) by A2, SETFAM_1:def_1;
then consider s1 being Element of product (the_Values_of SCMPDS) such that
A5: x = IC (Exec (((a,k1) <>0_goto k2),s1)) and
A6: IC s1 = (abs k2) + x1 ;
consider m1 being Element of NAT such that
A7: m1 = IC s1 and
A8: ICplusConst (s1,k2) = abs (m1 + k2) by SCMPDS_2:def_18;
NIC (((a,k1) <>0_goto k2),(((abs k2) + x1) + x1)) in { (NIC (((a,k1) <>0_goto k2),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) <>0_goto k2),(((abs k2) + x1) + x1)) by A2, SETFAM_1:def_1;
then consider s2 being Element of product (the_Values_of SCMPDS) such that
A9: x = IC (Exec (((a,k1) <>0_goto k2),s2)) and
A10: IC s2 = ((abs k2) + x1) + x1 ;
consider m2 being Element of NAT such that
A11: m2 = IC s2 and
A12: ICplusConst (s2,k2) = abs (m2 + k2) by SCMPDS_2:def_18;
percases ( ( s1 . (DataLoc ((s1 . a),k1)) <> 0 & s2 . (DataLoc ((s2 . a),k1)) <> 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) = 0 & s2 . (DataLoc ((s2 . a),k1)) = 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) = 0 & s2 . (DataLoc ((s2 . a),k1)) <> 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) <> 0 & s2 . (DataLoc ((s2 . a),k1)) = 0 ) ) ;
supposethat A13: s1 . (DataLoc ((s1 . a),k1)) <> 0 and
A14: s2 . (DataLoc ((s2 . a),k1)) <> 0 ; ::_thesis: b1 in {}
A15: x = abs (m2 + k2) by A9, A12, A14, SCMPDS_2:55;
A16: x = abs (m1 + k2) by A5, A8, A13, SCMPDS_2:55;
thus x in {} ::_thesis: verum
proof
percases ( ((((abs k2) + x1) + 2) - 2) + k2 = (((((abs k2) + x1) + x1) + 2) - 2) + k2 or ((((abs k2) + x1) + 2) - 2) + k2 = - ((((((abs k2) + x1) + x1) + 2) - 2) + k2) ) by A6, A7, A10, A11, A16, A15, ABSVALUE:28;
suppose ((((abs k2) + x1) + 2) - 2) + k2 = (((((abs k2) + x1) + x1) + 2) - 2) + k2 ; ::_thesis: x in {}
hence x in {} by A3, ABSVALUE:27; ::_thesis: verum
end;
suppose ((((abs k2) + x1) + 2) - 2) + k2 = - ((((((abs k2) + x1) + x1) + 2) - 2) + k2) ; ::_thesis: x in {}
hence x in {} by Lm4; ::_thesis: verum
end;
end;
end;
end;
supposethat A17: s1 . (DataLoc ((s1 . a),k1)) = 0 and
A18: s2 . (DataLoc ((s2 . a),k1)) = 0 ; ::_thesis: b1 in {}
A19: x = succ (((abs k2) + x1) + x1) by A9, A10, A18, SCMPDS_2:55;
x = succ ((abs k2) + x1) by A5, A6, A17, SCMPDS_2:55;
hence x in {} by A3, A19, ABSVALUE:27; ::_thesis: verum
end;
supposethat A20: s1 . (DataLoc ((s1 . a),k1)) = 0 and
A21: s2 . (DataLoc ((s2 . a),k1)) <> 0 ; ::_thesis: b1 in {}
reconsider n1 = (abs k2) + x1 as Element of NAT ;
set w1 = n1;
A22: x = abs (m2 + k2) by A9, A12, A21, SCMPDS_2:55;
A23: x = succ n1 by A5, A6, A20, SCMPDS_2:55
.= n1 + 1 ;
thus x in {} ::_thesis: verum
proof
percases ( n1 + 1 = m2 + k2 or n1 + 1 = - (m2 + k2) ) by A23, A22, ABSVALUE:1;
suppose n1 + 1 = m2 + k2 ; ::_thesis: x in {}
then ((abs k2) + x1) + 1 = ((abs k2) + x1) + (x1 + k2) by A10, A11;
hence x in {} by Lm5; ::_thesis: verum
end;
suppose n1 + 1 = - (m2 + k2) ; ::_thesis: x in {}
hence x in {} by A4, A10, A11, Lm6; ::_thesis: verum
end;
end;
end;
end;
supposethat A24: s1 . (DataLoc ((s1 . a),k1)) <> 0 and
A25: s2 . (DataLoc ((s2 . a),k1)) = 0 ; ::_thesis: b1 in {}
reconsider n2 = ((abs k2) + x1) + x1 as Element of NAT ;
A26: x = succ n2 by A9, A10, A25, SCMPDS_2:55
.= n2 + 1 ;
set w2 = n2;
A27: x = abs (m1 + k2) by A5, A8, A24, SCMPDS_2:55;
thus x in {} ::_thesis: verum
proof
percases ( n2 + 1 = m1 + k2 or n2 + 1 = - (m1 + k2) ) by A27, A26, ABSVALUE:1;
suppose n2 + 1 = m1 + k2 ; ::_thesis: x in {}
hence x in {} by A1, A6, A7, Lm7; ::_thesis: verum
end;
suppose n2 + 1 = - (m1 + k2) ; ::_thesis: x in {}
hence x in {} by A4, A6, A7, Lm8; ::_thesis: verum
end;
end;
end;
end;
end;
end;
thus {} c= JUMP ((a,k1) <>0_goto k2) by XBOOLE_1:2; ::_thesis: verum
end;
Lm11: for a being Int_position
for k1 being Integer holds JUMP ((a,k1) <=0_goto 5) = {}
proof
let a be Int_position; ::_thesis: for k1 being Integer holds JUMP ((a,k1) <=0_goto 5) = {}
let k1 be Integer; ::_thesis: JUMP ((a,k1) <=0_goto 5) = {}
set k2 = 5;
set i = (a,k1) <=0_goto 5;
set X = { (NIC (((a,k1) <=0_goto 5),l)) where l is Element of NAT : verum } ;
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {} c= JUMP ((a,k1) <=0_goto 5)
set nl2 = 8;
set nl1 = 5;
let x be set ; ::_thesis: ( x in JUMP ((a,k1) <=0_goto 5) implies b1 in {} )
assume A1: x in JUMP ((a,k1) <=0_goto 5) ; ::_thesis: b1 in {}
set l2 = 8;
NIC (((a,k1) <=0_goto 5),8) in { (NIC (((a,k1) <=0_goto 5),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) <=0_goto 5),8) by A1, SETFAM_1:def_1;
then consider s2 being Element of product (the_Values_of SCMPDS) such that
A2: x = IC (Exec (((a,k1) <=0_goto 5),s2)) and
A3: IC s2 = 8 ;
set l1 = 5;
NIC (((a,k1) <=0_goto 5),5) in { (NIC (((a,k1) <=0_goto 5),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) <=0_goto 5),5) by A1, SETFAM_1:def_1;
then consider s1 being Element of product (the_Values_of SCMPDS) such that
A4: x = IC (Exec (((a,k1) <=0_goto 5),s1)) and
A5: IC s1 = 5 ;
consider m2 being Element of NAT such that
A6: m2 = IC s2 and
A7: ICplusConst (s2,5) = abs (m2 + 5) by SCMPDS_2:def_18;
consider m1 being Element of NAT such that
A8: m1 = IC s1 and
A9: ICplusConst (s1,5) = abs (m1 + 5) by SCMPDS_2:def_18;
percases ( ( s1 . (DataLoc ((s1 . a),k1)) <= 0 & s2 . (DataLoc ((s2 . a),k1)) <= 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) > 0 & s2 . (DataLoc ((s2 . a),k1)) > 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) > 0 & s2 . (DataLoc ((s2 . a),k1)) <= 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) <= 0 & s2 . (DataLoc ((s2 . a),k1)) > 0 ) ) ;
supposethat A10: s1 . (DataLoc ((s1 . a),k1)) <= 0 and
A11: s2 . (DataLoc ((s2 . a),k1)) <= 0 ; ::_thesis: b1 in {}
A12: x = abs (m2 + 5) by A2, A7, A11, SCMPDS_2:56;
x = abs (m1 + 5) by A4, A9, A10, SCMPDS_2:56;
then ( 5 + 5 = 8 + 5 or 5 + 5 = - (8 + 5) ) by A5, A8, A3, A6, A12, ABSVALUE:28;
hence x in {} ; ::_thesis: verum
end;
supposethat A13: s1 . (DataLoc ((s1 . a),k1)) > 0 and
A14: s2 . (DataLoc ((s2 . a),k1)) > 0 ; ::_thesis: b1 in {}
A15: x = succ 8 by A2, A3, A14, SCMPDS_2:56;
x = succ 5 by A4, A5, A13, SCMPDS_2:56;
hence x in {} by A15; ::_thesis: verum
end;
supposethat A16: s1 . (DataLoc ((s1 . a),k1)) > 0 and
A17: s2 . (DataLoc ((s2 . a),k1)) <= 0 ; ::_thesis: b1 in {}
reconsider n1 = 5 as Element of NAT ;
set w1 = n1;
A18: x = abs (m2 + 5) by A2, A7, A17, SCMPDS_2:56;
x = succ n1 by A4, A5, A16, SCMPDS_2:56
.= n1 + 1 ;
then ( n1 + 1 = m2 + 5 or n1 + 1 = - (m2 + 5) ) by A18, ABSVALUE:1;
hence x in {} by A3, A6; ::_thesis: verum
end;
supposethat A19: s1 . (DataLoc ((s1 . a),k1)) <= 0 and
A20: s2 . (DataLoc ((s2 . a),k1)) > 0 ; ::_thesis: b1 in {}
reconsider n2 = 8 as Element of NAT ;
A21: x = succ n2 by A2, A3, A20, SCMPDS_2:56
.= n2 + 1 ;
set w2 = n2;
x = abs (m1 + 5) by A4, A9, A19, SCMPDS_2:56;
then ( n2 + 1 = m1 + 5 or n2 + 1 = - (m1 + 5) ) by A21, ABSVALUE:1;
hence x in {} by A5, A8; ::_thesis: verum
end;
end;
end;
thus {} c= JUMP ((a,k1) <=0_goto 5) by XBOOLE_1:2; ::_thesis: verum
end;
Lm12: for a being Int_position
for k2, k1 being Integer st k2 <> 5 holds
JUMP ((a,k1) <=0_goto k2) = {}
proof
let a be Int_position; ::_thesis: for k2, k1 being Integer st k2 <> 5 holds
JUMP ((a,k1) <=0_goto k2) = {}
let k2, k1 be Integer; ::_thesis: ( k2 <> 5 implies JUMP ((a,k1) <=0_goto k2) = {} )
set i = (a,k1) <=0_goto k2;
set X = { (NIC (((a,k1) <=0_goto k2),l)) where l is Element of NAT : verum } ;
assume A1: k2 <> 5 ; ::_thesis: JUMP ((a,k1) <=0_goto k2) = {}
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {} c= JUMP ((a,k1) <=0_goto k2)
set x1 = ((- k2) + (abs k2)) + 4;
let x be set ; ::_thesis: ( x in JUMP ((a,k1) <=0_goto k2) implies b1 in {} )
assume A2: x in JUMP ((a,k1) <=0_goto k2) ; ::_thesis: b1 in {}
A3: ((- k2) + (abs k2)) + 4 > ((- k2) + (abs k2)) + 0 by XREAL_1:6;
then A4: ((- k2) + (abs k2)) + 4 > 0 by ABSVALUE:27;
then reconsider x1 = ((- k2) + (abs k2)) + 4 as Element of NAT by INT_1:3;
set nl1 = (abs k2) + x1;
set nl2 = ((abs k2) + x1) + x1;
set l1 = (abs k2) + x1;
set l2 = ((abs k2) + x1) + x1;
NIC (((a,k1) <=0_goto k2),((abs k2) + x1)) in { (NIC (((a,k1) <=0_goto k2),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) <=0_goto k2),((abs k2) + x1)) by A2, SETFAM_1:def_1;
then consider s1 being Element of product (the_Values_of SCMPDS) such that
A5: x = IC (Exec (((a,k1) <=0_goto k2),s1)) and
A6: IC s1 = (abs k2) + x1 ;
consider m1 being Element of NAT such that
A7: m1 = IC s1 and
A8: ICplusConst (s1,k2) = abs (m1 + k2) by SCMPDS_2:def_18;
NIC (((a,k1) <=0_goto k2),(((abs k2) + x1) + x1)) in { (NIC (((a,k1) <=0_goto k2),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) <=0_goto k2),(((abs k2) + x1) + x1)) by A2, SETFAM_1:def_1;
then consider s2 being Element of product (the_Values_of SCMPDS) such that
A9: x = IC (Exec (((a,k1) <=0_goto k2),s2)) and
A10: IC s2 = ((abs k2) + x1) + x1 ;
consider m2 being Element of NAT such that
A11: m2 = IC s2 and
A12: ICplusConst (s2,k2) = abs (m2 + k2) by SCMPDS_2:def_18;
percases ( ( s1 . (DataLoc ((s1 . a),k1)) <= 0 & s2 . (DataLoc ((s2 . a),k1)) <= 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) > 0 & s2 . (DataLoc ((s2 . a),k1)) > 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) > 0 & s2 . (DataLoc ((s2 . a),k1)) <= 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) <= 0 & s2 . (DataLoc ((s2 . a),k1)) > 0 ) ) ;
supposethat A13: s1 . (DataLoc ((s1 . a),k1)) <= 0 and
A14: s2 . (DataLoc ((s2 . a),k1)) <= 0 ; ::_thesis: b1 in {}
A15: x = abs (m2 + k2) by A9, A12, A14, SCMPDS_2:56;
A16: x = abs (m1 + k2) by A5, A8, A13, SCMPDS_2:56;
thus x in {} ::_thesis: verum
proof
percases ( ((abs k2) + x1) + k2 = (((abs k2) + x1) + x1) + k2 or ((((abs k2) + x1) + 2) - 2) + k2 = - ((((((abs k2) + x1) + x1) + 2) - 2) + k2) ) by A6, A7, A10, A11, A16, A15, ABSVALUE:28;
suppose ((abs k2) + x1) + k2 = (((abs k2) + x1) + x1) + k2 ; ::_thesis: x in {}
hence x in {} by A3, ABSVALUE:27; ::_thesis: verum
end;
suppose ((((abs k2) + x1) + 2) - 2) + k2 = - ((((((abs k2) + x1) + x1) + 2) - 2) + k2) ; ::_thesis: x in {}
hence x in {} by Lm4; ::_thesis: verum
end;
end;
end;
end;
supposethat A17: s1 . (DataLoc ((s1 . a),k1)) > 0 and
A18: s2 . (DataLoc ((s2 . a),k1)) > 0 ; ::_thesis: b1 in {}
A19: x = succ (((abs k2) + x1) + x1) by A9, A10, A18, SCMPDS_2:56;
x = succ ((abs k2) + x1) by A5, A6, A17, SCMPDS_2:56;
hence x in {} by A3, A19, ABSVALUE:27; ::_thesis: verum
end;
supposethat A20: s1 . (DataLoc ((s1 . a),k1)) > 0 and
A21: s2 . (DataLoc ((s2 . a),k1)) <= 0 ; ::_thesis: b1 in {}
reconsider n1 = (abs k2) + x1 as Element of NAT ;
set w1 = n1;
A22: x = abs (m2 + k2) by A9, A12, A21, SCMPDS_2:56;
A23: x = succ n1 by A5, A6, A20, SCMPDS_2:56
.= n1 + 1 ;
thus x in {} ::_thesis: verum
proof
percases ( n1 + 1 = m2 + k2 or n1 + 1 = - (m2 + k2) ) by A23, A22, ABSVALUE:1;
suppose n1 + 1 = m2 + k2 ; ::_thesis: x in {}
then ((abs k2) + x1) + 1 = ((abs k2) + x1) + (x1 + k2) by A10, A11;
hence x in {} by Lm5; ::_thesis: verum
end;
suppose n1 + 1 = - (m2 + k2) ; ::_thesis: x in {}
hence x in {} by A4, A10, A11, Lm6; ::_thesis: verum
end;
end;
end;
end;
supposethat A24: s1 . (DataLoc ((s1 . a),k1)) <= 0 and
A25: s2 . (DataLoc ((s2 . a),k1)) > 0 ; ::_thesis: b1 in {}
reconsider n2 = ((abs k2) + x1) + x1 as Element of NAT ;
A26: x = succ n2 by A9, A10, A25, SCMPDS_2:56
.= n2 + 1 ;
set w2 = n2;
A27: x = abs (m1 + k2) by A5, A8, A24, SCMPDS_2:56;
thus x in {} ::_thesis: verum
proof
percases ( n2 + 1 = m1 + k2 or n2 + 1 = - (m1 + k2) ) by A27, A26, ABSVALUE:1;
suppose n2 + 1 = m1 + k2 ; ::_thesis: x in {}
hence x in {} by A1, A6, A7, Lm7; ::_thesis: verum
end;
suppose n2 + 1 = - (m1 + k2) ; ::_thesis: x in {}
hence x in {} by A4, A6, A7, Lm8; ::_thesis: verum
end;
end;
end;
end;
end;
end;
thus {} c= JUMP ((a,k1) <=0_goto k2) by XBOOLE_1:2; ::_thesis: verum
end;
Lm13: for a being Int_position
for k1 being Integer holds JUMP ((a,k1) >=0_goto 5) = {}
proof
let a be Int_position; ::_thesis: for k1 being Integer holds JUMP ((a,k1) >=0_goto 5) = {}
let k1 be Integer; ::_thesis: JUMP ((a,k1) >=0_goto 5) = {}
set k2 = 5;
set i = (a,k1) >=0_goto 5;
set X = { (NIC (((a,k1) >=0_goto 5),l)) where l is Element of NAT : verum } ;
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {} c= JUMP ((a,k1) >=0_goto 5)
set nl2 = 8;
set nl1 = 5;
let x be set ; ::_thesis: ( x in JUMP ((a,k1) >=0_goto 5) implies b1 in {} )
assume A1: x in JUMP ((a,k1) >=0_goto 5) ; ::_thesis: b1 in {}
set l2 = 8;
NIC (((a,k1) >=0_goto 5),8) in { (NIC (((a,k1) >=0_goto 5),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) >=0_goto 5),8) by A1, SETFAM_1:def_1;
then consider s2 being Element of product (the_Values_of SCMPDS) such that
A2: x = IC (Exec (((a,k1) >=0_goto 5),s2)) and
A3: IC s2 = 8 ;
set l1 = 5;
NIC (((a,k1) >=0_goto 5),5) in { (NIC (((a,k1) >=0_goto 5),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) >=0_goto 5),5) by A1, SETFAM_1:def_1;
then consider s1 being Element of product (the_Values_of SCMPDS) such that
A4: x = IC (Exec (((a,k1) >=0_goto 5),s1)) and
A5: IC s1 = 5 ;
consider m2 being Element of NAT such that
A6: m2 = IC s2 and
A7: ICplusConst (s2,5) = abs (m2 + 5) by SCMPDS_2:def_18;
consider m1 being Element of NAT such that
A8: m1 = IC s1 and
A9: ICplusConst (s1,5) = abs (m1 + 5) by SCMPDS_2:def_18;
percases ( ( s1 . (DataLoc ((s1 . a),k1)) >= 0 & s2 . (DataLoc ((s2 . a),k1)) >= 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) < 0 & s2 . (DataLoc ((s2 . a),k1)) < 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) < 0 & s2 . (DataLoc ((s2 . a),k1)) >= 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) >= 0 & s2 . (DataLoc ((s2 . a),k1)) < 0 ) ) ;
supposethat A10: s1 . (DataLoc ((s1 . a),k1)) >= 0 and
A11: s2 . (DataLoc ((s2 . a),k1)) >= 0 ; ::_thesis: b1 in {}
A12: x = abs (m2 + 5) by A2, A7, A11, SCMPDS_2:57;
x = abs (m1 + 5) by A4, A9, A10, SCMPDS_2:57;
then ( ((5 + 2) - 2) + 5 = ((8 + 2) - 2) + 5 or ((5 + 2) - 2) + 5 = - (((8 + 2) - 2) + 5) ) by A5, A8, A3, A6, A12, ABSVALUE:28;
hence x in {} ; ::_thesis: verum
end;
supposethat A13: s1 . (DataLoc ((s1 . a),k1)) < 0 and
A14: s2 . (DataLoc ((s2 . a),k1)) < 0 ; ::_thesis: b1 in {}
A15: x = succ 8 by A2, A3, A14, SCMPDS_2:57;
x = succ 5 by A4, A5, A13, SCMPDS_2:57;
hence x in {} by A15; ::_thesis: verum
end;
supposethat A16: s1 . (DataLoc ((s1 . a),k1)) < 0 and
A17: s2 . (DataLoc ((s2 . a),k1)) >= 0 ; ::_thesis: b1 in {}
reconsider n1 = 5 as Element of NAT ;
set w1 = n1;
A18: x = abs (m2 + 5) by A2, A7, A17, SCMPDS_2:57;
x = succ n1 by A4, A5, A16, SCMPDS_2:57
.= n1 + 1 ;
then ( n1 + 1 = m2 + 5 or n1 + 1 = - (m2 + 5) ) by A18, ABSVALUE:1;
hence x in {} by A3, A6; ::_thesis: verum
end;
supposethat A19: s1 . (DataLoc ((s1 . a),k1)) >= 0 and
A20: s2 . (DataLoc ((s2 . a),k1)) < 0 ; ::_thesis: b1 in {}
reconsider n2 = 8 as Element of NAT ;
A21: x = succ n2 by A2, A3, A20, SCMPDS_2:57
.= n2 + 1 ;
set w2 = n2;
x = abs (m1 + 5) by A4, A9, A19, SCMPDS_2:57;
then ( n2 + 1 = m1 + 5 or n2 + 1 = - (m1 + 5) ) by A21, ABSVALUE:1;
hence x in {} by A5, A8; ::_thesis: verum
end;
end;
end;
thus {} c= JUMP ((a,k1) >=0_goto 5) by XBOOLE_1:2; ::_thesis: verum
end;
Lm14: for a being Int_position
for k2, k1 being Integer st k2 <> 5 holds
JUMP ((a,k1) >=0_goto k2) = {}
proof
let a be Int_position; ::_thesis: for k2, k1 being Integer st k2 <> 5 holds
JUMP ((a,k1) >=0_goto k2) = {}
let k2, k1 be Integer; ::_thesis: ( k2 <> 5 implies JUMP ((a,k1) >=0_goto k2) = {} )
set i = (a,k1) >=0_goto k2;
set X = { (NIC (((a,k1) >=0_goto k2),l)) where l is Element of NAT : verum } ;
assume A1: k2 <> 5 ; ::_thesis: JUMP ((a,k1) >=0_goto k2) = {}
hereby :: according to TARSKI:def_3,XBOOLE_0:def_10 ::_thesis: {} c= JUMP ((a,k1) >=0_goto k2)
set x1 = ((- k2) + (abs k2)) + 4;
let x be set ; ::_thesis: ( x in JUMP ((a,k1) >=0_goto k2) implies b1 in {} )
assume A2: x in JUMP ((a,k1) >=0_goto k2) ; ::_thesis: b1 in {}
A3: ((- k2) + (abs k2)) + 4 > ((- k2) + (abs k2)) + 0 by XREAL_1:6;
then A4: ((- k2) + (abs k2)) + 4 > 0 by ABSVALUE:27;
then reconsider x1 = ((- k2) + (abs k2)) + 4 as Element of NAT by INT_1:3;
set nl1 = (abs k2) + x1;
set nl2 = ((abs k2) + x1) + x1;
set l1 = (abs k2) + x1;
set l2 = ((abs k2) + x1) + x1;
NIC (((a,k1) >=0_goto k2),((abs k2) + x1)) in { (NIC (((a,k1) >=0_goto k2),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) >=0_goto k2),((abs k2) + x1)) by A2, SETFAM_1:def_1;
then consider s1 being Element of product (the_Values_of SCMPDS) such that
A5: x = IC (Exec (((a,k1) >=0_goto k2),s1)) and
A6: IC s1 = (abs k2) + x1 ;
consider m1 being Element of NAT such that
A7: m1 = IC s1 and
A8: ICplusConst (s1,k2) = abs (m1 + k2) by SCMPDS_2:def_18;
NIC (((a,k1) >=0_goto k2),(((abs k2) + x1) + x1)) in { (NIC (((a,k1) >=0_goto k2),l)) where l is Element of NAT : verum } ;
then x in NIC (((a,k1) >=0_goto k2),(((abs k2) + x1) + x1)) by A2, SETFAM_1:def_1;
then consider s2 being Element of product (the_Values_of SCMPDS) such that
A9: x = IC (Exec (((a,k1) >=0_goto k2),s2)) and
A10: IC s2 = ((abs k2) + x1) + x1 ;
consider m2 being Element of NAT such that
A11: m2 = IC s2 and
A12: ICplusConst (s2,k2) = abs (m2 + k2) by SCMPDS_2:def_18;
percases ( ( s1 . (DataLoc ((s1 . a),k1)) >= 0 & s2 . (DataLoc ((s2 . a),k1)) >= 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) < 0 & s2 . (DataLoc ((s2 . a),k1)) < 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) < 0 & s2 . (DataLoc ((s2 . a),k1)) >= 0 ) or ( s1 . (DataLoc ((s1 . a),k1)) >= 0 & s2 . (DataLoc ((s2 . a),k1)) < 0 ) ) ;
supposethat A13: s1 . (DataLoc ((s1 . a),k1)) >= 0 and
A14: s2 . (DataLoc ((s2 . a),k1)) >= 0 ; ::_thesis: b1 in {}
A15: x = abs (m2 + k2) by A9, A12, A14, SCMPDS_2:57;
A16: x = abs (m1 + k2) by A5, A8, A13, SCMPDS_2:57;
thus x in {} ::_thesis: verum
proof
percases ( ((((abs k2) + x1) + 2) - 2) + k2 = (((((abs k2) + x1) + x1) + 2) - 2) + k2 or ((((abs k2) + x1) + 2) - 2) + k2 = - ((((((abs k2) + x1) + x1) + 2) - 2) + k2) ) by A6, A7, A10, A11, A16, A15, ABSVALUE:28;
suppose ((((abs k2) + x1) + 2) - 2) + k2 = (((((abs k2) + x1) + x1) + 2) - 2) + k2 ; ::_thesis: x in {}
hence x in {} by A3, ABSVALUE:27; ::_thesis: verum
end;
suppose ((((abs k2) + x1) + 2) - 2) + k2 = - ((((((abs k2) + x1) + x1) + 2) - 2) + k2) ; ::_thesis: x in {}
hence x in {} by Lm4; ::_thesis: verum
end;
end;
end;
end;
supposethat A17: s1 . (DataLoc ((s1 . a),k1)) < 0 and
A18: s2 . (DataLoc ((s2 . a),k1)) < 0 ; ::_thesis: b1 in {}
A19: x = succ (((abs k2) + x1) + x1) by A9, A10, A18, SCMPDS_2:57;
x = succ ((abs k2) + x1) by A5, A6, A17, SCMPDS_2:57;
hence x in {} by A3, A19, ABSVALUE:27; ::_thesis: verum
end;
supposethat A20: s1 . (DataLoc ((s1 . a),k1)) < 0 and
A21: s2 . (DataLoc ((s2 . a),k1)) >= 0 ; ::_thesis: b1 in {}
reconsider n1 = (abs k2) + x1 as Element of NAT ;
set w1 = n1;
A22: x = abs (m2 + k2) by A9, A12, A21, SCMPDS_2:57;
A23: x = succ n1 by A5, A6, A20, SCMPDS_2:57
.= n1 + 1 ;
thus x in {} ::_thesis: verum
proof
percases ( n1 + 1 = m2 + k2 or n1 + 1 = - (m2 + k2) ) by A23, A22, ABSVALUE:1;
suppose n1 + 1 = m2 + k2 ; ::_thesis: x in {}
then ((abs k2) + x1) + 1 = ((abs k2) + x1) + (x1 + k2) by A10, A11;
hence x in {} by Lm5; ::_thesis: verum
end;
suppose n1 + 1 = - (m2 + k2) ; ::_thesis: x in {}
hence x in {} by A4, A10, A11, Lm6; ::_thesis: verum
end;
end;
end;
end;
supposethat A24: s1 . (DataLoc ((s1 . a),k1)) >= 0 and
A25: s2 . (DataLoc ((s2 . a),k1)) < 0 ; ::_thesis: b1 in {}
reconsider n2 = ((abs k2) + x1) + x1 as Element of NAT ;
A26: x = succ n2 by A9, A10, A25, SCMPDS_2:57
.= n2 + 1 ;
set w2 = n2;
A27: x = abs (m1 + k2) by A5, A8, A24, SCMPDS_2:57;
thus x in {} ::_thesis: verum
proof
percases ( n2 + 1 = m1 + k2 or n2 + 1 = - (m1 + k2) ) by A27, A26, ABSVALUE:1;
suppose n2 + 1 = m1 + k2 ; ::_thesis: x in {}
hence x in {} by A1, A6, A7, Lm7; ::_thesis: verum
end;
suppose n2 + 1 = - (m1 + k2) ; ::_thesis: x in {}
hence x in {} by A4, A6, A7, Lm8; ::_thesis: verum
end;
end;
end;
end;
end;
end;
thus {} c= JUMP ((a,k1) >=0_goto k2) by XBOOLE_1:2; ::_thesis: verum
end;
registration
let a be Int_position;
let k1, k2 be Integer;
cluster JUMP ((a,k1) <>0_goto k2) -> empty ;
coherence
JUMP ((a,k1) <>0_goto k2) is empty
proof
( k2 = 5 or k2 <> 5 ) ;
hence JUMP ((a,k1) <>0_goto k2) is empty by Lm9, Lm10; ::_thesis: verum
end;
cluster JUMP ((a,k1) <=0_goto k2) -> empty ;
coherence
JUMP ((a,k1) <=0_goto k2) is empty
proof
( k2 = 5 or k2 <> 5 ) ;
hence JUMP ((a,k1) <=0_goto k2) is empty by Lm11, Lm12; ::_thesis: verum
end;
cluster JUMP ((a,k1) >=0_goto k2) -> empty ;
coherence
JUMP ((a,k1) >=0_goto k2) is empty
proof
( k2 = 5 or k2 <> 5 ) ;
hence JUMP ((a,k1) >=0_goto k2) is empty by Lm13, Lm14; ::_thesis: verum
end;
end;
theorem Th18: :: SCMPDS_9:18
for l being Element of NAT holds SUCC (l,SCMPDS) = NAT
proof
let l be Element of NAT ; ::_thesis: SUCC (l,SCMPDS) = NAT
thus SUCC (l,SCMPDS) c= NAT ; :: according to XBOOLE_0:def_10 ::_thesis: NAT c= SUCC (l,SCMPDS)
let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in NAT or x in SUCC (l,SCMPDS) )
set X = { ((NIC (i,l)) \ (JUMP i)) where i is Element of the InstructionsF of SCMPDS : verum } ;
assume x in NAT ; ::_thesis: x in SUCC (l,SCMPDS)
then reconsider x = x as Element of NAT ;
reconsider xx = x as Element of NAT ;
set i = goto (xx - l);
NIC ((goto (xx - l)),l) = {(abs ((xx - l) + l))} by Th3
.= {x} by ABSVALUE:def_1 ;
then A1: x in (NIC ((goto (xx - l)),l)) \ (JUMP (goto (xx - l))) by TARSKI:def_1;
(NIC ((goto (xx - l)),l)) \ (JUMP (goto (xx - l))) in { ((NIC (i,l)) \ (JUMP i)) where i is Element of the InstructionsF of SCMPDS : verum } ;
hence x in SUCC (l,SCMPDS) by A1, TARSKI:def_4; ::_thesis: verum
end;
registration
cluster SCMPDS -> non InsLoc-antisymmetric ;
coherence
not SCMPDS is InsLoc-antisymmetric
proof
SUCC (2,SCMPDS) = NAT by Th18;
then A1: 2 <= 1, SCMPDS by AMI_WSTD:33;
SUCC (1,SCMPDS) = NAT by Th18;
then A2: 1 <= 2, SCMPDS by AMI_WSTD:33;
assume SCMPDS is InsLoc-antisymmetric ; ::_thesis: contradiction
hence contradiction by A2, A1, AMI_WSTD:def_2; ::_thesis: verum
end;
end;
registration
cluster SCMPDS -> non weakly_standard ;
coherence
not SCMPDS is weakly_standard by AMI_WSTD:10;
end;