Metamath Proof Explorer


Theorem ofun

Description: A function operation of unions of disjoint functions is a union of function operations. (Contributed by SN, 16-Jun-2024)

Ref Expression
Hypotheses ofun.a ( 𝜑𝐴 Fn 𝑀 )
ofun.b ( 𝜑𝐵 Fn 𝑀 )
ofun.c ( 𝜑𝐶 Fn 𝑁 )
ofun.d ( 𝜑𝐷 Fn 𝑁 )
ofun.m ( 𝜑𝑀𝑉 )
ofun.n ( 𝜑𝑁𝑊 )
ofun.1 ( 𝜑 → ( 𝑀𝑁 ) = ∅ )
Assertion ofun ( 𝜑 → ( ( 𝐴𝐶 ) ∘f 𝑅 ( 𝐵𝐷 ) ) = ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) )

Proof

Step Hyp Ref Expression
1 ofun.a ( 𝜑𝐴 Fn 𝑀 )
2 ofun.b ( 𝜑𝐵 Fn 𝑀 )
3 ofun.c ( 𝜑𝐶 Fn 𝑁 )
4 ofun.d ( 𝜑𝐷 Fn 𝑁 )
5 ofun.m ( 𝜑𝑀𝑉 )
6 ofun.n ( 𝜑𝑁𝑊 )
7 ofun.1 ( 𝜑 → ( 𝑀𝑁 ) = ∅ )
8 1 3 7 fnund ( 𝜑 → ( 𝐴𝐶 ) Fn ( 𝑀𝑁 ) )
9 2 4 7 fnund ( 𝜑 → ( 𝐵𝐷 ) Fn ( 𝑀𝑁 ) )
10 5 6 unexd ( 𝜑 → ( 𝑀𝑁 ) ∈ V )
11 inidm ( ( 𝑀𝑁 ) ∩ ( 𝑀𝑁 ) ) = ( 𝑀𝑁 )
12 8 9 10 10 11 offn ( 𝜑 → ( ( 𝐴𝐶 ) ∘f 𝑅 ( 𝐵𝐷 ) ) Fn ( 𝑀𝑁 ) )
13 inidm ( 𝑀𝑀 ) = 𝑀
14 1 2 5 5 13 offn ( 𝜑 → ( 𝐴f 𝑅 𝐵 ) Fn 𝑀 )
15 inidm ( 𝑁𝑁 ) = 𝑁
16 3 4 6 6 15 offn ( 𝜑 → ( 𝐶f 𝑅 𝐷 ) Fn 𝑁 )
17 14 16 7 fnund ( 𝜑 → ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) Fn ( 𝑀𝑁 ) )
18 eqidd ( ( 𝜑𝑥 ∈ ( 𝑀𝑁 ) ) → ( ( 𝐴𝐶 ) ‘ 𝑥 ) = ( ( 𝐴𝐶 ) ‘ 𝑥 ) )
19 eqidd ( ( 𝜑𝑥 ∈ ( 𝑀𝑁 ) ) → ( ( 𝐵𝐷 ) ‘ 𝑥 ) = ( ( 𝐵𝐷 ) ‘ 𝑥 ) )
20 8 9 10 10 11 18 19 ofval ( ( 𝜑𝑥 ∈ ( 𝑀𝑁 ) ) → ( ( ( 𝐴𝐶 ) ∘f 𝑅 ( 𝐵𝐷 ) ) ‘ 𝑥 ) = ( ( ( 𝐴𝐶 ) ‘ 𝑥 ) 𝑅 ( ( 𝐵𝐷 ) ‘ 𝑥 ) ) )
21 elun ( 𝑥 ∈ ( 𝑀𝑁 ) ↔ ( 𝑥𝑀𝑥𝑁 ) )
22 eqidd ( ( 𝜑𝑥𝑀 ) → ( 𝐴𝑥 ) = ( 𝐴𝑥 ) )
23 eqidd ( ( 𝜑𝑥𝑀 ) → ( 𝐵𝑥 ) = ( 𝐵𝑥 ) )
24 1 2 5 5 13 22 23 ofval ( ( 𝜑𝑥𝑀 ) → ( ( 𝐴f 𝑅 𝐵 ) ‘ 𝑥 ) = ( ( 𝐴𝑥 ) 𝑅 ( 𝐵𝑥 ) ) )
25 14 adantr ( ( 𝜑𝑥𝑀 ) → ( 𝐴f 𝑅 𝐵 ) Fn 𝑀 )
26 16 adantr ( ( 𝜑𝑥𝑀 ) → ( 𝐶f 𝑅 𝐷 ) Fn 𝑁 )
27 7 adantr ( ( 𝜑𝑥𝑀 ) → ( 𝑀𝑁 ) = ∅ )
28 simpr ( ( 𝜑𝑥𝑀 ) → 𝑥𝑀 )
29 25 26 27 28 fvun1d ( ( 𝜑𝑥𝑀 ) → ( ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) ‘ 𝑥 ) = ( ( 𝐴f 𝑅 𝐵 ) ‘ 𝑥 ) )
30 1 adantr ( ( 𝜑𝑥𝑀 ) → 𝐴 Fn 𝑀 )
31 3 adantr ( ( 𝜑𝑥𝑀 ) → 𝐶 Fn 𝑁 )
32 30 31 27 28 fvun1d ( ( 𝜑𝑥𝑀 ) → ( ( 𝐴𝐶 ) ‘ 𝑥 ) = ( 𝐴𝑥 ) )
33 2 adantr ( ( 𝜑𝑥𝑀 ) → 𝐵 Fn 𝑀 )
34 4 adantr ( ( 𝜑𝑥𝑀 ) → 𝐷 Fn 𝑁 )
35 33 34 27 28 fvun1d ( ( 𝜑𝑥𝑀 ) → ( ( 𝐵𝐷 ) ‘ 𝑥 ) = ( 𝐵𝑥 ) )
36 32 35 oveq12d ( ( 𝜑𝑥𝑀 ) → ( ( ( 𝐴𝐶 ) ‘ 𝑥 ) 𝑅 ( ( 𝐵𝐷 ) ‘ 𝑥 ) ) = ( ( 𝐴𝑥 ) 𝑅 ( 𝐵𝑥 ) ) )
37 24 29 36 3eqtr4rd ( ( 𝜑𝑥𝑀 ) → ( ( ( 𝐴𝐶 ) ‘ 𝑥 ) 𝑅 ( ( 𝐵𝐷 ) ‘ 𝑥 ) ) = ( ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) ‘ 𝑥 ) )
38 eqidd ( ( 𝜑𝑥𝑁 ) → ( 𝐶𝑥 ) = ( 𝐶𝑥 ) )
39 eqidd ( ( 𝜑𝑥𝑁 ) → ( 𝐷𝑥 ) = ( 𝐷𝑥 ) )
40 3 4 6 6 15 38 39 ofval ( ( 𝜑𝑥𝑁 ) → ( ( 𝐶f 𝑅 𝐷 ) ‘ 𝑥 ) = ( ( 𝐶𝑥 ) 𝑅 ( 𝐷𝑥 ) ) )
41 14 adantr ( ( 𝜑𝑥𝑁 ) → ( 𝐴f 𝑅 𝐵 ) Fn 𝑀 )
42 16 adantr ( ( 𝜑𝑥𝑁 ) → ( 𝐶f 𝑅 𝐷 ) Fn 𝑁 )
43 7 adantr ( ( 𝜑𝑥𝑁 ) → ( 𝑀𝑁 ) = ∅ )
44 simpr ( ( 𝜑𝑥𝑁 ) → 𝑥𝑁 )
45 41 42 43 44 fvun2d ( ( 𝜑𝑥𝑁 ) → ( ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) ‘ 𝑥 ) = ( ( 𝐶f 𝑅 𝐷 ) ‘ 𝑥 ) )
46 1 adantr ( ( 𝜑𝑥𝑁 ) → 𝐴 Fn 𝑀 )
47 3 adantr ( ( 𝜑𝑥𝑁 ) → 𝐶 Fn 𝑁 )
48 46 47 43 44 fvun2d ( ( 𝜑𝑥𝑁 ) → ( ( 𝐴𝐶 ) ‘ 𝑥 ) = ( 𝐶𝑥 ) )
49 2 adantr ( ( 𝜑𝑥𝑁 ) → 𝐵 Fn 𝑀 )
50 4 adantr ( ( 𝜑𝑥𝑁 ) → 𝐷 Fn 𝑁 )
51 49 50 43 44 fvun2d ( ( 𝜑𝑥𝑁 ) → ( ( 𝐵𝐷 ) ‘ 𝑥 ) = ( 𝐷𝑥 ) )
52 48 51 oveq12d ( ( 𝜑𝑥𝑁 ) → ( ( ( 𝐴𝐶 ) ‘ 𝑥 ) 𝑅 ( ( 𝐵𝐷 ) ‘ 𝑥 ) ) = ( ( 𝐶𝑥 ) 𝑅 ( 𝐷𝑥 ) ) )
53 40 45 52 3eqtr4rd ( ( 𝜑𝑥𝑁 ) → ( ( ( 𝐴𝐶 ) ‘ 𝑥 ) 𝑅 ( ( 𝐵𝐷 ) ‘ 𝑥 ) ) = ( ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) ‘ 𝑥 ) )
54 37 53 jaodan ( ( 𝜑 ∧ ( 𝑥𝑀𝑥𝑁 ) ) → ( ( ( 𝐴𝐶 ) ‘ 𝑥 ) 𝑅 ( ( 𝐵𝐷 ) ‘ 𝑥 ) ) = ( ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) ‘ 𝑥 ) )
55 21 54 sylan2b ( ( 𝜑𝑥 ∈ ( 𝑀𝑁 ) ) → ( ( ( 𝐴𝐶 ) ‘ 𝑥 ) 𝑅 ( ( 𝐵𝐷 ) ‘ 𝑥 ) ) = ( ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) ‘ 𝑥 ) )
56 20 55 eqtrd ( ( 𝜑𝑥 ∈ ( 𝑀𝑁 ) ) → ( ( ( 𝐴𝐶 ) ∘f 𝑅 ( 𝐵𝐷 ) ) ‘ 𝑥 ) = ( ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) ‘ 𝑥 ) )
57 12 17 56 eqfnfvd ( 𝜑 → ( ( 𝐴𝐶 ) ∘f 𝑅 ( 𝐵𝐷 ) ) = ( ( 𝐴f 𝑅 𝐵 ) ∪ ( 𝐶f 𝑅 𝐷 ) ) )