Metamath Proof Explorer


Theorem xpsval

Description: Value of the binary structure product function. (Contributed by Mario Carneiro, 14-Aug-2015) (Revised by Jim Kingdon, 25-Sep-2023)

Ref Expression
Hypotheses xpsval.t 𝑇 = ( 𝑅 ×s 𝑆 )
xpsval.x 𝑋 = ( Base ‘ 𝑅 )
xpsval.y 𝑌 = ( Base ‘ 𝑆 )
xpsval.1 ( 𝜑𝑅𝑉 )
xpsval.2 ( 𝜑𝑆𝑊 )
xpsval.f 𝐹 = ( 𝑥𝑋 , 𝑦𝑌 ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } )
xpsval.k 𝐺 = ( Scalar ‘ 𝑅 )
xpsval.u 𝑈 = ( 𝐺 Xs { ⟨ ∅ , 𝑅 ⟩ , ⟨ 1o , 𝑆 ⟩ } )
Assertion xpsval ( 𝜑𝑇 = ( 𝐹s 𝑈 ) )

Proof

Step Hyp Ref Expression
1 xpsval.t 𝑇 = ( 𝑅 ×s 𝑆 )
2 xpsval.x 𝑋 = ( Base ‘ 𝑅 )
3 xpsval.y 𝑌 = ( Base ‘ 𝑆 )
4 xpsval.1 ( 𝜑𝑅𝑉 )
5 xpsval.2 ( 𝜑𝑆𝑊 )
6 xpsval.f 𝐹 = ( 𝑥𝑋 , 𝑦𝑌 ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } )
7 xpsval.k 𝐺 = ( Scalar ‘ 𝑅 )
8 xpsval.u 𝑈 = ( 𝐺 Xs { ⟨ ∅ , 𝑅 ⟩ , ⟨ 1o , 𝑆 ⟩ } )
9 4 elexd ( 𝜑𝑅 ∈ V )
10 5 elexd ( 𝜑𝑆 ∈ V )
11 fveq2 ( 𝑟 = 𝑅 → ( Base ‘ 𝑟 ) = ( Base ‘ 𝑅 ) )
12 11 2 eqtr4di ( 𝑟 = 𝑅 → ( Base ‘ 𝑟 ) = 𝑋 )
13 fveq2 ( 𝑠 = 𝑆 → ( Base ‘ 𝑠 ) = ( Base ‘ 𝑆 ) )
14 13 3 eqtr4di ( 𝑠 = 𝑆 → ( Base ‘ 𝑠 ) = 𝑌 )
15 mpoeq12 ( ( ( Base ‘ 𝑟 ) = 𝑋 ∧ ( Base ‘ 𝑠 ) = 𝑌 ) → ( 𝑥 ∈ ( Base ‘ 𝑟 ) , 𝑦 ∈ ( Base ‘ 𝑠 ) ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } ) = ( 𝑥𝑋 , 𝑦𝑌 ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } ) )
16 12 14 15 syl2an ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( 𝑥 ∈ ( Base ‘ 𝑟 ) , 𝑦 ∈ ( Base ‘ 𝑠 ) ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } ) = ( 𝑥𝑋 , 𝑦𝑌 ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } ) )
17 16 6 eqtr4di ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( 𝑥 ∈ ( Base ‘ 𝑟 ) , 𝑦 ∈ ( Base ‘ 𝑠 ) ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } ) = 𝐹 )
18 17 cnveqd ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( 𝑥 ∈ ( Base ‘ 𝑟 ) , 𝑦 ∈ ( Base ‘ 𝑠 ) ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } ) = 𝐹 )
19 fveq2 ( 𝑟 = 𝑅 → ( Scalar ‘ 𝑟 ) = ( Scalar ‘ 𝑅 ) )
20 19 adantr ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( Scalar ‘ 𝑟 ) = ( Scalar ‘ 𝑅 ) )
21 20 7 eqtr4di ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( Scalar ‘ 𝑟 ) = 𝐺 )
22 simpl ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → 𝑟 = 𝑅 )
23 22 opeq2d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ⟨ ∅ , 𝑟 ⟩ = ⟨ ∅ , 𝑅 ⟩ )
24 simpr ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → 𝑠 = 𝑆 )
25 24 opeq2d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ⟨ 1o , 𝑠 ⟩ = ⟨ 1o , 𝑆 ⟩ )
26 23 25 preq12d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → { ⟨ ∅ , 𝑟 ⟩ , ⟨ 1o , 𝑠 ⟩ } = { ⟨ ∅ , 𝑅 ⟩ , ⟨ 1o , 𝑆 ⟩ } )
27 21 26 oveq12d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( ( Scalar ‘ 𝑟 ) Xs { ⟨ ∅ , 𝑟 ⟩ , ⟨ 1o , 𝑠 ⟩ } ) = ( 𝐺 Xs { ⟨ ∅ , 𝑅 ⟩ , ⟨ 1o , 𝑆 ⟩ } ) )
28 27 8 eqtr4di ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( ( Scalar ‘ 𝑟 ) Xs { ⟨ ∅ , 𝑟 ⟩ , ⟨ 1o , 𝑠 ⟩ } ) = 𝑈 )
29 18 28 oveq12d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( ( 𝑥 ∈ ( Base ‘ 𝑟 ) , 𝑦 ∈ ( Base ‘ 𝑠 ) ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } ) “s ( ( Scalar ‘ 𝑟 ) Xs { ⟨ ∅ , 𝑟 ⟩ , ⟨ 1o , 𝑠 ⟩ } ) ) = ( 𝐹s 𝑈 ) )
30 df-xps ×s = ( 𝑟 ∈ V , 𝑠 ∈ V ↦ ( ( 𝑥 ∈ ( Base ‘ 𝑟 ) , 𝑦 ∈ ( Base ‘ 𝑠 ) ↦ { ⟨ ∅ , 𝑥 ⟩ , ⟨ 1o , 𝑦 ⟩ } ) “s ( ( Scalar ‘ 𝑟 ) Xs { ⟨ ∅ , 𝑟 ⟩ , ⟨ 1o , 𝑠 ⟩ } ) ) )
31 ovex ( 𝐹s 𝑈 ) ∈ V
32 29 30 31 ovmpoa ( ( 𝑅 ∈ V ∧ 𝑆 ∈ V ) → ( 𝑅 ×s 𝑆 ) = ( 𝐹s 𝑈 ) )
33 9 10 32 syl2anc ( 𝜑 → ( 𝑅 ×s 𝑆 ) = ( 𝐹s 𝑈 ) )
34 1 33 eqtrid ( 𝜑𝑇 = ( 𝐹s 𝑈 ) )