thus SCM is regular :: thesis: SCM is J/A-independent
proof
let I be Instruction of SCM; :: according to COMPOS_1:def 35 :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

set T = InsCode I;
X: JumpPart I in JumpParts (InsCode I) ;
per cases ( InsCode I = 0 or InsCode I = 1 or InsCode I = 2 or InsCode I = 3 or InsCode I = 4 or InsCode I = 5 or InsCode I = 6 or InsCode I = 7 or InsCode I = 8 ) by Lm3;
suppose InsCode I = 0 ; :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

then I = halt SCM by AMI_5:46;
hence for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT ) ; :: thesis: verum
end;
suppose InsCode I = 1 ; :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

end;
suppose InsCode I = 2 ; :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

end;
suppose InsCode I = 3 ; :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

end;
suppose InsCode I = 4 ; :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

end;
suppose InsCode I = 5 ; :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

end;
suppose A122: InsCode I = 6 ; :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

then consider i2 being Element of NAT such that
W: I = SCM-goto i2 by AMI_5:52;
let k be set ; :: thesis: ( not k in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . k = NAT )
assume Z: k in dom (JumpPart I) ; :: thesis: (product" (JumpParts (InsCode I))) . k = NAT
for f being Function st f in JumpParts (InsCode I) holds
k in dom f
proof
let f be Function; :: thesis: ( f in JumpParts (InsCode I) implies k in dom f )
assume f in JumpParts (InsCode I) ; :: thesis: k in dom f
then consider J being Instruction of SCM such that
W1: f = JumpPart J and
W2: InsCode J = InsCode I ;
thus k in dom f by Z, W1, W2, COMPOS_1:def 33; :: thesis: verum
end;
then k in dom (product" (JumpParts (InsCode I))) by CARD_3:def 13;
then k in {1} by A122, Th22;
then k = 1 by TARSKI:def 1;
hence (product" (JumpParts (InsCode I))) . k = NAT by W, Th35; :: thesis: verum
end;
suppose A135: InsCode I = 7 ; :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

then consider i1 being Element of NAT , a being Data-Location such that
W: I = a =0_goto i1 by AMI_5:53;
let k be set ; :: thesis: ( not k in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . k = NAT )
assume Z: k in dom (JumpPart I) ; :: thesis: (product" (JumpParts (InsCode I))) . k = NAT
for f being Function st f in JumpParts (InsCode I) holds
k in dom f
proof
let f be Function; :: thesis: ( f in JumpParts (InsCode I) implies k in dom f )
assume f in JumpParts (InsCode I) ; :: thesis: k in dom f
then consider J being Instruction of SCM such that
W1: f = JumpPart J and
W2: InsCode J = InsCode I ;
thus k in dom f by Z, W1, W2, COMPOS_1:def 33; :: thesis: verum
end;
then k in dom (product" (JumpParts (InsCode I))) by CARD_3:def 13;
then k in {1} by A135, Th23;
then k = 1 by TARSKI:def 1;
hence (product" (JumpParts (InsCode I))) . k = NAT by W, Th36; :: thesis: verum
end;
suppose A159: InsCode I = 8 ; :: thesis: for b1 being set holds
( not b1 in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . b1 = NAT )

then consider i1 being Element of NAT , a being Data-Location such that
W: I = a >0_goto i1 by AMI_5:54;
let k be set ; :: thesis: ( not k in dom (JumpPart I) or (product" (JumpParts (InsCode I))) . k = NAT )
assume Z: k in dom (JumpPart I) ; :: thesis: (product" (JumpParts (InsCode I))) . k = NAT
for f being Function st f in JumpParts (InsCode I) holds
k in dom f
proof
let f be Function; :: thesis: ( f in JumpParts (InsCode I) implies k in dom f )
assume f in JumpParts (InsCode I) ; :: thesis: k in dom f
then consider J being Instruction of SCM such that
W1: f = JumpPart J and
W2: InsCode J = InsCode I ;
thus k in dom f by Z, W1, W2, COMPOS_1:def 33; :: thesis: verum
end;
then k in dom (product" (JumpParts (InsCode I))) by CARD_3:def 13;
then k in {1} by A159, Th24;
then k = 1 by TARSKI:def 1;
hence (product" (JumpParts (InsCode I))) . k = NAT by W, Th38; :: thesis: verum
end;
end;
end;
let T be InsType of SCM; :: according to COMPOS_1:def 36 :: thesis: for b1, b2 being set
for b3 being set holds
( not b1 in JumpParts T or not b2 in product (product" (JumpParts T)) or not [T,b1,b3] in the Instructions of SCM or [T,b2,b3] in the Instructions of SCM )

let f1, f2 be Function; :: thesis: for b1 being set holds
( not f1 in JumpParts T or not f2 in product (product" (JumpParts T)) or not [T,f1,b1] in the Instructions of SCM or [T,f2,b1] in the Instructions of SCM )

let p be set ; :: thesis: ( not f1 in JumpParts T or not f2 in product (product" (JumpParts T)) or not [T,f1,p] in the Instructions of SCM or [T,f2,p] in the Instructions of SCM )
assume that
Z1: f1 in JumpParts T and
Z2: f2 in product (product" (JumpParts T)) and
Z3: [T,f1,p] in the Instructions of SCM ; :: thesis: [T,f2,p] in the Instructions of SCM
per cases ( T = 0 or T = 1 or T = 2 or T = 3 or T = 4 or T = 5 or T = 6 or T = 7 or T = 8 ) by Lm3;
suppose ( T = 0 or T = 1 or T = 2 or T = 3 or T = 4 or T = 5 ) ; :: thesis: [T,f2,p] in the Instructions of SCM
end;
suppose S: T = 6 ; :: thesis: [T,f2,p] in the Instructions of SCM
reconsider J = [T,f1,p] as Instruction of SCM by Z3;
SS: InsCode J = 6 by S, RECDEF_2:def 1;
then consider i1 being Element of NAT such that
B7: J = SCM-goto i1 by AMI_5:52;
P: p = {} by B7, MCART_1:28;
U1: dom f2 = dom (product" (JumpParts T)) by Z2, CARD_3:18;
XX: dom f2 = {1} by S, U1, Th22;
then 1 in dom f2 by TARSKI:def 1;
then f2 . 1 in (product" (JumpParts T)) . 1 by U1, Z2, CARD_3:18;
then reconsider l = f2 . 1 as Element of NAT by B7, S, SS, Th35;
set I = [T,f2,{}];
[T,f2,{}] = SCM-goto l by S, XX, FINSEQ_1:4, FINSEQ_1:def 8;
then reconsider I = [T,f2,{}] as Instruction of SCM ;
f2 = JumpPart I by RECDEF_2:def 2;
hence [T,f2,p] in the Instructions of SCM by P; :: thesis: verum
end;
suppose S: T = 7 ; :: thesis: [T,f2,p] in the Instructions of SCM
reconsider J = [T,f1,p] as Instruction of SCM by Z3;
SS: InsCode J = T by RECDEF_2:def 1;
then consider i1 being Element of NAT , a being Data-Location such that
B7: J = a =0_goto i1 by S, AMI_5:53;
P: p = <*a*> by B7, MCART_1:28;
U1: dom f2 = dom (product" (JumpParts T)) by Z2, CARD_3:18;
XX: dom f2 = {1} by S, U1, Th23;
then 1 in dom f2 by TARSKI:def 1;
then f2 . 1 in (product" (JumpParts T)) . 1 by U1, Z2, CARD_3:18;
then reconsider l = f2 . 1 as Element of NAT by B7, SS, Th36;
set I = [T,f2,p];
[T,f2,p] = a =0_goto l by P, S, XX, FINSEQ_1:4, FINSEQ_1:def 8;
then reconsider I = [T,f2,p] as Instruction of SCM ;
A6: InsCode I = T by RECDEF_2:def 1;
consider i2 being Element of NAT , b being Data-Location such that
A7: I = b =0_goto i2 by S, A6, AMI_5:53;
thus [T,f2,p] in the Instructions of SCM by A7; :: thesis: verum
end;
suppose S: T = 8 ; :: thesis: [T,f2,p] in the Instructions of SCM
reconsider J = [T,f1,p] as Instruction of SCM by Z3;
SS: InsCode J = T by RECDEF_2:def 1;
then consider i1 being Element of NAT , a being Data-Location such that
B7: J = a >0_goto i1 by S, AMI_5:54;
P: p = <*a*> by B7, MCART_1:28;
U1: dom f2 = dom (product" (JumpParts T)) by Z2, CARD_3:18;
XX: dom f2 = {1} by S, U1, Th24;
then 1 in dom f2 by TARSKI:def 1;
then f2 . 1 in (product" (JumpParts T)) . 1 by U1, Z2, CARD_3:18;
then reconsider l = f2 . 1 as Element of NAT by B7, SS, Th38;
set I = [T,f2,p];
[T,f2,p] = a >0_goto l by P, S, XX, FINSEQ_1:4, FINSEQ_1:def 8;
then reconsider I = [T,f2,p] as Instruction of SCM ;
A6: InsCode I = T by RECDEF_2:def 1;
consider i2 being Element of NAT , b being Data-Location such that
A7: I = b >0_goto i2 by S, A6, AMI_5:54;
thus [T,f2,p] in the Instructions of SCM by A7; :: thesis: verum
end;
end;