MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  pm2mpval Structured version   Visualization version   GIF version

Theorem pm2mpval 21122
Description: Value of the transformation of a polynomial matrix into a polynomial over matrices. (Contributed by AV, 5-Dec-2019.)
Hypotheses
Ref Expression
pm2mpval.p 𝑃 = (Poly1𝑅)
pm2mpval.c 𝐶 = (𝑁 Mat 𝑃)
pm2mpval.b 𝐵 = (Base‘𝐶)
pm2mpval.m = ( ·𝑠𝑄)
pm2mpval.e = (.g‘(mulGrp‘𝑄))
pm2mpval.x 𝑋 = (var1𝐴)
pm2mpval.a 𝐴 = (𝑁 Mat 𝑅)
pm2mpval.q 𝑄 = (Poly1𝐴)
pm2mpval.t 𝑇 = (𝑁 pMatToMatPoly 𝑅)
Assertion
Ref Expression
pm2mpval ((𝑁 ∈ Fin ∧ 𝑅𝑉) → 𝑇 = (𝑚𝐵 ↦ (𝑄 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋))))))
Distinct variable groups:   𝐵,𝑚   𝑘,𝑁,𝑚   𝑅,𝑘,𝑚   𝑚,𝑉
Allowed substitution hints:   𝐴(𝑘,𝑚)   𝐵(𝑘)   𝐶(𝑘,𝑚)   𝑃(𝑘,𝑚)   𝑄(𝑘,𝑚)   𝑇(𝑘,𝑚)   (𝑘,𝑚)   (𝑘,𝑚)   𝑉(𝑘)   𝑋(𝑘,𝑚)

