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

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 or InsCode I = 9 or InsCode I = 10 or InsCode I = 11 or InsCode I = 12 ) by Lm4;
suppose InsCode I = 0 ; :: thesis: for b1 being set holds
( not b1 in dom (I `2_3) or (product" (JumpParts (InsCode I))) . b1 = K37() )

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

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

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

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

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

end;
suppose A127: InsCode I = 6 ; :: thesis: for b1 being set holds
( not b1 in dom (I `2_3) or (product" (JumpParts (InsCode I))) . b1 = K37() )

then consider i2 being Element of NAT such that
W: I = goto i2 by SCMFSA_2:59;
let k be set ; :: thesis: ( not k in dom (I `2_3) or (product" (JumpParts (InsCode I))) . k = K37() )
assume Z: k in dom (JumpPart I) ; :: thesis: (product" (JumpParts (InsCode I))) . k = K37()
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+FSA 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 A127, Th36;
then k = 1 by TARSKI:def 1;
hence (product" (JumpParts (InsCode I))) . k = NAT by W, Th53; :: thesis: verum
end;
suppose A141: InsCode I = 7 ; :: thesis: for b1 being set holds
( not b1 in dom (I `2_3) or (product" (JumpParts (InsCode I))) . b1 = K37() )

then consider i1 being Element of NAT , a being Int-Location such that
W: I = a =0_goto i1 by SCMFSA_2:60;
let k be set ; :: thesis: ( not k in dom (I `2_3) or (product" (JumpParts (InsCode I))) . k = K37() )
assume Z: k in dom (JumpPart I) ; :: thesis: (product" (JumpParts (InsCode I))) . k = K37()
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+FSA 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 A141, Th37;
then k = 1 by TARSKI:def 1;
hence (product" (JumpParts (InsCode I))) . k = NAT by W, Th54; :: thesis: verum
end;
suppose A166: InsCode I = 8 ; :: thesis: for b1 being set holds
( not b1 in dom (I `2_3) or (product" (JumpParts (InsCode I))) . b1 = K37() )

then consider i1 being Element of NAT , a being Int-Location such that
W: I = a >0_goto i1 by SCMFSA_2:61;
let k be set ; :: thesis: ( not k in dom (I `2_3) or (product" (JumpParts (InsCode I))) . k = K37() )
assume Z: k in dom (JumpPart I) ; :: thesis: (product" (JumpParts (InsCode I))) . k = K37()
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+FSA 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 A166, Th38;
then k = 1 by TARSKI:def 1;
hence (product" (JumpParts (InsCode I))) . k = NAT by W, Th56; :: thesis: verum
end;
suppose InsCode I = 9 ; :: thesis: for b1 being set holds
( not b1 in dom (I `2_3) or (product" (JumpParts (InsCode I))) . b1 = K37() )

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

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

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

end;
end;
end;
let T be InsType of SCM+FSA; :: 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+FSA or [T,b2,b3] in the Instructions of SCM+FSA )

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+FSA or [T,f2,b1] in the Instructions of SCM+FSA )

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+FSA or [T,f2,p] in the Instructions of SCM+FSA )
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+FSA ; :: thesis: [T,f2,p] in the Instructions of SCM+FSA
per cases ( T = 0 or T = 1 or T = 2 or T = 3 or T = 4 or T = 5 or T = 9 or T = 10 or T = 11 or T = 12 or T = 6 or T = 7 or T = 8 ) by Lm4;
suppose ( T = 0 or T = 1 or T = 2 or T = 3 or T = 4 or T = 5 or T = 9 or T = 10 or T = 11 or T = 12 ) ; :: thesis: [T,f2,p] in the Instructions of SCM+FSA
end;
suppose S: T = 6 ; :: thesis: [T,f2,p] in the Instructions of SCM+FSA
reconsider J = [T,f1,p] as Instruction of SCM+FSA by Z3;
SS: InsCode J = 6 by S, RECDEF_2:def 1;
then consider i1 being Element of NAT such that
B7: J = goto i1 by SCMFSA_2:59;
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, Th36;
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, Th53;
set I = [T,f2,{}];
[T,f2,{}] = goto l by S, XX, FINSEQ_1:4, FINSEQ_1:def 8;
then reconsider I = [T,f2,{}] as Instruction of SCM+FSA ;
f2 = JumpPart I by RECDEF_2:def 2;
hence [T,f2,p] in the Instructions of SCM+FSA by P; :: thesis: verum
end;
suppose S: T = 7 ; :: thesis: [T,f2,p] in the Instructions of SCM+FSA
reconsider J = [T,f1,p] as Instruction of SCM+FSA by Z3;
SS: InsCode J = T by RECDEF_2:def 1;
then consider i1 being Element of NAT , a being Int-Location such that
B7: J = a =0_goto i1 by S, SCMFSA_2:60;
consider A being Data-Location such that
WW: ( a = A & a =0_goto i1 = A =0_goto i1 ) by SCMFSA_2:def 17;
P: p = <*a*> by B7, WW, MCART_1:28;
U1: dom f2 = dom (product" (JumpParts T)) by Z2, CARD_3:18;
XX: dom f2 = {1} by S, U1, Th37;
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, Th54;
set I = [T,f2,p];
f2 = <*l*> by XX, FINSEQ_1:4, FINSEQ_1:def 8;
then [T,f2,p] = a =0_goto l by S, P, Th15;
then reconsider I = [T,f2,p] as Instruction of SCM+FSA ;
A6: InsCode I = T by RECDEF_2:def 1;
consider i2 being Element of NAT , b being Int-Location such that
A7: I = b =0_goto i2 by S, A6, SCMFSA_2:60;
thus [T,f2,p] in the Instructions of SCM+FSA by A7; :: thesis: verum
end;
suppose S: T = 8 ; :: thesis: [T,f2,p] in the Instructions of SCM+FSA
reconsider J = [T,f1,p] as Instruction of SCM+FSA by Z3;
SS: InsCode J = T by RECDEF_2:def 1;
then consider i1 being Element of NAT , a being Int-Location such that
B7: J = a >0_goto i1 by S, SCMFSA_2:61;
consider A being Data-Location such that
WW: ( a = A & a >0_goto i1 = A >0_goto i1 ) by SCMFSA_2:def 18;
P: p = <*a*> by B7, WW, MCART_1:28;
U1: dom f2 = dom (product" (JumpParts T)) by Z2, CARD_3:18;
XX: dom f2 = {1} by S, U1, Th38;
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, Th56;
set I = [T,f2,p];
f2 = <*l*> by XX, FINSEQ_1:4, FINSEQ_1:def 8;
then [T,f2,p] = a >0_goto l by S, P, Th16;
then reconsider I = [T,f2,p] as Instruction of SCM+FSA ;
A6: InsCode I = T by RECDEF_2:def 1;
consider i2 being Element of NAT , b being Int-Location such that
A7: I = b >0_goto i2 by S, A6, SCMFSA_2:61;
thus [T,f2,p] in the Instructions of SCM+FSA by A7; :: thesis: verum
end;
end;