Metamath Proof Explorer


Theorem mrsubco

Description: The composition of two substitutions is a substitution. (Contributed by Mario Carneiro, 18-Jul-2016)

Ref Expression
Hypothesis mrsubco.s S=mRSubstT
Assertion mrsubco FranSGranSFGranS

Proof

Step Hyp Ref Expression
1 mrsubco.s S=mRSubstT
2 eqid mRExT=mRExT
3 1 2 mrsubf FranSF:mRExTmRExT
4 3 adantr FranSGranSF:mRExTmRExT
5 1 2 mrsubf GranSG:mRExTmRExT
6 5 adantl FranSGranSG:mRExTmRExT
7 fco F:mRExTmRExTG:mRExTmRExTFG:mRExTmRExT
8 4 6 7 syl2anc FranSGranSFG:mRExTmRExT
9 6 adantr FranSGranScmCNTmVRTG:mRExTmRExT
10 eldifi cmCNTmVRTcmCNT
11 elun1 cmCNTcmCNTmVRT
12 10 11 syl cmCNTmVRTcmCNTmVRT
13 12 adantl FranSGranScmCNTmVRTcmCNTmVRT
14 13 s1cld FranSGranScmCNTmVRT⟨“c”⟩WordmCNTmVRT
15 n0i FranS¬ranS=
16 1 rnfvprc ¬TVranS=
17 15 16 nsyl2 FranSTV
18 17 adantr FranSGranSTV
19 18 adantr FranSGranScmCNTmVRTTV
20 eqid mCNT=mCNT
21 eqid mVRT=mVRT
22 20 21 2 mrexval TVmRExT=WordmCNTmVRT
23 19 22 syl FranSGranScmCNTmVRTmRExT=WordmCNTmVRT
24 14 23 eleqtrrd FranSGranScmCNTmVRT⟨“c”⟩mRExT
25 fvco3 G:mRExTmRExT⟨“c”⟩mRExTFG⟨“c”⟩=FG⟨“c”⟩
26 9 24 25 syl2anc FranSGranScmCNTmVRTFG⟨“c”⟩=FG⟨“c”⟩
27 1 2 21 20 mrsubcn GranScmCNTmVRTG⟨“c”⟩=⟨“c”⟩
28 27 adantll FranSGranScmCNTmVRTG⟨“c”⟩=⟨“c”⟩
29 28 fveq2d FranSGranScmCNTmVRTFG⟨“c”⟩=F⟨“c”⟩
30 1 2 21 20 mrsubcn FranScmCNTmVRTF⟨“c”⟩=⟨“c”⟩
31 30 adantlr FranSGranScmCNTmVRTF⟨“c”⟩=⟨“c”⟩
32 26 29 31 3eqtrd FranSGranScmCNTmVRTFG⟨“c”⟩=⟨“c”⟩
33 32 ralrimiva FranSGranScmCNTmVRTFG⟨“c”⟩=⟨“c”⟩
34 1 2 mrsubccat GranSxmRExTymRExTGx++y=Gx++Gy
35 34 3expb GranSxmRExTymRExTGx++y=Gx++Gy
36 35 adantll FranSGranSxmRExTymRExTGx++y=Gx++Gy
37 36 fveq2d FranSGranSxmRExTymRExTFGx++y=FGx++Gy
38 simpll FranSGranSxmRExTymRExTFranS
39 6 adantr FranSGranSxmRExTymRExTG:mRExTmRExT
40 simprl FranSGranSxmRExTymRExTxmRExT
41 39 40 ffvelcdmd FranSGranSxmRExTymRExTGxmRExT
42 simprr FranSGranSxmRExTymRExTymRExT
43 39 42 ffvelcdmd FranSGranSxmRExTymRExTGymRExT
44 1 2 mrsubccat FranSGxmRExTGymRExTFGx++Gy=FGx++FGy
45 38 41 43 44 syl3anc FranSGranSxmRExTymRExTFGx++Gy=FGx++FGy
46 37 45 eqtrd FranSGranSxmRExTymRExTFGx++y=FGx++FGy
47 18 22 syl FranSGranSmRExT=WordmCNTmVRT
48 47 adantr FranSGranSxmRExTymRExTmRExT=WordmCNTmVRT
49 40 48 eleqtrd FranSGranSxmRExTymRExTxWordmCNTmVRT
50 42 48 eleqtrd FranSGranSxmRExTymRExTyWordmCNTmVRT
51 ccatcl xWordmCNTmVRTyWordmCNTmVRTx++yWordmCNTmVRT
52 49 50 51 syl2anc FranSGranSxmRExTymRExTx++yWordmCNTmVRT
53 52 48 eleqtrrd FranSGranSxmRExTymRExTx++ymRExT
54 fvco3 G:mRExTmRExTx++ymRExTFGx++y=FGx++y
55 39 53 54 syl2anc FranSGranSxmRExTymRExTFGx++y=FGx++y
56 fvco3 G:mRExTmRExTxmRExTFGx=FGx
57 39 40 56 syl2anc FranSGranSxmRExTymRExTFGx=FGx
58 fvco3 G:mRExTmRExTymRExTFGy=FGy
59 39 42 58 syl2anc FranSGranSxmRExTymRExTFGy=FGy
60 57 59 oveq12d FranSGranSxmRExTymRExTFGx++FGy=FGx++FGy
61 46 55 60 3eqtr4d FranSGranSxmRExTymRExTFGx++y=FGx++FGy
62 61 ralrimivva FranSGranSxmRExTymRExTFGx++y=FGx++FGy
63 1 2 21 20 elmrsubrn TVFGranSFG:mRExTmRExTcmCNTmVRTFG⟨“c”⟩=⟨“c”⟩xmRExTymRExTFGx++y=FGx++FGy
64 18 63 syl FranSGranSFGranSFG:mRExTmRExTcmCNTmVRTFG⟨“c”⟩=⟨“c”⟩xmRExTymRExTFGx++y=FGx++FGy
65 8 33 62 64 mpbir3and FranSGranSFGranS