Metamath Proof Explorer


Theorem caofinvl

Description: Transfer a left inverse law to the function operation. (Contributed by NM, 22-Oct-2014)

Ref Expression
Hypotheses caofref.1 ( 𝜑𝐴𝑉 )
caofref.2 ( 𝜑𝐹 : 𝐴𝑆 )
caofinv.3 ( 𝜑𝐵𝑊 )
caofinv.4 ( 𝜑𝑁 : 𝑆𝑆 )
caofinv.5 ( 𝜑𝐺 = ( 𝑣𝐴 ↦ ( 𝑁 ‘ ( 𝐹𝑣 ) ) ) )
caofinvl.6 ( ( 𝜑𝑥𝑆 ) → ( ( 𝑁𝑥 ) 𝑅 𝑥 ) = 𝐵 )
Assertion caofinvl ( 𝜑 → ( 𝐺f 𝑅 𝐹 ) = ( 𝐴 × { 𝐵 } ) )

Proof

Step Hyp Ref Expression
1 caofref.1 ( 𝜑𝐴𝑉 )
2 caofref.2 ( 𝜑𝐹 : 𝐴𝑆 )
3 caofinv.3 ( 𝜑𝐵𝑊 )
4 caofinv.4 ( 𝜑𝑁 : 𝑆𝑆 )
5 caofinv.5 ( 𝜑𝐺 = ( 𝑣𝐴 ↦ ( 𝑁 ‘ ( 𝐹𝑣 ) ) ) )
6 caofinvl.6 ( ( 𝜑𝑥𝑆 ) → ( ( 𝑁𝑥 ) 𝑅 𝑥 ) = 𝐵 )
7 4 adantr ( ( 𝜑𝑣𝐴 ) → 𝑁 : 𝑆𝑆 )
8 2 ffvelrnda ( ( 𝜑𝑣𝐴 ) → ( 𝐹𝑣 ) ∈ 𝑆 )
9 7 8 ffvelrnd ( ( 𝜑𝑣𝐴 ) → ( 𝑁 ‘ ( 𝐹𝑣 ) ) ∈ 𝑆 )
10 5 9 fmpt3d ( 𝜑𝐺 : 𝐴𝑆 )
11 10 ffvelrnda ( ( 𝜑𝑤𝐴 ) → ( 𝐺𝑤 ) ∈ 𝑆 )
12 2 ffvelrnda ( ( 𝜑𝑤𝐴 ) → ( 𝐹𝑤 ) ∈ 𝑆 )
13 fvex ( 𝑁 ‘ ( 𝐹𝑣 ) ) ∈ V
14 eqid ( 𝑣𝐴 ↦ ( 𝑁 ‘ ( 𝐹𝑣 ) ) ) = ( 𝑣𝐴 ↦ ( 𝑁 ‘ ( 𝐹𝑣 ) ) )
15 13 14 fnmpti ( 𝑣𝐴 ↦ ( 𝑁 ‘ ( 𝐹𝑣 ) ) ) Fn 𝐴
16 5 fneq1d ( 𝜑 → ( 𝐺 Fn 𝐴 ↔ ( 𝑣𝐴 ↦ ( 𝑁 ‘ ( 𝐹𝑣 ) ) ) Fn 𝐴 ) )
17 15 16 mpbiri ( 𝜑𝐺 Fn 𝐴 )
18 dffn5 ( 𝐺 Fn 𝐴𝐺 = ( 𝑤𝐴 ↦ ( 𝐺𝑤 ) ) )
19 17 18 sylib ( 𝜑𝐺 = ( 𝑤𝐴 ↦ ( 𝐺𝑤 ) ) )
20 2 feqmptd ( 𝜑𝐹 = ( 𝑤𝐴 ↦ ( 𝐹𝑤 ) ) )
21 1 11 12 19 20 offval2 ( 𝜑 → ( 𝐺f 𝑅 𝐹 ) = ( 𝑤𝐴 ↦ ( ( 𝐺𝑤 ) 𝑅 ( 𝐹𝑤 ) ) ) )
22 5 fveq1d ( 𝜑 → ( 𝐺𝑤 ) = ( ( 𝑣𝐴 ↦ ( 𝑁 ‘ ( 𝐹𝑣 ) ) ) ‘ 𝑤 ) )
23 2fveq3 ( 𝑣 = 𝑤 → ( 𝑁 ‘ ( 𝐹𝑣 ) ) = ( 𝑁 ‘ ( 𝐹𝑤 ) ) )
24 fvex ( 𝑁 ‘ ( 𝐹𝑤 ) ) ∈ V
25 23 14 24 fvmpt ( 𝑤𝐴 → ( ( 𝑣𝐴 ↦ ( 𝑁 ‘ ( 𝐹𝑣 ) ) ) ‘ 𝑤 ) = ( 𝑁 ‘ ( 𝐹𝑤 ) ) )
26 22 25 sylan9eq ( ( 𝜑𝑤𝐴 ) → ( 𝐺𝑤 ) = ( 𝑁 ‘ ( 𝐹𝑤 ) ) )
27 26 oveq1d ( ( 𝜑𝑤𝐴 ) → ( ( 𝐺𝑤 ) 𝑅 ( 𝐹𝑤 ) ) = ( ( 𝑁 ‘ ( 𝐹𝑤 ) ) 𝑅 ( 𝐹𝑤 ) ) )
28 fveq2 ( 𝑥 = ( 𝐹𝑤 ) → ( 𝑁𝑥 ) = ( 𝑁 ‘ ( 𝐹𝑤 ) ) )
29 id ( 𝑥 = ( 𝐹𝑤 ) → 𝑥 = ( 𝐹𝑤 ) )
30 28 29 oveq12d ( 𝑥 = ( 𝐹𝑤 ) → ( ( 𝑁𝑥 ) 𝑅 𝑥 ) = ( ( 𝑁 ‘ ( 𝐹𝑤 ) ) 𝑅 ( 𝐹𝑤 ) ) )
31 30 eqeq1d ( 𝑥 = ( 𝐹𝑤 ) → ( ( ( 𝑁𝑥 ) 𝑅 𝑥 ) = 𝐵 ↔ ( ( 𝑁 ‘ ( 𝐹𝑤 ) ) 𝑅 ( 𝐹𝑤 ) ) = 𝐵 ) )
32 6 ralrimiva ( 𝜑 → ∀ 𝑥𝑆 ( ( 𝑁𝑥 ) 𝑅 𝑥 ) = 𝐵 )
33 32 adantr ( ( 𝜑𝑤𝐴 ) → ∀ 𝑥𝑆 ( ( 𝑁𝑥 ) 𝑅 𝑥 ) = 𝐵 )
34 31 33 12 rspcdva ( ( 𝜑𝑤𝐴 ) → ( ( 𝑁 ‘ ( 𝐹𝑤 ) ) 𝑅 ( 𝐹𝑤 ) ) = 𝐵 )
35 27 34 eqtrd ( ( 𝜑𝑤𝐴 ) → ( ( 𝐺𝑤 ) 𝑅 ( 𝐹𝑤 ) ) = 𝐵 )
36 35 mpteq2dva ( 𝜑 → ( 𝑤𝐴 ↦ ( ( 𝐺𝑤 ) 𝑅 ( 𝐹𝑤 ) ) ) = ( 𝑤𝐴𝐵 ) )
37 21 36 eqtrd ( 𝜑 → ( 𝐺f 𝑅 𝐹 ) = ( 𝑤𝐴𝐵 ) )
38 fconstmpt ( 𝐴 × { 𝐵 } ) = ( 𝑤𝐴𝐵 )
39 37 38 eqtr4di ( 𝜑 → ( 𝐺f 𝑅 𝐹 ) = ( 𝐴 × { 𝐵 } ) )