Step | Hyp | Ref
| Expression |
1 | | bren 6031 |
. . . . . . 7
⊢ (A ≈ C
↔ ∃r r:A–1-1-onto→C) |
2 | | bren 6031 |
. . . . . . 7
⊢ (B ≈ D
↔ ∃s s:B–1-1-onto→D) |
3 | 1, 2 | anbi12i 678 |
. . . . . 6
⊢ ((A ≈ C
∧ B
≈ D) ↔ (∃r r:A–1-1-onto→C ∧ ∃s s:B–1-1-onto→D)) |
4 | | eeanv 1913 |
. . . . . 6
⊢ (∃r∃s(r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ↔
(∃r
r:A–1-1-onto→C ∧ ∃s s:B–1-1-onto→D)) |
5 | 3, 4 | bitr4i 243 |
. . . . 5
⊢ ((A ≈ C
∧ B
≈ D) ↔ ∃r∃s(r:A–1-1-onto→C ∧ s:B–1-1-onto→D)) |
6 | | simprl 732 |
. . . . . . . . . . . 12
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
C ⊆
B) |
7 | | f1ofo 5294 |
. . . . . . . . . . . . . 14
⊢ (r:A–1-1-onto→C →
r:A–onto→C) |
8 | | forn 5273 |
. . . . . . . . . . . . . 14
⊢ (r:A–onto→C
→ ran r = C) |
9 | 7, 8 | syl 15 |
. . . . . . . . . . . . 13
⊢ (r:A–1-1-onto→C →
ran r = C) |
10 | 9 | ad2antrr 706 |
. . . . . . . . . . . 12
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
ran r = C) |
11 | | f1odm 5291 |
. . . . . . . . . . . . 13
⊢ (s:B–1-1-onto→D →
dom s = B) |
12 | 11 | ad2antlr 707 |
. . . . . . . . . . . 12
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
dom s = B) |
13 | 6, 10, 12 | 3sstr4d 3315 |
. . . . . . . . . . 11
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
ran r ⊆
dom s) |
14 | | dmcosseq 4974 |
. . . . . . . . . . 11
⊢ (ran r ⊆ dom s → dom (s
∘ r) =
dom r) |
15 | 13, 14 | syl 15 |
. . . . . . . . . 10
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
dom (s ∘
r) = dom r) |
16 | | f1odm 5291 |
. . . . . . . . . . 11
⊢ (r:A–1-1-onto→C →
dom r = A) |
17 | 16 | ad2antrr 706 |
. . . . . . . . . 10
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
dom r = A) |
18 | 15, 17 | eqtrd 2385 |
. . . . . . . . 9
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
dom (s ∘
r) = A) |
19 | | f1ofun 5290 |
. . . . . . . . . . . . . 14
⊢ (s:B–1-1-onto→D →
Fun s) |
20 | | f1ofun 5290 |
. . . . . . . . . . . . . 14
⊢ (r:A–1-1-onto→C →
Fun r) |
21 | | funco 5143 |
. . . . . . . . . . . . . 14
⊢ ((Fun s ∧ Fun r) → Fun (s
∘ r)) |
22 | 19, 20, 21 | syl2anr 464 |
. . . . . . . . . . . . 13
⊢ ((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) →
Fun (s ∘
r)) |
23 | | dff1o2 5292 |
. . . . . . . . . . . . . . . 16
⊢ (r:A–1-1-onto→C ↔
(r Fn A
∧ Fun ◡r ∧ ran r =
C)) |
24 | 23 | simp2bi 971 |
. . . . . . . . . . . . . . 15
⊢ (r:A–1-1-onto→C →
Fun ◡r) |
25 | | dff1o2 5292 |
. . . . . . . . . . . . . . . 16
⊢ (s:B–1-1-onto→D ↔
(s Fn B
∧ Fun ◡s ∧ ran s =
D)) |
26 | 25 | simp2bi 971 |
. . . . . . . . . . . . . . 15
⊢ (s:B–1-1-onto→D →
Fun ◡s) |
27 | | funco 5143 |
. . . . . . . . . . . . . . 15
⊢ ((Fun ◡r ∧ Fun ◡s)
→ Fun (◡r ∘ ◡s)) |
28 | 24, 26, 27 | syl2an 463 |
. . . . . . . . . . . . . 14
⊢ ((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) →
Fun (◡r ∘ ◡s)) |
29 | | cnvco 4895 |
. . . . . . . . . . . . . . 15
⊢ ◡(s ∘ r) = (◡r ∘ ◡s) |
30 | 29 | funeqi 5129 |
. . . . . . . . . . . . . 14
⊢ (Fun ◡(s ∘ r) ↔
Fun (◡r ∘ ◡s)) |
31 | 28, 30 | sylibr 203 |
. . . . . . . . . . . . 13
⊢ ((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) →
Fun ◡(s ∘ r)) |
32 | 22, 31 | jca 518 |
. . . . . . . . . . . 12
⊢ ((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) →
(Fun (s ∘ r) ∧ Fun ◡(s ∘ r))) |
33 | 32 | adantr 451 |
. . . . . . . . . . 11
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
(Fun (s ∘ r) ∧ Fun ◡(s ∘ r))) |
34 | | dff1o2 5292 |
. . . . . . . . . . . 12
⊢ ((s ∘ r):dom (s ∘ r)–1-1-onto→ran
(s ∘
r) ↔ ((s ∘ r) Fn dom (s
∘ r)
∧ Fun ◡(s ∘ r) ∧ ran (s ∘ r) = ran
(s ∘
r))) |
35 | | funfn 5137 |
. . . . . . . . . . . . . 14
⊢ (Fun (s ∘ r) ↔ (s
∘ r) Fn
dom (s ∘
r)) |
36 | 35 | anbi1i 676 |
. . . . . . . . . . . . 13
⊢ ((Fun (s ∘ r) ∧ Fun ◡(s ∘ r)) ↔
((s ∘
r) Fn dom (s ∘ r) ∧ Fun ◡(s ∘ r))) |
37 | | eqid 2353 |
. . . . . . . . . . . . . 14
⊢ ran (s ∘ r) = ran (s
∘ r) |
38 | | df-3an 936 |
. . . . . . . . . . . . . 14
⊢ (((s ∘ r) Fn dom (s
∘ r)
∧ Fun ◡(s ∘ r) ∧ ran (s ∘ r) = ran
(s ∘
r)) ↔ (((s ∘ r) Fn dom (s
∘ r)
∧ Fun ◡(s ∘ r)) ∧ ran (s ∘ r) = ran
(s ∘
r))) |
39 | 37, 38 | mpbiran2 885 |
. . . . . . . . . . . . 13
⊢ (((s ∘ r) Fn dom (s
∘ r)
∧ Fun ◡(s ∘ r) ∧ ran (s ∘ r) = ran
(s ∘
r)) ↔ ((s ∘ r) Fn dom (s
∘ r)
∧ Fun ◡(s ∘ r))) |
40 | 36, 39 | bitr4i 243 |
. . . . . . . . . . . 12
⊢ ((Fun (s ∘ r) ∧ Fun ◡(s ∘ r)) ↔
((s ∘
r) Fn dom (s ∘ r) ∧ Fun ◡(s ∘ r) ∧ ran (s ∘ r) = ran
(s ∘
r))) |
41 | 34, 40 | bitr4i 243 |
. . . . . . . . . . 11
⊢ ((s ∘ r):dom (s ∘ r)–1-1-onto→ran
(s ∘
r) ↔ (Fun (s ∘ r) ∧ Fun ◡(s ∘ r))) |
42 | 33, 41 | sylibr 203 |
. . . . . . . . . 10
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
(s ∘
r):dom (s ∘ r)–1-1-onto→ran
(s ∘
r)) |
43 | | vex 2863 |
. . . . . . . . . . . 12
⊢ s ∈
V |
44 | | vex 2863 |
. . . . . . . . . . . 12
⊢ r ∈
V |
45 | 43, 44 | coex 4751 |
. . . . . . . . . . 11
⊢ (s ∘ r) ∈
V |
46 | 45 | f1oen 6034 |
. . . . . . . . . 10
⊢ ((s ∘ r):dom (s ∘ r)–1-1-onto→ran
(s ∘
r) → dom (s ∘ r) ≈ ran (s ∘ r)) |
47 | 42, 46 | syl 15 |
. . . . . . . . 9
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
dom (s ∘
r) ≈ ran (s ∘ r)) |
48 | 18, 47 | eqbrtrrd 4662 |
. . . . . . . 8
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
A ≈ ran (s ∘ r)) |
49 | | f1ofo 5294 |
. . . . . . . . . . . 12
⊢ (s:B–1-1-onto→D →
s:B–onto→D) |
50 | | forn 5273 |
. . . . . . . . . . . 12
⊢ (s:B–onto→D
→ ran s = D) |
51 | 49, 50 | syl 15 |
. . . . . . . . . . 11
⊢ (s:B–1-1-onto→D →
ran s = D) |
52 | 43 | rnex 5108 |
. . . . . . . . . . 11
⊢ ran s ∈
V |
53 | 51, 52 | syl6eqelr 2442 |
. . . . . . . . . 10
⊢ (s:B–1-1-onto→D →
D ∈
V) |
54 | 53 | ad2antlr 707 |
. . . . . . . . 9
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
D ∈
V) |
55 | | simprr 733 |
. . . . . . . . . 10
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
D ⊆
A) |
56 | 55, 18 | sseqtr4d 3309 |
. . . . . . . . 9
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
D ⊆ dom
(s ∘
r)) |
57 | | rncoss 4973 |
. . . . . . . . . 10
⊢ ran (s ∘ r) ⊆ ran s |
58 | 51 | ad2antlr 707 |
. . . . . . . . . 10
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
ran s = D) |
59 | 57, 58 | syl5sseq 3320 |
. . . . . . . . 9
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
ran (s ∘
r) ⊆
D) |
60 | 45 | sbthlem2 6205 |
. . . . . . . . 9
⊢ (((Fun (s ∘ r) ∧ Fun ◡(s ∘ r)) ∧ (D ∈ V ∧ D ⊆ dom (s ∘ r) ∧ ran (s ∘ r) ⊆ D)) → ran (s ∘ r) ≈ D) |
61 | 33, 54, 56, 59, 60 | syl13anc 1184 |
. . . . . . . 8
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
ran (s ∘
r) ≈ D) |
62 | | entr 6039 |
. . . . . . . 8
⊢ ((A ≈ ran (s
∘ r)
∧ ran (s
∘ r)
≈ D) → A ≈ D) |
63 | 48, 61, 62 | syl2anc 642 |
. . . . . . 7
⊢ (((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) ∧ (C ⊆ B ∧ D ⊆ A)) →
A ≈ D) |
64 | 63 | ex 423 |
. . . . . 6
⊢ ((r:A–1-1-onto→C ∧ s:B–1-1-onto→D) →
((C ⊆
B ∧
D ⊆
A) → A ≈ D)) |
65 | 64 | exlimivv 1635 |
. . . . 5
⊢ (∃r∃s(r:A–1-1-onto→C ∧ s:B–1-1-onto→D) →
((C ⊆
B ∧
D ⊆
A) → A ≈ D)) |
66 | 5, 65 | sylbi 187 |
. . . 4
⊢ ((A ≈ C
∧ B
≈ D) → ((C ⊆ B ∧ D ⊆ A) → A
≈ D)) |
67 | 66 | imp 418 |
. . 3
⊢ (((A ≈ C
∧ B
≈ D) ∧ (C ⊆ B ∧ D ⊆ A)) →
A ≈ D) |
68 | 67 | an4s 799 |
. 2
⊢ (((A ≈ C
∧ C ⊆ B) ∧ (B ≈
D ∧
D ⊆
A)) → A ≈ D) |
69 | | ensymi 6037 |
. . 3
⊢ (B ≈ D
→ D ≈ B) |
70 | 69 | ad2antrl 708 |
. 2
⊢ (((A ≈ C
∧ C ⊆ B) ∧ (B ≈
D ∧
D ⊆
A)) → D ≈ B) |
71 | | entr 6039 |
. 2
⊢ ((A ≈ D
∧ D
≈ B) → A ≈ B) |
72 | 68, 70, 71 | syl2anc 642 |
1
⊢ (((A ≈ C
∧ C ⊆ B) ∧ (B ≈
D ∧
D ⊆
A)) → A ≈ B) |