Metamath Proof Explorer


Theorem domssex2

Description: A corollary of disjenex . If F is an injection from A to B then there is a right inverse g of F from B to a superset of A . (Contributed by Mario Carneiro, 7-Feb-2015) (Revised by Mario Carneiro, 24-Jun-2015)

Ref Expression
Assertion domssex2 ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ∃ 𝑔 ( 𝑔 : 𝐵1-1→ V ∧ ( 𝑔𝐹 ) = ( I ↾ 𝐴 ) ) )

Proof

Step Hyp Ref Expression
1 f1f ( 𝐹 : 𝐴1-1𝐵𝐹 : 𝐴𝐵 )
2 fex2 ( ( 𝐹 : 𝐴𝐵𝐴𝑉𝐵𝑊 ) → 𝐹 ∈ V )
3 1 2 syl3an1 ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → 𝐹 ∈ V )
4 f1stres ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) : ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ⟶ ( 𝐵 ∖ ran 𝐹 )
5 difexg ( 𝐵𝑊 → ( 𝐵 ∖ ran 𝐹 ) ∈ V )
6 5 3ad2ant3 ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( 𝐵 ∖ ran 𝐹 ) ∈ V )
7 snex { 𝒫 ran 𝐴 } ∈ V
8 xpexg ( ( ( 𝐵 ∖ ran 𝐹 ) ∈ V ∧ { 𝒫 ran 𝐴 } ∈ V ) → ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ∈ V )
9 6 7 8 sylancl ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ∈ V )
10 fex2 ( ( ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) : ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ⟶ ( 𝐵 ∖ ran 𝐹 ) ∧ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ∈ V ∧ ( 𝐵 ∖ ran 𝐹 ) ∈ V ) → ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ∈ V )
11 4 9 6 10 mp3an2i ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ∈ V )
12 unexg ( ( 𝐹 ∈ V ∧ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ∈ V ) → ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∈ V )
13 3 11 12 syl2anc ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∈ V )
14 cnvexg ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∈ V → ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∈ V )
15 13 14 syl ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∈ V )
16 eqid ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) = ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) )
17 16 domss2 ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1-onto→ ran ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∧ 𝐴 ⊆ ran ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∧ ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∘ 𝐹 ) = ( I ↾ 𝐴 ) ) )
18 17 simp1d ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1-onto→ ran ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) )
19 f1of1 ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1-onto→ ran ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) → ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1→ ran ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) )
20 18 19 syl ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1→ ran ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) )
21 ssv ran ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ⊆ V
22 f1ss ( ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1→ ran ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∧ ran ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ⊆ V ) → ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1→ V )
23 20 21 22 sylancl ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1→ V )
24 17 simp3d ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∘ 𝐹 ) = ( I ↾ 𝐴 ) )
25 23 24 jca ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1→ V ∧ ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∘ 𝐹 ) = ( I ↾ 𝐴 ) ) )
26 f1eq1 ( 𝑔 = ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) → ( 𝑔 : 𝐵1-1→ V ↔ ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1→ V ) )
27 coeq1 ( 𝑔 = ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) → ( 𝑔𝐹 ) = ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∘ 𝐹 ) )
28 27 eqeq1d ( 𝑔 = ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) → ( ( 𝑔𝐹 ) = ( I ↾ 𝐴 ) ↔ ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∘ 𝐹 ) = ( I ↾ 𝐴 ) ) )
29 26 28 anbi12d ( 𝑔 = ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) → ( ( 𝑔 : 𝐵1-1→ V ∧ ( 𝑔𝐹 ) = ( I ↾ 𝐴 ) ) ↔ ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) : 𝐵1-1→ V ∧ ( ( 𝐹 ∪ ( 1st ↾ ( ( 𝐵 ∖ ran 𝐹 ) × { 𝒫 ran 𝐴 } ) ) ) ∘ 𝐹 ) = ( I ↾ 𝐴 ) ) ) )
30 15 25 29 spcedv ( ( 𝐹 : 𝐴1-1𝐵𝐴𝑉𝐵𝑊 ) → ∃ 𝑔 ( 𝑔 : 𝐵1-1→ V ∧ ( 𝑔𝐹 ) = ( I ↾ 𝐴 ) ) )