thus
SCM is homogeneous
( SCM is with_explicit_jumps & SCM is without_implicit_jumps )proof
let I,
J be
Instruction of
SCM ;
AMISTD_2:def 4 ( 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:69;
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:69;
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:69;
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:69;
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:69;
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:69;
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:69;
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:69;
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:69;
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:69;
end; end; hence
dom (JumpPart I) = dom (JumpPart J)
;
verum end; end;
end;
thus
SCM is with_explicit_jumps
SCM is without_implicit_jumps proof
let I be
Instruction of
SCM ;
AMISTD_2:def 8 I is with_explicit_jumps let f be
set ;
TARSKI:def 3,
AMISTD_2:def 6 ( not f in JUMP I or f in proj2 (JumpPart I) )
assume A27:
f in JUMP I
;
f in proj2 (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:69;
end;
end;
let I be Instruction of SCM ; AMISTD_2:def 9 I is without_implicit_jumps
let f be set ; TARSKI:def 3,AMISTD_2:def 7 ( 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
A37:
k in dom (JumpPart I)
and
B37:
f = (JumpPart I) . k
by FUNCT_1:def 5;
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:69;
end;