Metamath Proof Explorer


Theorem fresaun

Description: The union of two functions which agree on their common domain is a function. (Contributed by Stefan O'Rear, 9-Oct-2014)

Ref Expression
Assertion fresaun ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ∪ G : A ∪ B ⟶ C

Proof

Step Hyp Ref Expression
1 simp1 ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F : A ⟶ C
2 inss1 ⊢ A ∩ B ⊆ A
3 fssres ⊢ F : A ⟶ C ∧ A ∩ B ⊆ A → F ↾ A ∩ B : A ∩ B ⟶ C
4 1 2 3 sylancl ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ↾ A ∩ B : A ∩ B ⟶ C
5 difss ⊢ A ∖ B ⊆ A
6 fssres ⊢ F : A ⟶ C ∧ A ∖ B ⊆ A → F ↾ A ∖ B : A ∖ B ⟶ C
7 1 5 6 sylancl ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ↾ A ∖ B : A ∖ B ⟶ C
8 simp2 ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → G : B ⟶ C
9 difss ⊢ B ∖ A ⊆ B
10 fssres ⊢ G : B ⟶ C ∧ B ∖ A ⊆ B → G ↾ B ∖ A : B ∖ A ⟶ C
11 8 9 10 sylancl ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → G ↾ B ∖ A : B ∖ A ⟶ C
12 indifdir ⊢ A ∖ B ∩ B ∖ A = A ∩ B ∖ A ∖ B ∩ B ∖ A
13 disjdif ⊢ A ∩ B ∖ A = ∅
14 13 difeq1i ⊢ A ∩ B ∖ A ∖ B ∩ B ∖ A = ∅ ∖ B ∩ B ∖ A
15 0dif ⊢ ∅ ∖ B ∩ B ∖ A = ∅
16 12 14 15 3eqtri ⊢ A ∖ B ∩ B ∖ A = ∅
17 16 a1i ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → A ∖ B ∩ B ∖ A = ∅
18 7 11 17 fun2d ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ↾ A ∖ B ∪ G ↾ B ∖ A : A ∖ B ∪ B ∖ A ⟶ C
19 indi ⊢ A ∩ B ∩ A ∖ B ∪ B ∖ A = A ∩ B ∩ A ∖ B ∪ A ∩ B ∩ B ∖ A
20 inass ⊢ A ∩ B ∩ A ∖ B = A ∩ B ∩ A ∖ B
21 disjdif ⊢ B ∩ A ∖ B = ∅
22 21 ineq2i ⊢ A ∩ B ∩ A ∖ B = A ∩ ∅
23 in0 ⊢ A ∩ ∅ = ∅
24 20 22 23 3eqtri ⊢ A ∩ B ∩ A ∖ B = ∅
25 incom ⊢ A ∩ B = B ∩ A
26 25 ineq1i ⊢ A ∩ B ∩ B ∖ A = B ∩ A ∩ B ∖ A
27 inass ⊢ B ∩ A ∩ B ∖ A = B ∩ A ∩ B ∖ A
28 13 ineq2i ⊢ B ∩ A ∩ B ∖ A = B ∩ ∅
29 in0 ⊢ B ∩ ∅ = ∅
30 27 28 29 3eqtri ⊢ B ∩ A ∩ B ∖ A = ∅
31 26 30 eqtri ⊢ A ∩ B ∩ B ∖ A = ∅
32 24 31 uneq12i ⊢ A ∩ B ∩ A ∖ B ∪ A ∩ B ∩ B ∖ A = ∅ ∪ ∅
33 un0 ⊢ ∅ ∪ ∅ = ∅
34 19 32 33 3eqtri ⊢ A ∩ B ∩ A ∖ B ∪ B ∖ A = ∅
35 34 a1i ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → A ∩ B ∩ A ∖ B ∪ B ∖ A = ∅
36 4 18 35 fun2d ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ↾ A ∩ B ∪ F ↾ A ∖ B ∪ G ↾ B ∖ A : A ∩ B ∪ A ∖ B ∪ B ∖ A ⟶ C
37 un12 ⊢ A ∩ B ∪ A ∖ B ∪ B ∖ A = A ∖ B ∪ A ∩ B ∪ B ∖ A
38 25 uneq1i ⊢ A ∩ B ∪ B ∖ A = B ∩ A ∪ B ∖ A
39 inundif ⊢ B ∩ A ∪ B ∖ A = B
40 38 39 eqtri ⊢ A ∩ B ∪ B ∖ A = B
41 40 uneq2i ⊢ A ∖ B ∪ A ∩ B ∪ B ∖ A = A ∖ B ∪ B
42 undif1 ⊢ A ∖ B ∪ B = A ∪ B
43 37 41 42 3eqtri ⊢ A ∩ B ∪ A ∖ B ∪ B ∖ A = A ∪ B
44 43 feq2i ⊢ F ↾ A ∩ B ∪ F ↾ A ∖ B ∪ G ↾ B ∖ A : A ∩ B ∪ A ∖ B ∪ B ∖ A ⟶ C ↔ F ↾ A ∩ B ∪ F ↾ A ∖ B ∪ G ↾ B ∖ A : A ∪ B ⟶ C
45 ffn ⊢ F : A ⟶ C → F Fn A
46 ffn ⊢ G : B ⟶ C → G Fn B
47 id ⊢ F ↾ A ∩ B = G ↾ A ∩ B → F ↾ A ∩ B = G ↾ A ∩ B
48 resasplit ⊢ F Fn A ∧ G Fn B ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ∪ G = F ↾ A ∩ B ∪ F ↾ A ∖ B ∪ G ↾ B ∖ A
49 45 46 47 48 syl3an ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ∪ G = F ↾ A ∩ B ∪ F ↾ A ∖ B ∪ G ↾ B ∖ A
50 49 feq1d ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ∪ G : A ∪ B ⟶ C ↔ F ↾ A ∩ B ∪ F ↾ A ∖ B ∪ G ↾ B ∖ A : A ∪ B ⟶ C
51 44 50 bitr4id ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ↾ A ∩ B ∪ F ↾ A ∖ B ∪ G ↾ B ∖ A : A ∩ B ∪ A ∖ B ∪ B ∖ A ⟶ C ↔ F ∪ G : A ∪ B ⟶ C
52 36 51 mpbid ⊢ F : A ⟶ C ∧ G : B ⟶ C ∧ F ↾ A ∩ B = G ↾ A ∩ B → F ∪ G : A ∪ B ⟶ C