thus
SCM is homogeneous
SCM is with_explicit_jumps proof
let I,
J be
Instruction of
SCM;
COMPOS_1:def 12 ( not InsCode I = InsCode J or dom (JumpPart I) = dom (JumpPart J) )
assume A1:
InsCode I = InsCode J
;
dom (JumpPart I) = dom (JumpPart J)
A2:
(
J = [0,{},{}] or ex
a,
b being
Data-Location st
J = a := b or ex
a,
b being
Data-Location st
J = AddTo (
a,
b) or ex
a,
b being
Data-Location st
J = SubFrom (
a,
b) or ex
a,
b being
Data-Location st
J = MultBy (
a,
b) or ex
a,
b being
Data-Location st
J = Divide (
a,
b) or ex
k being
natural number st
J = SCM-goto k or ex
a being
Data-Location ex
k being
natural number st
J = a =0_goto k or ex
a being
Data-Location ex
k being
natural number st
J = a >0_goto k )
by AMI_3:24;
per cases
( I = [0,{},{}] or ex a, b being Data-Location st I = a := b or ex a, b being Data-Location st I = AddTo (a,b) or ex a, b being Data-Location st I = SubFrom (a,b) or ex a, b being Data-Location st I = MultBy (a,b) or ex a, b being Data-Location st I = Divide (a,b) or ex k being natural number st I = SCM-goto k or ex a being Data-Location ex k being natural number st I = a =0_goto k or ex a being Data-Location ex k being natural number st I = a >0_goto k )
by AMI_3:24;
suppose
ex
a,
b being
Data-Location st
I = a := b
;
dom (JumpPart I) = dom (JumpPart J)then consider a,
b being
Data-Location such that A3:
I = a := b
;
A4:
InsCode I = 1
by A3, RECDEF_2:def 1;
now per cases
( J = [0,{},{}] or ex a, b being Data-Location st J = a := b or ex a, b being Data-Location st J = AddTo (a,b) or ex a, b being Data-Location st J = SubFrom (a,b) or ex a, b being Data-Location st J = MultBy (a,b) or ex a, b being Data-Location st J = Divide (a,b) or ex k being natural number st J = SCM-goto k or ex a being Data-Location ex k being natural number st J = a =0_goto k or ex a being Data-Location ex k being natural number st J = a >0_goto k )
by AMI_3:24;
end; end; hence
dom (JumpPart I) = dom (JumpPart J)
;
verum end; suppose
ex
a,
b being
Data-Location st
I = AddTo (
a,
b)
;
dom (JumpPart I) = dom (JumpPart J)then consider a,
b being
Data-Location such that A6:
I = AddTo (
a,
b)
;
A7:
InsCode I = 2
by A6, RECDEF_2:def 1;
now per cases
( J = [0,{},{}] or ex a, b being Data-Location st J = AddTo (a,b) or ex a, b being Data-Location st J = a := b or ex a, b being Data-Location st J = SubFrom (a,b) or ex a, b being Data-Location st J = MultBy (a,b) or ex a, b being Data-Location st J = Divide (a,b) or ex k being natural number st J = SCM-goto k or ex a being Data-Location ex k being natural number st J = a =0_goto k or ex a being Data-Location ex k being natural number st J = a >0_goto k )
by AMI_3:24;
end; end; hence
dom (JumpPart I) = dom (JumpPart J)
;
verum end; suppose
ex
a,
b being
Data-Location st
I = SubFrom (
a,
b)
;
dom (JumpPart I) = dom (JumpPart J)then consider a,
b being
Data-Location such that A9:
I = SubFrom (
a,
b)
;
A10:
InsCode I = 3
by A9, RECDEF_2:def 1;
now per cases
( J = [0,{},{}] or ex a, b being Data-Location st J = SubFrom (a,b) or ex a, b being Data-Location st J = a := b or ex a, b being Data-Location st J = AddTo (a,b) or ex a, b being Data-Location st J = MultBy (a,b) or ex a, b being Data-Location st J = Divide (a,b) or ex k being natural number st J = SCM-goto k or ex a being Data-Location ex k being natural number st J = a =0_goto k or ex a being Data-Location ex k being natural number st J = a >0_goto k )
by AMI_3:24;
end; end; hence
dom (JumpPart I) = dom (JumpPart J)
;
verum end; suppose
ex
a,
b being
Data-Location st
I = MultBy (
a,
b)
;
dom (JumpPart I) = dom (JumpPart J)then consider a,
b being
Data-Location such that A12:
I = MultBy (
a,
b)
;
A13:
InsCode I = 4
by A12, RECDEF_2:def 1;
now per cases
( J = [0,{},{}] or ex a, b being Data-Location st J = MultBy (a,b) or ex a, b being Data-Location st J = a := b or ex a, b being Data-Location st J = AddTo (a,b) or ex a, b being Data-Location st J = SubFrom (a,b) or ex a, b being Data-Location st J = Divide (a,b) or ex k being natural number st J = SCM-goto k or ex a being Data-Location ex k being natural number st J = a =0_goto k or ex a being Data-Location ex k being natural number st J = a >0_goto k )
by AMI_3:24;
end; end; hence
dom (JumpPart I) = dom (JumpPart J)
;
verum end; suppose
ex
a,
b being
Data-Location st
I = Divide (
a,
b)
;
dom (JumpPart I) = dom (JumpPart J)then consider a,
b being
Data-Location such that A15:
I = Divide (
a,
b)
;
A16:
InsCode I = 5
by A15, RECDEF_2:def 1;
now per cases
( J = [0,{},{}] or ex a, b being Data-Location st J = Divide (a,b) or ex a, b being Data-Location st J = a := b or ex a, b being Data-Location st J = AddTo (a,b) or ex a, b being Data-Location st J = SubFrom (a,b) or ex a, b being Data-Location st J = MultBy (a,b) or ex k being natural number st J = SCM-goto k or ex a being Data-Location ex k being natural number st J = a =0_goto k or ex a being Data-Location ex k being natural number st J = a >0_goto k )
by AMI_3:24;
end; end; hence
dom (JumpPart I) = dom (JumpPart J)
;
verum end; suppose
ex
k being
natural number st
I = SCM-goto k
;
dom (JumpPart I) = dom (JumpPart J)then consider k being
natural number such that A18:
I = SCM-goto k
;
A19:
InsCode I = 6
by A18, RECDEF_2:def 1;
now per cases
( J = [0,{},{}] or ex k being natural number st J = SCM-goto k or ex a, b being Data-Location st J = a := b or ex a, b being Data-Location st J = AddTo (a,b) or ex a, b being Data-Location st J = SubFrom (a,b) or ex a, b being Data-Location st J = MultBy (a,b) or ex a, b being Data-Location st J = Divide (a,b) or ex a being Data-Location ex k being natural number st J = a =0_goto k or ex a being Data-Location ex k being natural number st J = a >0_goto k )
by AMI_3:24;
end; end; hence
dom (JumpPart I) = dom (JumpPart J)
;
verum end; suppose
ex
a being
Data-Location ex
k being
natural number st
I = a =0_goto k
;
dom (JumpPart I) = dom (JumpPart J)then consider a being
Data-Location ,
k being
natural number such that A21:
I = a =0_goto k
;
A22:
InsCode I = 7
by A21, RECDEF_2:def 1;
now per cases
( J = [0,{},{}] or ex d1 being Data-Location ex k being natural number st J = d1 =0_goto k or ex a, b being Data-Location st J = a := b or ex a, b being Data-Location st J = AddTo (a,b) or ex a, b being Data-Location st J = SubFrom (a,b) or ex a, b being Data-Location st J = MultBy (a,b) or ex a, b being Data-Location st J = Divide (a,b) or ex k being natural number st J = SCM-goto k or ex a being Data-Location ex k being natural number st J = a >0_goto k )
by AMI_3:24;
end; end; hence
dom (JumpPart I) = dom (JumpPart J)
;
verum end; suppose
ex
a being
Data-Location ex
k being
natural number st
I = a >0_goto k
;
dom (JumpPart I) = dom (JumpPart J)then consider a being
Data-Location ,
k being
natural number such that A24:
I = a >0_goto k
;
A25:
InsCode I = 8
by A24, RECDEF_2:def 1;
now per cases
( J = [0,{},{}] or ex d1 being Data-Location ex k being natural number st J = d1 >0_goto k or ex a, b being Data-Location st J = a := b or ex a, b being Data-Location st J = AddTo (a,b) or ex a, b being Data-Location st J = SubFrom (a,b) or ex a, b being Data-Location st J = MultBy (a,b) or ex a, b being Data-Location st J = Divide (a,b) or ex k being natural number st J = SCM-goto k or ex a being Data-Location ex k being natural number st J = a =0_goto k )
by AMI_3:24;
end; end; hence
dom (JumpPart I) = dom (JumpPart J)
;
verum end; end;
end;
thus
SCM is with_explicit_jumps
verumproof
let I be
Instruction of
SCM;
AMISTD_2:def 2 I is with_explicit_jumps
thus
JUMP I c= rng (JumpPart I)
AMISTD_2:def 1,
XBOOLE_0:def 10 proj2 (JumpPart I) c= JUMP Iproof
let f be
set ;
TARSKI:def 3 ( not f in JUMP I or f in rng (JumpPart I) )
assume A27:
f in JUMP I
;
f in rng (JumpPart I)
per cases
( I = [0,{},{}] or ex a, b being Data-Location st I = a := b or ex a, b being Data-Location st I = AddTo (a,b) or ex a, b being Data-Location st I = SubFrom (a,b) or ex a, b being Data-Location st I = MultBy (a,b) or ex a, b being Data-Location st I = Divide (a,b) or ex k being natural number st I = SCM-goto k or ex a being Data-Location ex k1 being natural number st I = a =0_goto k1 or ex a being Data-Location ex k1 being natural number st I = a >0_goto k1 )
by AMI_3:24;
end;
end;
let f be
set ;
TARSKI:def 3 ( not f in proj2 (JumpPart I) or f in JUMP I )
assume
f in rng (JumpPart I)
;
f in JUMP I
then consider k being
set such that A40:
k in dom (JumpPart I)
and A41:
f = (JumpPart I) . k
by FUNCT_1:def 3;
per cases
( I = [0,{},{}] or ex a, b being Data-Location st I = a := b or ex a, b being Data-Location st I = AddTo (a,b) or ex a, b being Data-Location st I = SubFrom (a,b) or ex a, b being Data-Location st I = MultBy (a,b) or ex a, b being Data-Location st I = Divide (a,b) or ex k being natural number st I = SCM-goto k or ex a being Data-Location ex k being natural number st I = a =0_goto k or ex a being Data-Location ex k1 being natural number st I = a >0_goto k1 )
by AMI_3:24;
end;
end;