Users' Mathboxes Mathbox for Mario Carneiro < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  mrsubco Structured version   Visualization version   GIF version

Theorem mrsubco 32768
Description: The composition of two substitutions is a substitution. (Contributed by Mario Carneiro, 18-Jul-2016.)
Hypothesis
Ref Expression
mrsubco.s 𝑆 = (mRSubst‘𝑇)
Assertion
Ref Expression
mrsubco ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → (𝐹𝐺) ∈ ran 𝑆)

Proof of Theorem mrsubco
Dummy variables 𝑐 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 mrsubco.s . . . . 5 𝑆 = (mRSubst‘𝑇)
2 eqid 2821 . . . . 5 (mREx‘𝑇) = (mREx‘𝑇)
31, 2mrsubf 32764 . . . 4 (𝐹 ∈ ran 𝑆𝐹:(mREx‘𝑇)⟶(mREx‘𝑇))
43adantr 483 . . 3 ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → 𝐹:(mREx‘𝑇)⟶(mREx‘𝑇))
51, 2mrsubf 32764 . . . 4 (𝐺 ∈ ran 𝑆𝐺:(mREx‘𝑇)⟶(mREx‘𝑇))
65adantl 484 . . 3 ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → 𝐺:(mREx‘𝑇)⟶(mREx‘𝑇))
7 fco 6531 . . 3 ((𝐹:(mREx‘𝑇)⟶(mREx‘𝑇) ∧ 𝐺:(mREx‘𝑇)⟶(mREx‘𝑇)) → (𝐹𝐺):(mREx‘𝑇)⟶(mREx‘𝑇))
84, 6, 7syl2anc 586 . 2 ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → (𝐹𝐺):(mREx‘𝑇)⟶(mREx‘𝑇))
96adantr 483 . . . . 5 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → 𝐺:(mREx‘𝑇)⟶(mREx‘𝑇))
10 eldifi 4103 . . . . . . . . 9 (𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇)) → 𝑐 ∈ (mCN‘𝑇))
11 elun1 4152 . . . . . . . . 9 (𝑐 ∈ (mCN‘𝑇) → 𝑐 ∈ ((mCN‘𝑇) ∪ (mVR‘𝑇)))
1210, 11syl 17 . . . . . . . 8 (𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇)) → 𝑐 ∈ ((mCN‘𝑇) ∪ (mVR‘𝑇)))
1312adantl 484 . . . . . . 7 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → 𝑐 ∈ ((mCN‘𝑇) ∪ (mVR‘𝑇)))
1413s1cld 13957 . . . . . 6 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → ⟨“𝑐”⟩ ∈ Word ((mCN‘𝑇) ∪ (mVR‘𝑇)))
15 n0i 4299 . . . . . . . . . 10 (𝐹 ∈ ran 𝑆 → ¬ ran 𝑆 = ∅)
161rnfvprc 6664 . . . . . . . . . 10 𝑇 ∈ V → ran 𝑆 = ∅)
1715, 16nsyl2 143 . . . . . . . . 9 (𝐹 ∈ ran 𝑆𝑇 ∈ V)
1817adantr 483 . . . . . . . 8 ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → 𝑇 ∈ V)
1918adantr 483 . . . . . . 7 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → 𝑇 ∈ V)
20 eqid 2821 . . . . . . . 8 (mCN‘𝑇) = (mCN‘𝑇)
21 eqid 2821 . . . . . . . 8 (mVR‘𝑇) = (mVR‘𝑇)
2220, 21, 2mrexval 32748 . . . . . . 7 (𝑇 ∈ V → (mREx‘𝑇) = Word ((mCN‘𝑇) ∪ (mVR‘𝑇)))
2319, 22syl 17 . . . . . 6 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → (mREx‘𝑇) = Word ((mCN‘𝑇) ∪ (mVR‘𝑇)))
2414, 23eleqtrrd 2916 . . . . 5 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → ⟨“𝑐”⟩ ∈ (mREx‘𝑇))
25 fvco3 6760 . . . . 5 ((𝐺:(mREx‘𝑇)⟶(mREx‘𝑇) ∧ ⟨“𝑐”⟩ ∈ (mREx‘𝑇)) → ((𝐹𝐺)‘⟨“𝑐”⟩) = (𝐹‘(𝐺‘⟨“𝑐”⟩)))
269, 24, 25syl2anc 586 . . . 4 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → ((𝐹𝐺)‘⟨“𝑐”⟩) = (𝐹‘(𝐺‘⟨“𝑐”⟩)))
271, 2, 21, 20mrsubcn 32766 . . . . . 6 ((𝐺 ∈ ran 𝑆𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → (𝐺‘⟨“𝑐”⟩) = ⟨“𝑐”⟩)
2827adantll 712 . . . . 5 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → (𝐺‘⟨“𝑐”⟩) = ⟨“𝑐”⟩)
2928fveq2d 6674 . . . 4 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → (𝐹‘(𝐺‘⟨“𝑐”⟩)) = (𝐹‘⟨“𝑐”⟩))
301, 2, 21, 20mrsubcn 32766 . . . . 5 ((𝐹 ∈ ran 𝑆𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → (𝐹‘⟨“𝑐”⟩) = ⟨“𝑐”⟩)
3130adantlr 713 . . . 4 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → (𝐹‘⟨“𝑐”⟩) = ⟨“𝑐”⟩)
3226, 29, 313eqtrd 2860 . . 3 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ 𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))) → ((𝐹𝐺)‘⟨“𝑐”⟩) = ⟨“𝑐”⟩)
3332ralrimiva 3182 . 2 ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → ∀𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))((𝐹𝐺)‘⟨“𝑐”⟩) = ⟨“𝑐”⟩)
341, 2mrsubccat 32765 . . . . . . . 8 ((𝐺 ∈ ran 𝑆𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇)) → (𝐺‘(𝑥 ++ 𝑦)) = ((𝐺𝑥) ++ (𝐺𝑦)))
35343expb 1116 . . . . . . 7 ((𝐺 ∈ ran 𝑆 ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (𝐺‘(𝑥 ++ 𝑦)) = ((𝐺𝑥) ++ (𝐺𝑦)))
3635adantll 712 . . . . . 6 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (𝐺‘(𝑥 ++ 𝑦)) = ((𝐺𝑥) ++ (𝐺𝑦)))
3736fveq2d 6674 . . . . 5 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (𝐹‘(𝐺‘(𝑥 ++ 𝑦))) = (𝐹‘((𝐺𝑥) ++ (𝐺𝑦))))
38 simpll 765 . . . . . 6 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → 𝐹 ∈ ran 𝑆)
396adantr 483 . . . . . . 7 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → 𝐺:(mREx‘𝑇)⟶(mREx‘𝑇))
40 simprl 769 . . . . . . 7 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → 𝑥 ∈ (mREx‘𝑇))
4139, 40ffvelrnd 6852 . . . . . 6 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (𝐺𝑥) ∈ (mREx‘𝑇))
42 simprr 771 . . . . . . 7 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → 𝑦 ∈ (mREx‘𝑇))
4339, 42ffvelrnd 6852 . . . . . 6 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (𝐺𝑦) ∈ (mREx‘𝑇))
441, 2mrsubccat 32765 . . . . . 6 ((𝐹 ∈ ran 𝑆 ∧ (𝐺𝑥) ∈ (mREx‘𝑇) ∧ (𝐺𝑦) ∈ (mREx‘𝑇)) → (𝐹‘((𝐺𝑥) ++ (𝐺𝑦))) = ((𝐹‘(𝐺𝑥)) ++ (𝐹‘(𝐺𝑦))))
4538, 41, 43, 44syl3anc 1367 . . . . 5 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (𝐹‘((𝐺𝑥) ++ (𝐺𝑦))) = ((𝐹‘(𝐺𝑥)) ++ (𝐹‘(𝐺𝑦))))
4637, 45eqtrd 2856 . . . 4 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (𝐹‘(𝐺‘(𝑥 ++ 𝑦))) = ((𝐹‘(𝐺𝑥)) ++ (𝐹‘(𝐺𝑦))))
4718, 22syl 17 . . . . . . . . 9 ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → (mREx‘𝑇) = Word ((mCN‘𝑇) ∪ (mVR‘𝑇)))
4847adantr 483 . . . . . . . 8 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (mREx‘𝑇) = Word ((mCN‘𝑇) ∪ (mVR‘𝑇)))
4940, 48eleqtrd 2915 . . . . . . 7 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → 𝑥 ∈ Word ((mCN‘𝑇) ∪ (mVR‘𝑇)))
5042, 48eleqtrd 2915 . . . . . . 7 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → 𝑦 ∈ Word ((mCN‘𝑇) ∪ (mVR‘𝑇)))
51 ccatcl 13926 . . . . . . 7 ((𝑥 ∈ Word ((mCN‘𝑇) ∪ (mVR‘𝑇)) ∧ 𝑦 ∈ Word ((mCN‘𝑇) ∪ (mVR‘𝑇))) → (𝑥 ++ 𝑦) ∈ Word ((mCN‘𝑇) ∪ (mVR‘𝑇)))
5249, 50, 51syl2anc 586 . . . . . 6 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (𝑥 ++ 𝑦) ∈ Word ((mCN‘𝑇) ∪ (mVR‘𝑇)))
5352, 48eleqtrrd 2916 . . . . 5 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (𝑥 ++ 𝑦) ∈ (mREx‘𝑇))
54 fvco3 6760 . . . . 5 ((𝐺:(mREx‘𝑇)⟶(mREx‘𝑇) ∧ (𝑥 ++ 𝑦) ∈ (mREx‘𝑇)) → ((𝐹𝐺)‘(𝑥 ++ 𝑦)) = (𝐹‘(𝐺‘(𝑥 ++ 𝑦))))
5539, 53, 54syl2anc 586 . . . 4 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → ((𝐹𝐺)‘(𝑥 ++ 𝑦)) = (𝐹‘(𝐺‘(𝑥 ++ 𝑦))))
56 fvco3 6760 . . . . . 6 ((𝐺:(mREx‘𝑇)⟶(mREx‘𝑇) ∧ 𝑥 ∈ (mREx‘𝑇)) → ((𝐹𝐺)‘𝑥) = (𝐹‘(𝐺𝑥)))
5739, 40, 56syl2anc 586 . . . . 5 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → ((𝐹𝐺)‘𝑥) = (𝐹‘(𝐺𝑥)))
58 fvco3 6760 . . . . . 6 ((𝐺:(mREx‘𝑇)⟶(mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇)) → ((𝐹𝐺)‘𝑦) = (𝐹‘(𝐺𝑦)))
5939, 42, 58syl2anc 586 . . . . 5 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → ((𝐹𝐺)‘𝑦) = (𝐹‘(𝐺𝑦)))
6057, 59oveq12d 7174 . . . 4 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → (((𝐹𝐺)‘𝑥) ++ ((𝐹𝐺)‘𝑦)) = ((𝐹‘(𝐺𝑥)) ++ (𝐹‘(𝐺𝑦))))
6146, 55, 603eqtr4d 2866 . . 3 (((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) ∧ (𝑥 ∈ (mREx‘𝑇) ∧ 𝑦 ∈ (mREx‘𝑇))) → ((𝐹𝐺)‘(𝑥 ++ 𝑦)) = (((𝐹𝐺)‘𝑥) ++ ((𝐹𝐺)‘𝑦)))
6261ralrimivva 3191 . 2 ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → ∀𝑥 ∈ (mREx‘𝑇)∀𝑦 ∈ (mREx‘𝑇)((𝐹𝐺)‘(𝑥 ++ 𝑦)) = (((𝐹𝐺)‘𝑥) ++ ((𝐹𝐺)‘𝑦)))
631, 2, 21, 20elmrsubrn 32767 . . 3 (𝑇 ∈ V → ((𝐹𝐺) ∈ ran 𝑆 ↔ ((𝐹𝐺):(mREx‘𝑇)⟶(mREx‘𝑇) ∧ ∀𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))((𝐹𝐺)‘⟨“𝑐”⟩) = ⟨“𝑐”⟩ ∧ ∀𝑥 ∈ (mREx‘𝑇)∀𝑦 ∈ (mREx‘𝑇)((𝐹𝐺)‘(𝑥 ++ 𝑦)) = (((𝐹𝐺)‘𝑥) ++ ((𝐹𝐺)‘𝑦)))))
6418, 63syl 17 . 2 ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → ((𝐹𝐺) ∈ ran 𝑆 ↔ ((𝐹𝐺):(mREx‘𝑇)⟶(mREx‘𝑇) ∧ ∀𝑐 ∈ ((mCN‘𝑇) ∖ (mVR‘𝑇))((𝐹𝐺)‘⟨“𝑐”⟩) = ⟨“𝑐”⟩ ∧ ∀𝑥 ∈ (mREx‘𝑇)∀𝑦 ∈ (mREx‘𝑇)((𝐹𝐺)‘(𝑥 ++ 𝑦)) = (((𝐹𝐺)‘𝑥) ++ ((𝐹𝐺)‘𝑦)))))
658, 33, 62, 64mpbir3and 1338 1 ((𝐹 ∈ ran 𝑆𝐺 ∈ ran 𝑆) → (𝐹𝐺) ∈ ran 𝑆)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 398  w3a 1083   = wceq 1537  wcel 2114  wral 3138  Vcvv 3494  cdif 3933  cun 3934  c0 4291  ran crn 5556  ccom 5559  wf 6351  cfv 6355  (class class class)co 7156  Word cword 13862   ++ cconcat 13922  ⟨“cs1 13949  mCNcmcn 32707  mVRcmvar 32708  mRExcmrex 32713  mRSubstcmrsub 32717
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2793  ax-rep 5190  ax-sep 5203  ax-nul 5210  ax-pow 5266  ax-pr 5330  ax-un 7461  ax-cnex 10593  ax-resscn 10594  ax-1cn 10595  ax-icn 10596  ax-addcl 10597  ax-addrcl 10598  ax-mulcl 10599  ax-mulrcl 10600  ax-mulcom 10601  ax-addass 10602  ax-mulass 10603  ax-distr 10604  ax-i2m1 10605  ax-1ne0 10606  ax-1rid 10607  ax-rnegex 10608  ax-rrecex 10609  ax-cnre 10610  ax-pre-lttri 10611  ax-pre-lttrn 10612  ax-pre-ltadd 10613  ax-pre-mulgt0 10614
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3or 1084  df-3an 1085  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2654  df-clab 2800  df-cleq 2814  df-clel 2893  df-nfc 2963  df-ne 3017  df-nel 3124  df-ral 3143  df-rex 3144  df-reu 3145  df-rmo 3146  df-rab 3147  df-v 3496  df-sbc 3773  df-csb 3884  df-dif 3939  df-un 3941  df-in 3943  df-ss 3952  df-pss 3954  df-nul 4292  df-if 4468  df-pw 4541  df-sn 4568  df-pr 4570  df-tp 4572  df-op 4574  df-uni 4839  df-int 4877  df-iun 4921  df-br 5067  df-opab 5129  df-mpt 5147  df-tr 5173  df-id 5460  df-eprel 5465  df-po 5474  df-so 5475  df-fr 5514  df-we 5516  df-xp 5561  df-rel 5562  df-cnv 5563  df-co 5564  df-dm 5565  df-rn 5566  df-res 5567  df-ima 5568  df-pred 6148  df-ord 6194  df-on 6195  df-lim 6196  df-suc 6197  df-iota 6314  df-fun 6357  df-fn 6358  df-f 6359  df-f1 6360  df-fo 6361  df-f1o 6362  df-fv 6363  df-riota 7114  df-ov 7159  df-oprab 7160  df-mpo 7161  df-om 7581  df-1st 7689  df-2nd 7690  df-wrecs 7947  df-recs 8008  df-rdg 8046  df-1o 8102  df-oadd 8106  df-er 8289  df-map 8408  df-pm 8409  df-en 8510  df-dom 8511  df-sdom 8512  df-fin 8513  df-card 9368  df-pnf 10677  df-mnf 10678  df-xr 10679  df-ltxr 10680  df-le 10681  df-sub 10872  df-neg 10873  df-nn 11639  df-2 11701  df-n0 11899  df-xnn0 11969  df-z 11983  df-uz 12245  df-fz 12894  df-fzo 13035  df-seq 13371  df-hash 13692  df-word 13863  df-lsw 13915  df-concat 13923  df-s1 13950  df-substr 14003  df-pfx 14033  df-struct 16485  df-ndx 16486  df-slot 16487  df-base 16489  df-sets 16490  df-ress 16491  df-plusg 16578  df-0g 16715  df-gsum 16716  df-mgm 17852  df-sgrp 17901  df-mnd 17912  df-mhm 17956  df-submnd 17957  df-frmd 18014  df-vrmd 18015  df-mrex 32733  df-mrsub 32737
This theorem is referenced by:  msubco  32778
  Copyright terms: Public domain W3C validator