Proof of Theorem f1oco
| Step | Hyp | Ref
| Expression |
| 1 | | an6 638
. . 3
⊢ (((F
Fn B ∧ Fun ◡F ∧
ran F = C) ∧ (G Fn
A ∧ Fun ◡G ∧
ran G = B)) ↔ ((F
Fn B ∧ G Fn A) ∧
(Fun ◡F ∧ Fun ◡G) ∧
(ran F = C ∧ ran G =
B))) |
| 2 | | funco 2696 |
. . . . . 6
⊢ ((Fun F ∧ Fun G)
→ Fun (F ∘ G)) |
| 3 | | funco 2696 |
. . . . . . . 8
⊢ ((Fun ◡G ∧
Fun ◡F) → Fun (◡G
∘ ◡F)) |
| 4 | | cnvco 2520 |
. . . . . . . . 9
⊢ ◡(F
∘ G) = (◡G
∘ ◡F) |
| 5 | | funeq 2683 |
. . . . . . . . 9
⊢ (◡(F
∘ G) = (◡G
∘ ◡F) → (Fun ◡(F
∘ G) ↔ Fun (◡G
∘ ◡F))) |
| 6 | 4, 5 | ax-mp 6 |
. . . . . . . 8
⊢ (Fun ◡(F
∘ G) ↔ Fun (◡G
∘ ◡F)) |
| 7 | 3, 6 | sylibr 175 |
. . . . . . 7
⊢ ((Fun ◡G ∧
Fun ◡F) → Fun ◡(F
∘ G)) |
| 8 | 7 | ancoms 334 |
. . . . . 6
⊢ ((Fun ◡F ∧
Fun ◡G) → Fun ◡(F
∘ G)) |
| 9 | 2, 8 | anim12i 268 |
. . . . 5
⊢ (((Fun F ∧ Fun G)
∧ (Fun ◡F ∧ Fun ◡G))
→ (Fun (F ∘ G) ∧ Fun ◡(F
∘ G))) |
| 10 | | dmcoeq 2573 |
. . . . . . . . . . 11
⊢ (dom F
= ran G → dom (F ∘ G) =
dom G) |
| 11 | 10 | cleq1d 1109 |
. . . . . . . . . 10
⊢ (dom F
= ran G → (dom (F ∘ G) =
A ↔ dom G = A)) |
| 12 | 11 | biimpar 325 |
. . . . . . . . 9
⊢ ((dom F = ran G ∧
dom G = A) → dom (F
∘ G) = A) |
| 13 | 12 | adantrr 312 |
. . . . . . . 8
⊢ ((dom F = ran G ∧
(dom G = A ∧ ran F =
C)) → dom (F ∘ G) =
A) |
| 14 | | rncoeq 2574 |
. . . . . . . . . . 11
⊢ (dom F
= ran G → ran (F ∘ G) =
ran F) |
| 15 | 14 | cleq1d 1109 |
. . . . . . . . . 10
⊢ (dom F
= ran G → (ran (F ∘ G) =
C ↔ ran F = C)) |
| 16 | 15 | biimpar 325 |
. . . . . . . . 9
⊢ ((dom F = ran G ∧
ran F = C) → ran (F
∘ G) = C) |
| 17 | 16 | adantrl 311 |
. . . . . . . 8
⊢ ((dom F = ran G ∧
(dom G = A ∧ ran F =
C)) → ran (F ∘ G) =
C) |
| 18 | 13, 17 | jca 236 |
. . . . . . 7
⊢ ((dom F = ran G ∧
(dom G = A ∧ ran F =
C)) → (dom (F ∘ G) =
A ∧ ran (F ∘ G) =
C)) |
| 19 | | cleq2 1110 |
. . . . . . . . 9
⊢ (B =
ran G → (dom F = B ↔ dom
F = ran G)) |
| 20 | 19 | cleqcoms 1104 |
. . . . . . . 8
⊢ (ran G
= B → (dom F = B ↔ dom
F = ran G)) |
| 21 | 20 | biimpac 326 |
. . . . . . 7
⊢ ((dom F = B ∧ ran
G = B)
→ dom F = ran G) |
| 22 | 18, 21 | sylan 343 |
. . . . . 6
⊢ (((dom F = B ∧ ran
G = B)
∧ (dom G = A ∧ ran F =
C)) → (dom (F ∘ G) =
A ∧ ran (F ∘ G) =
C)) |
| 23 | 22 | an42s 391 |
. . . . 5
⊢ (((dom F = B ∧ dom
G = A)
∧ (ran F = C ∧ ran G =
B)) → (dom (F ∘ G) =
A ∧ ran (F ∘ G) =
C)) |
| 24 | 9, 23 | anim12i 268 |
. . . 4
⊢ ((((Fun F ∧ Fun G)
∧ (Fun ◡F ∧ Fun ◡G))
∧ ((dom F = B ∧ dom G =
A) ∧ (ran F = C ∧ ran
G = B))) → ((Fun (F ∘ G)
∧ Fun ◡(F ∘ G))
∧ (dom (F ∘ G) = A ∧ ran
(F ∘ G) = C))) |
| 25 | | 3anass 585 |
. . . . 5
⊢ (((F
Fn B ∧ G Fn A) ∧
(Fun ◡F ∧ Fun ◡G) ∧
(ran F = C ∧ ran G =
B)) ↔ ((F Fn B ∧
G Fn A)
∧ ((Fun ◡F ∧ Fun ◡G) ∧
(ran F = C ∧ ran G =
B)))) |
| 26 | | df-fn 2433 |
. . . . . . . 8
⊢ (F Fn
B ↔ (Fun F ∧ dom F =
B)) |
| 27 | | df-fn 2433 |
. . . . . . . 8
⊢ (G Fn
A ↔ (Fun G ∧ dom G =
A)) |
| 28 | 26, 27 | anbi12i 369 |
. . . . . . 7
⊢ ((F Fn
B ∧ G Fn A) ↔
((Fun F ∧ dom F = B) ∧
(Fun G ∧ dom G = A))) |
| 29 | | an4 388 |
. . . . . . 7
⊢ (((Fun F ∧ dom F =
B) ∧ (Fun G ∧ dom G =
A)) ↔ ((Fun F ∧ Fun G)
∧ (dom F = B ∧ dom G =
A))) |
| 30 | 28, 29 | bitr 151 |
. . . . . 6
⊢ ((F Fn
B ∧ G Fn A) ↔
((Fun F ∧ Fun G) ∧ (dom F
= B ∧ dom G = A))) |
| 31 | 30 | anbi1i 368 |
. . . . 5
⊢ (((F
Fn B ∧ G Fn A) ∧
((Fun ◡F ∧ Fun ◡G) ∧
(ran F = C ∧ ran G =
B))) ↔ (((Fun F ∧ Fun G)
∧ (dom F = B ∧ dom G =
A)) ∧ ((Fun ◡F ∧
Fun ◡G) ∧ (ran F
= C ∧ ran G = B)))) |
| 32 | | an4 388 |
. . . . 5
⊢ ((((Fun F ∧ Fun G)
∧ (dom F = B ∧ dom G =
A)) ∧ ((Fun ◡F ∧
Fun ◡G) ∧ (ran F
= C ∧ ran G = B))) ↔
(((Fun F ∧ Fun G) ∧ (Fun ◡F ∧
Fun ◡G)) ∧ ((dom F = B ∧ dom
G = A)
∧ (ran F = C ∧ ran G =
B)))) |
| 33 | 25, 31, 32 | 3bitr 155 |
. . . 4
⊢ (((F
Fn B ∧ G Fn A) ∧
(Fun ◡F ∧ Fun ◡G) ∧
(ran F = C ∧ ran G =
B)) ↔ (((Fun F ∧ Fun G)
∧ (Fun ◡F ∧ Fun ◡G))
∧ ((dom F = B ∧ dom G =
A) ∧ (ran F = C ∧ ran
G = B)))) |
| 34 | | 3anass 585 |
. . . . 5
⊢ (((F
∘ G) Fn A ∧ Fun ◡(F
∘ G) ∧ ran (F ∘ G) =
C) ↔ ((F ∘ G) Fn
A ∧ (Fun ◡(F
∘ G) ∧ ran (F ∘ G) =
C))) |
| 35 | | df-fn 2433 |
. . . . . 6
⊢ ((F
∘ G) Fn A ↔ (Fun (F
∘ G) ∧ dom (F ∘ G) =
A)) |
| 36 | 35 | anbi1i 368 |
. . . . 5
⊢ (((F
∘ G) Fn A ∧ (Fun ◡(F
∘ G) ∧ ran (F ∘ G) =
C)) ↔ ((Fun (F ∘ G)
∧ dom (F ∘ G) = A) ∧
(Fun ◡(F ∘ G)
∧ ran (F ∘ G) = C))) |
| 37 | | an4 388 |
. . . . 5
⊢ (((Fun (F ∘ G)
∧ dom (F ∘ G) = A) ∧
(Fun ◡(F ∘ G)
∧ ran (F ∘ G) = C)) ↔
((Fun (F ∘ G) ∧ Fun ◡(F
∘ G)) ∧ (dom (F ∘ G) =
A ∧ ran (F ∘ G) =
C))) |
| 38 | 34, 36, 37 | 3bitr 155 |
. . . 4
⊢ (((F
∘ G) Fn A ∧ Fun ◡(F
∘ G) ∧ ran (F ∘ G) =
C) ↔ ((Fun (F ∘ G)
∧ Fun ◡(F ∘ G))
∧ (dom (F ∘ G) = A ∧ ran
(F ∘ G) = C))) |
| 39 | 24, 33, 38 | 3imtr4 192 |
. . 3
⊢ (((F
Fn B ∧ G Fn A) ∧
(Fun ◡F ∧ Fun ◡G) ∧
(ran F = C ∧ ran G =
B)) → ((F ∘ G) Fn
A ∧ Fun ◡(F
∘ G) ∧ ran (F ∘ G) =
C)) |
| 40 | 1, 39 | sylbi 174 |
. 2
⊢ (((F
Fn B ∧ Fun ◡F ∧
ran F = C) ∧ (G Fn
A ∧ Fun ◡G ∧
ran G = B)) → ((F
∘ G) Fn A ∧ Fun ◡(F
∘ G) ∧ ran (F ∘ G) =
C)) |
| 41 | | f1o2 2804 |
. . 3
⊢ (F:B–1-1-onto→C ↔
(F Fn B
∧ Fun ◡F ∧ ran F =
C)) |
| 42 | | f1o2 2804 |
. . 3
⊢ (G:A–1-1-onto→B ↔
(G Fn A
∧ Fun ◡G ∧ ran G =
B)) |
| 43 | 41, 42 | anbi12i 369 |
. 2
⊢ ((F:B–1-1-onto→C ∧
G:A–1-1-onto→B) ↔
((F Fn B ∧ Fun ◡F ∧
ran F = C) ∧ (G Fn
A ∧ Fun ◡G ∧
ran G = B))) |
| 44 | | f1o2 2804 |
. 2
⊢ ((F
∘ G):A–1-1-onto→C ↔
((F ∘ G) Fn A ∧
Fun ◡(F ∘ G)
∧ ran (F ∘ G) = C)) |
| 45 | 40, 43, 44 | 3imtr4 192 |
1
⊢ ((F:B–1-1-onto→C ∧
G:A–1-1-onto→B) →
(F ∘ G):A–1-1-onto→C) |