Proof of Theorem pm2mpval
Dummy variables 𝑛 𝑟 𝑎 𝑞 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 pm2mpval.t . 2 𝑇 = (𝑁 pMatToMatPoly 𝑅)
2 df-pm2mp 21120 . . . 4 pMatToMatPoly = (𝑛 ∈ Fin, 𝑟 ∈ V ↦ (𝑚 ∈ (Base‘(𝑛 Mat (Poly1𝑟))) ↦ (𝑛 Mat 𝑟) / 𝑎(Poly1𝑎) / 𝑞(𝑞 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠𝑞)(𝑘(.g‘(mulGrp‘𝑞))(var1𝑎)))))))
32a1i 11 . . 3 ((𝑁 ∈ Fin ∧ 𝑅𝑉) → pMatToMatPoly = (𝑛 ∈ Fin, 𝑟 ∈ V ↦ (𝑚 ∈ (Base‘(𝑛 Mat (Poly1𝑟))) ↦ (𝑛 Mat 𝑟) / 𝑎(Poly1𝑎) / 𝑞(𝑞 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠𝑞)(𝑘(.g‘(mulGrp‘𝑞))(var1𝑎))))))))
4 simpl 475 . . . . . . . 8 ((𝑛 = 𝑁𝑟 = 𝑅) → 𝑛 = 𝑁)
5 fveq2 6496 . . . . . . . . 9 (𝑟 = 𝑅 → (Poly1𝑟) = (Poly1𝑅))
65adantl 474 . . . . . . . 8 ((𝑛 = 𝑁𝑟 = 𝑅) → (Poly1𝑟) = (Poly1𝑅))
74, 6oveq12d 6992 . . . . . . 7 ((𝑛 = 𝑁𝑟 = 𝑅) → (𝑛 Mat (Poly1𝑟)) = (𝑁 Mat (Poly1𝑅)))
87fveq2d 6500 . . . . . 6 ((𝑛 = 𝑁𝑟 = 𝑅) → (Base‘(𝑛 Mat (Poly1𝑟))) = (Base‘(𝑁 Mat (Poly1𝑅))))
9 pm2mpval.b . . . . . . 7 𝐵 = (Base‘𝐶)
10 pm2mpval.c . . . . . . . . 9 𝐶 = (𝑁 Mat 𝑃)
11 pm2mpval.p . . . . . . . . . 10 𝑃 = (Poly1𝑅)
1211oveq2i 6985 . . . . . . . . 9 (𝑁 Mat 𝑃) = (𝑁 Mat (Poly1𝑅))
1310, 12eqtri 2795 . . . . . . . 8 𝐶 = (𝑁 Mat (Poly1𝑅))
1413fveq2i 6499 . . . . . . 7 (Base‘𝐶) = (Base‘(𝑁 Mat (Poly1𝑅)))
159, 14eqtri 2795 . . . . . 6 𝐵 = (Base‘(𝑁 Mat (Poly1𝑅)))
168, 15syl6eqr 2825 . . . . 5 ((𝑛 = 𝑁𝑟 = 𝑅) → (Base‘(𝑛 Mat (Poly1𝑟))) = 𝐵)
1716adantl 474 . . . 4 (((𝑁 ∈ Fin ∧ 𝑅𝑉) ∧ (𝑛 = 𝑁𝑟 = 𝑅)) → (Base‘(𝑛 Mat (Poly1𝑟))) = 𝐵)
18 ovex 7006 . . . . . 6 (𝑛 Mat 𝑟) ∈ V
19 fvexd 6511 . . . . . . 7 (𝑎 = (𝑛 Mat 𝑟) → (Poly1𝑎) ∈ V)
20 simpr 477 . . . . . . . . 9 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → 𝑞 = (Poly1𝑎))
21 fveq2 6496 . . . . . . . . . 10 (𝑎 = (𝑛 Mat 𝑟) → (Poly1𝑎) = (Poly1‘(𝑛 Mat 𝑟)))
2221adantr 473 . . . . . . . . 9 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → (Poly1𝑎) = (Poly1‘(𝑛 Mat 𝑟)))
2320, 22eqtrd 2807 . . . . . . . 8 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → 𝑞 = (Poly1‘(𝑛 Mat 𝑟)))
2423fveq2d 6500 . . . . . . . . . 10 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → ( ·𝑠𝑞) = ( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟))))
25 eqidd 2772 . . . . . . . . . 10 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → (𝑚 decompPMat 𝑘) = (𝑚 decompPMat 𝑘))
2623fveq2d 6500 . . . . . . . . . . . 12 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → (mulGrp‘𝑞) = (mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))
2726fveq2d 6500 . . . . . . . . . . 11 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → (.g‘(mulGrp‘𝑞)) = (.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟)))))
28 eqidd 2772 . . . . . . . . . . 11 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → 𝑘 = 𝑘)
29 fveq2 6496 . . . . . . . . . . . 12 (𝑎 = (𝑛 Mat 𝑟) → (var1𝑎) = (var1‘(𝑛 Mat 𝑟)))
3029adantr 473 . . . . . . . . . . 11 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → (var1𝑎) = (var1‘(𝑛 Mat 𝑟)))
3127, 28, 30oveq123d 6995 . . . . . . . . . 10 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → (𝑘(.g‘(mulGrp‘𝑞))(var1𝑎)) = (𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟))))
3224, 25, 31oveq123d 6995 . . . . . . . . 9 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → ((𝑚 decompPMat 𝑘)( ·𝑠𝑞)(𝑘(.g‘(mulGrp‘𝑞))(var1𝑎))) = ((𝑚 decompPMat 𝑘)( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟)))(𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟)))))
3332mpteq2dv 5019 . . . . . . . 8 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠𝑞)(𝑘(.g‘(mulGrp‘𝑞))(var1𝑎)))) = (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟)))(𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟))))))
3423, 33oveq12d 6992 . . . . . . 7 ((𝑎 = (𝑛 Mat 𝑟) ∧ 𝑞 = (Poly1𝑎)) → (𝑞 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠𝑞)(𝑘(.g‘(mulGrp‘𝑞))(var1𝑎))))) = ((Poly1‘(𝑛 Mat 𝑟)) Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟)))(𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟)))))))
3519, 34csbied 3808 . . . . . 6 (𝑎 = (𝑛 Mat 𝑟) → (Poly1𝑎) / 𝑞(𝑞 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠𝑞)(𝑘(.g‘(mulGrp‘𝑞))(var1𝑎))))) = ((Poly1‘(𝑛 Mat 𝑟)) Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟)))(𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟)))))))
3618, 35csbie 3807 . . . . 5 (𝑛 Mat 𝑟) / 𝑎(Poly1𝑎) / 𝑞(𝑞 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠𝑞)(𝑘(.g‘(mulGrp‘𝑞))(var1𝑎))))) = ((Poly1‘(𝑛 Mat 𝑟)) Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟)))(𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟))))))
37 oveq12 6983 . . . . . . . . 9 ((𝑛 = 𝑁𝑟 = 𝑅) → (𝑛 Mat 𝑟) = (𝑁 Mat 𝑅))
3837fveq2d 6500 . . . . . . . 8 ((𝑛 = 𝑁𝑟 = 𝑅) → (Poly1‘(𝑛 Mat 𝑟)) = (Poly1‘(𝑁 Mat 𝑅)))
39 pm2mpval.q . . . . . . . . 9 𝑄 = (Poly1𝐴)
40 pm2mpval.a . . . . . . . . . 10 𝐴 = (𝑁 Mat 𝑅)
4140fveq2i 6499 . . . . . . . . 9 (Poly1𝐴) = (Poly1‘(𝑁 Mat 𝑅))
4239, 41eqtri 2795 . . . . . . . 8 𝑄 = (Poly1‘(𝑁 Mat 𝑅))
4338, 42syl6eqr 2825 . . . . . . 7 ((𝑛 = 𝑁𝑟 = 𝑅) → (Poly1‘(𝑛 Mat 𝑟)) = 𝑄)
4438fveq2d 6500 . . . . . . . . . 10 ((𝑛 = 𝑁𝑟 = 𝑅) → ( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟))) = ( ·𝑠 ‘(Poly1‘(𝑁 Mat 𝑅))))
45 pm2mpval.m . . . . . . . . . . 11 = ( ·𝑠𝑄)
4642fveq2i 6499 . . . . . . . . . . 11 ( ·𝑠𝑄) = ( ·𝑠 ‘(Poly1‘(𝑁 Mat 𝑅)))
4745, 46eqtri 2795 . . . . . . . . . 10 = ( ·𝑠 ‘(Poly1‘(𝑁 Mat 𝑅)))
4844, 47syl6eqr 2825 . . . . . . . . 9 ((𝑛 = 𝑁𝑟 = 𝑅) → ( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟))) = )
49 eqidd 2772 . . . . . . . . 9 ((𝑛 = 𝑁𝑟 = 𝑅) → (𝑚 decompPMat 𝑘) = (𝑚 decompPMat 𝑘))
5038fveq2d 6500 . . . . . . . . . . . 12 ((𝑛 = 𝑁𝑟 = 𝑅) → (mulGrp‘(Poly1‘(𝑛 Mat 𝑟))) = (mulGrp‘(Poly1‘(𝑁 Mat 𝑅))))
5150fveq2d 6500 . . . . . . . . . . 11 ((𝑛 = 𝑁𝑟 = 𝑅) → (.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟)))) = (.g‘(mulGrp‘(Poly1‘(𝑁 Mat 𝑅)))))
52 pm2mpval.e . . . . . . . . . . . 12 = (.g‘(mulGrp‘𝑄))
5342fveq2i 6499 . . . . . . . . . . . . 13 (mulGrp‘𝑄) = (mulGrp‘(Poly1‘(𝑁 Mat 𝑅)))
5453fveq2i 6499 . . . . . . . . . . . 12 (.g‘(mulGrp‘𝑄)) = (.g‘(mulGrp‘(Poly1‘(𝑁 Mat 𝑅))))
5552, 54eqtri 2795 . . . . . . . . . . 11 = (.g‘(mulGrp‘(Poly1‘(𝑁 Mat 𝑅))))
5651, 55syl6eqr 2825 . . . . . . . . . 10 ((𝑛 = 𝑁𝑟 = 𝑅) → (.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟)))) = )
57 eqidd 2772 . . . . . . . . . 10 ((𝑛 = 𝑁𝑟 = 𝑅) → 𝑘 = 𝑘)
5837fveq2d 6500 . . . . . . . . . . 11 ((𝑛 = 𝑁𝑟 = 𝑅) → (var1‘(𝑛 Mat 𝑟)) = (var1‘(𝑁 Mat 𝑅)))
59 pm2mpval.x . . . . . . . . . . . 12 𝑋 = (var1𝐴)
6040fveq2i 6499 . . . . . . . . . . . 12 (var1𝐴) = (var1‘(𝑁 Mat 𝑅))
6159, 60eqtri 2795 . . . . . . . . . . 11 𝑋 = (var1‘(𝑁 Mat 𝑅))
6258, 61syl6eqr 2825 . . . . . . . . . 10 ((𝑛 = 𝑁𝑟 = 𝑅) → (var1‘(𝑛 Mat 𝑟)) = 𝑋)
6356, 57, 62oveq123d 6995 . . . . . . . . 9 ((𝑛 = 𝑁𝑟 = 𝑅) → (𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟))) = (𝑘 𝑋))
6448, 49, 63oveq123d 6995 . . . . . . . 8 ((𝑛 = 𝑁𝑟 = 𝑅) → ((𝑚 decompPMat 𝑘)( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟)))(𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟)))) = ((𝑚 decompPMat 𝑘) (𝑘 𝑋)))
6564mpteq2dv 5019 . . . . . . 7 ((𝑛 = 𝑁𝑟 = 𝑅) → (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟)))(𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟))))) = (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋))))
6643, 65oveq12d 6992 . . . . . 6 ((𝑛 = 𝑁𝑟 = 𝑅) → ((Poly1‘(𝑛 Mat 𝑟)) Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟)))(𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟)))))) = (𝑄 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋)))))
6766adantl 474 . . . . 5 (((𝑁 ∈ Fin ∧ 𝑅𝑉) ∧ (𝑛 = 𝑁𝑟 = 𝑅)) → ((Poly1‘(𝑛 Mat 𝑟)) Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠 ‘(Poly1‘(𝑛 Mat 𝑟)))(𝑘(.g‘(mulGrp‘(Poly1‘(𝑛 Mat 𝑟))))(var1‘(𝑛 Mat 𝑟)))))) = (𝑄 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋)))))
6836, 67syl5eq 2819 . . . 4 (((𝑁 ∈ Fin ∧ 𝑅𝑉) ∧ (𝑛 = 𝑁𝑟 = 𝑅)) → (𝑛 Mat 𝑟) / 𝑎(Poly1𝑎) / 𝑞(𝑞 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠𝑞)(𝑘(.g‘(mulGrp‘𝑞))(var1𝑎))))) = (𝑄 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋)))))
6917, 68mpteq12dv 5008 . . 3 (((𝑁 ∈ Fin ∧ 𝑅𝑉) ∧ (𝑛 = 𝑁𝑟 = 𝑅)) → (𝑚 ∈ (Base‘(𝑛 Mat (Poly1𝑟))) ↦ (𝑛 Mat 𝑟) / 𝑎(Poly1𝑎) / 𝑞(𝑞 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘)( ·𝑠𝑞)(𝑘(.g‘(mulGrp‘𝑞))(var1𝑎)))))) = (𝑚𝐵 ↦ (𝑄 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋))))))
70 simpl 475 . . 3 ((𝑁 ∈ Fin ∧ 𝑅𝑉) → 𝑁 ∈ Fin)
71 elex 3426 . . . 4 (𝑅𝑉𝑅 ∈ V)
7271adantl 474 . . 3 ((𝑁 ∈ Fin ∧ 𝑅𝑉) → 𝑅 ∈ V)
739fvexi 6510 . . . . 5 𝐵 ∈ V
7473mptex 6810 . . . 4 (𝑚𝐵 ↦ (𝑄 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋))))) ∈ V
7574a1i 11 . . 3 ((𝑁 ∈ Fin ∧ 𝑅𝑉) → (𝑚𝐵 ↦ (𝑄 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋))))) ∈ V)
763, 69, 70, 72, 75ovmpod 7116 . 2 ((𝑁 ∈ Fin ∧ 𝑅𝑉) → (𝑁 pMatToMatPoly 𝑅) = (𝑚𝐵 ↦ (𝑄 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋))))))
771, 76syl5eq 2819 1 ((𝑁 ∈ Fin ∧ 𝑅𝑉) → 𝑇 = (𝑚𝐵 ↦ (𝑄 Σg (𝑘 ∈ ℕ0 ↦ ((𝑚 decompPMat 𝑘) (𝑘 𝑋))))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 387   = wceq 1508  wcel 2051  Vcvv 3408  csb 3779  cmpt 5004  cfv 6185  (class class class)co 6974  cmpo 6976  Fincfn 8304  0cn0 11705  Basecbs 16337   ·𝑠 cvsca 16423   Σg cgsu 16568  .gcmg 18023  mulGrpcmgp 18974  var1cv1 20062  Poly1cpl1 20063   Mat cmat 20735   decompPMat cdecpmat 21089   pMatToMatPoly cpm2mp 21119
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1759  ax-4 1773  ax-5 1870  ax-6 1929  ax-7 1966  ax-8 2053  ax-9 2060  ax-10 2080  ax-11 2094  ax-12 2107  ax-13 2302  ax-ext 2743  ax-rep 5045  ax-sep 5056  ax-nul 5063  ax-pr 5182
This theorem depends on definitions:  df-bi 199  df-an 388  df-or 835  df-3an 1071  df-tru 1511  df-ex 1744  df-nf 1748  df-sb 2017  df-mo 2548  df-eu 2585  df-clab 2752  df-cleq 2764  df-clel 2839  df-nfc 2911  df-ne 2961  df-ral 3086  df-rex 3087  df-reu 3088  df-rab 3090  df-v 3410  df-sbc 3675  df-csb 3780  df-dif 3825  df-un 3827  df-in 3829  df-ss 3836  df-nul 4173  df-if 4345  df-sn 4436  df-pr 4438  df-op 4442  df-uni 4709  df-iun 4790  df-br 4926  df-opab 4988  df-mpt 5005  df-id 5308  df-xp 5409  df-rel 5410  df-cnv 5411  df-co 5412  df-dm 5413  df-rn 5414  df-res 5415  df-ima 5416  df-iota 6149  df-fun 6187  df-fn 6188  df-f 6189  df-f1 6190  df-fo 6191  df-f1o 6192  df-fv 6193  df-ov 6977  df-oprab 6978  df-mpo 6979  df-pm2mp 21120
This theorem is referenced by:  pm2mpfval  21123  pm2mpf  21125
  Copyright terms: Public domain W3C validator