HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem funun 3629
Description: The union of functions with disjoint domains is a function. Theorem 4.6 of [Monk1] p. 43.
Assertion
Ref Expression
funun |- (((Fun F /\ Fun G) /\ (dom F i^i dom G) = (/)) -> Fun (F u. G))

Proof of Theorem funun
StepHypRef Expression
1 funrel 3608 . . . . . 6 |- (Fun F -> Rel F)
2 funrel 3608 . . . . . 6 |- (Fun G -> Rel G)
31, 2anim12i 331 . . . . 5 |- ((Fun F /\ Fun G) -> (Rel F /\ Rel G))
4 relun 3323 . . . . 5 |- (Rel (F u. G) <-> (Rel F /\ Rel G))
53, 4sylibr 198 . . . 4 |- ((Fun F /\ Fun G) -> Rel (F u. G))
65adantr 389 . . 3 |- (((Fun F /\ Fun G) /\ (dom F i^i dom G) = (/)) -> Rel (F u. G))
7 disj1 2357 . . . . . . . . . . . . . 14 |- ((dom F i^i dom G) = (/) <-> A.x(x e. dom F -> -. x e. dom G))
87biimpi 149 . . . . . . . . . . . . 13 |- ((dom F i^i dom G) = (/) -> A.x(x e. dom F -> -. x e. dom G))
9819.21bi 1092 . . . . . . . . . . . 12 |- ((dom F i^i dom G) = (/) -> (x e. dom F -> -. x e. dom G))
10 imnan 240 . . . . . . . . . . . 12 |- ((x e. dom F -> -. x e. dom G) <-> -. (x e. dom F /\ x e. dom G))
119, 10sylib 196 . . . . . . . . . . 11 |- ((dom F i^i dom G) = (/) -> -. (x e. dom F /\ x e. dom G))
12 visset 1851 . . . . . . . . . . . . 13 |- x e. V
1312opeldm 3378 . . . . . . . . . . . 12 |- (<.x, y>. e. F -> x e. dom F)
1412opeldm 3378 . . . . . . . . . . . 12 |- (<.x, z>. e. G -> x e. dom G)
1513, 14anim12i 331 . . . . . . . . . . 11 |- ((<.x, y>. e. F /\ <.x, z>. e. G) -> (x e. dom F /\ x e. dom G))
1611, 15nsyl 115 . . . . . . . . . 10 |- ((dom F i^i dom G) = (/) -> -. (<.x, y>. e. F /\ <.x, z>. e. G))
17 orel2 250 . . . . . . . . . 10 |- (-. (<.x, y>. e. F /\ <.x, z>. e. G) -> (((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. F /\ <.x, z>. e. G)) -> (<.x, y>. e. F /\ <.x, z>. e. F)))
1816, 17syl 10 . . . . . . . . 9 |- ((dom F i^i dom G) = (/) -> (((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. F /\ <.x, z>. e. G)) -> (<.x, y>. e. F /\ <.x, z>. e. F)))
199con2d 91 . . . . . . . . . . . 12 |- ((dom F i^i dom G) = (/) -> (x e. dom G -> -. x e. dom F))
20 imnan 240 . . . . . . . . . . . 12 |- ((x e. dom G -> -. x e. dom F) <-> -. (x e. dom G /\ x e. dom F))
2119, 20sylib 196 . . . . . . . . . . 11 |- ((dom F i^i dom G) = (/) -> -. (x e. dom G /\ x e. dom F))
2212opeldm 3378 . . . . . . . . . . . 12 |- (<.x, y>. e. G -> x e. dom G)
2312opeldm 3378 . . . . . . . . . . . 12 |- (<.x, z>. e. F -> x e. dom F)
2422, 23anim12i 331 . . . . . . . . . . 11 |- ((<.x, y>. e. G /\ <.x, z>. e. F) -> (x e. dom G /\ x e. dom F))
2521, 24nsyl 115 . . . . . . . . . 10 |- ((dom F i^i dom G) = (/) -> -. (<.x, y>. e. G /\ <.x, z>. e. F))
26 orel1 249 . . . . . . . . . 10 |- (-. (<.x, y>. e. G /\ <.x, z>. e. F) -> (((<.x, y>. e. G /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G)) -> (<.x, y>. e. G /\ <.x, z>. e. G)))
2725, 26syl 10 . . . . . . . . 9 |- ((dom F i^i dom G) = (/) -> (((<.x, y>. e. G /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G)) -> (<.x, y>. e. G /\ <.x, z>. e. G)))
2818, 27orim12d 567 . . . . . . . 8 |- ((dom F i^i dom G) = (/) -> ((((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. F /\ <.x, z>. e. G)) \/ ((<.x, y>. e. G /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G))) -> ((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G))))
2928adantl 388 . . . . . . 7 |- (((Fun F /\ Fun G) /\ (dom F i^i dom G) = (/)) -> ((((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. F /\ <.x, z>. e. G)) \/ ((<.x, y>. e. G /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G))) -> ((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G))))
30 elun 2217 . . . . . . . . 9 |- (<.x, y>. e. (F u. G) <-> (<.x, y>. e. F \/ <.x, y>. e. G))
31 elun 2217 . . . . . . . . 9 |- (<.x, z>. e. (F u. G) <-> (<.x, z>. e. F \/ <.x, z>. e. G))
3230, 31anbi12i 484 . . . . . . . 8 |- ((<.x, y>. e. (F u. G) /\ <.x, z>. e. (F u. G)) <-> ((<.x, y>. e. F \/ <.x, y>. e. G) /\ (<.x, z>. e. F \/ <.x, z>. e. G)))
33 anddi 609 . . . . . . . 8 |- (((<.x, y>. e. F \/ <.x, y>. e. G) /\ (<.x, z>. e. F \/ <.x, z>. e. G)) <-> (((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. F /\ <.x, z>. e. G)) \/ ((<.x, y>. e. G /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G))))
3432, 33bitri 171 . . . . . . 7 |- ((<.x, y>. e. (F u. G) /\ <.x, z>. e. (F u. G)) <-> (((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. F /\ <.x, z>. e. G)) \/ ((<.x, y>. e. G /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G))))
3529, 34syl5ib 204 . . . . . 6 |- (((Fun F /\ Fun G) /\ (dom F i^i dom G) = (/)) -> ((<.x, y>. e. (F u. G) /\ <.x, z>. e. (F u. G)) -> ((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G))))
36 dffun4 3603 . . . . . . . . . . 11 |- (Fun F <-> (Rel F /\ A.xA.yA.z((<.x, y>. e. F /\ <.x, z>. e. F) -> y = z)))
3736pm3.27bi 324 . . . . . . . . . 10 |- (Fun F -> A.xA.yA.z((<.x, y>. e. F /\ <.x, z>. e. F) -> y = z))
383719.21bi 1092 . . . . . . . . 9 |- (Fun F -> A.yA.z((<.x, y>. e. F /\ <.x, z>. e. F) -> y = z))
393819.21bbi 1093 . . . . . . . 8 |- (Fun F -> ((<.x, y>. e. F /\ <.x, z>. e. F) -> y = z))
40 dffun4 3603 . . . . . . . . . . 11 |- (Fun G <-> (Rel G /\ A.xA.yA.z((<.x, y>. e. G /\ <.x, z>. e. G) -> y = z)))
4140pm3.27bi 324 . . . . . . . . . 10 |- (Fun G -> A.xA.yA.z((<.x, y>. e. G /\ <.x, z>. e. G) -> y = z))
424119.21bi 1092 . . . . . . . . 9 |- (Fun G -> A.yA.z((<.x, y>. e. G /\ <.x, z>. e. G) -> y = z))
434219.21bbi 1093 . . . . . . . 8 |- (Fun G -> ((<.x, y>. e. G /\ <.x, z>. e. G) -> y = z))
4439, 43jaao 427 . . . . . . 7 |- ((Fun F /\ Fun G) -> (((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G)) -> y = z))
4544adantr 389 . . . . . 6 |- (((Fun F /\ Fun G) /\ (dom F i^i dom G) = (/)) -> (((<.x, y>. e. F /\ <.x, z>. e. F) \/ (<.x, y>. e. G /\ <.x, z>. e. G)) -> y = z))
4635, 45syld 27 . . . . 5 |- (((Fun F /\ Fun G) /\ (dom F i^i dom G) = (/)) -> ((<.x, y>. e. (F u. G) /\ <.x, z>. e. (F u. G)) -> y = z))
474619.21aiv 1319 . . . 4 |- (((Fun F /\ Fun G) /\ (dom F i^i dom G) = (/)) -> A.z((<.x, y>. e. (F u. G) /\ <.x, z>. e. (F u. G