Metamath Proof Explorer


Theorem f1oresf1o2

Description: Build a bijection by restricting the domain of a bijection. (Contributed by AV, 31-Jul-2022)

Ref Expression
Hypotheses f1oresf1o2.1 ( 𝜑𝐹 : 𝐴1-1-onto𝐵 )
f1oresf1o2.2 ( 𝜑𝐷𝐴 )
f1oresf1o2.3 ( ( 𝜑𝑦 = ( 𝐹𝑥 ) ) → ( 𝑥𝐷𝜒 ) )
Assertion f1oresf1o2 ( 𝜑 → ( 𝐹𝐷 ) : 𝐷1-1-onto→ { 𝑦𝐵𝜒 } )

Proof

Step Hyp Ref Expression
1 f1oresf1o2.1 ( 𝜑𝐹 : 𝐴1-1-onto𝐵 )
2 f1oresf1o2.2 ( 𝜑𝐷𝐴 )
3 f1oresf1o2.3 ( ( 𝜑𝑦 = ( 𝐹𝑥 ) ) → ( 𝑥𝐷𝜒 ) )
4 f1of ( 𝐹 : 𝐴1-1-onto𝐵𝐹 : 𝐴𝐵 )
5 1 4 syl ( 𝜑𝐹 : 𝐴𝐵 )
6 5 adantr ( ( 𝜑𝑥𝐷 ) → 𝐹 : 𝐴𝐵 )
7 2 sselda ( ( 𝜑𝑥𝐷 ) → 𝑥𝐴 )
8 6 7 jca ( ( 𝜑𝑥𝐷 ) → ( 𝐹 : 𝐴𝐵𝑥𝐴 ) )
9 8 3adant3 ( ( 𝜑𝑥𝐷 ∧ ( 𝐹𝑥 ) = 𝑦 ) → ( 𝐹 : 𝐴𝐵𝑥𝐴 ) )
10 ffvelrn ( ( 𝐹 : 𝐴𝐵𝑥𝐴 ) → ( 𝐹𝑥 ) ∈ 𝐵 )
11 9 10 syl ( ( 𝜑𝑥𝐷 ∧ ( 𝐹𝑥 ) = 𝑦 ) → ( 𝐹𝑥 ) ∈ 𝐵 )
12 eleq1 ( ( 𝐹𝑥 ) = 𝑦 → ( ( 𝐹𝑥 ) ∈ 𝐵𝑦𝐵 ) )
13 12 3ad2ant3 ( ( 𝜑𝑥𝐷 ∧ ( 𝐹𝑥 ) = 𝑦 ) → ( ( 𝐹𝑥 ) ∈ 𝐵𝑦𝐵 ) )
14 11 13 mpbid ( ( 𝜑𝑥𝐷 ∧ ( 𝐹𝑥 ) = 𝑦 ) → 𝑦𝐵 )
15 eqcom ( ( 𝐹𝑥 ) = 𝑦𝑦 = ( 𝐹𝑥 ) )
16 3 biimpd ( ( 𝜑𝑦 = ( 𝐹𝑥 ) ) → ( 𝑥𝐷𝜒 ) )
17 16 ex ( 𝜑 → ( 𝑦 = ( 𝐹𝑥 ) → ( 𝑥𝐷𝜒 ) ) )
18 15 17 syl5bi ( 𝜑 → ( ( 𝐹𝑥 ) = 𝑦 → ( 𝑥𝐷𝜒 ) ) )
19 18 com23 ( 𝜑 → ( 𝑥𝐷 → ( ( 𝐹𝑥 ) = 𝑦𝜒 ) ) )
20 19 3imp ( ( 𝜑𝑥𝐷 ∧ ( 𝐹𝑥 ) = 𝑦 ) → 𝜒 )
21 14 20 jca ( ( 𝜑𝑥𝐷 ∧ ( 𝐹𝑥 ) = 𝑦 ) → ( 𝑦𝐵𝜒 ) )
22 21 rexlimdv3a ( 𝜑 → ( ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 → ( 𝑦𝐵𝜒 ) ) )
23 f1ofo ( 𝐹 : 𝐴1-1-onto𝐵𝐹 : 𝐴onto𝐵 )
24 1 23 syl ( 𝜑𝐹 : 𝐴onto𝐵 )
25 foelrni ( ( 𝐹 : 𝐴onto𝐵𝑦𝐵 ) → ∃ 𝑥𝐴 ( 𝐹𝑥 ) = 𝑦 )
26 24 25 sylan ( ( 𝜑𝑦𝐵 ) → ∃ 𝑥𝐴 ( 𝐹𝑥 ) = 𝑦 )
27 26 ex ( 𝜑 → ( 𝑦𝐵 → ∃ 𝑥𝐴 ( 𝐹𝑥 ) = 𝑦 ) )
28 nfv 𝑥 𝜑
29 nfv 𝑥 𝜒
30 nfre1 𝑥𝑥𝐷 ( 𝐹𝑥 ) = 𝑦
31 29 30 nfim 𝑥 ( 𝜒 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 )
32 rspe ( ( 𝑥𝐷 ∧ ( 𝐹𝑥 ) = 𝑦 ) → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 )
33 32 expcom ( ( 𝐹𝑥 ) = 𝑦 → ( 𝑥𝐷 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) )
34 33 eqcoms ( 𝑦 = ( 𝐹𝑥 ) → ( 𝑥𝐷 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) )
35 34 adantl ( ( 𝜑𝑦 = ( 𝐹𝑥 ) ) → ( 𝑥𝐷 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) )
36 3 35 sylbird ( ( 𝜑𝑦 = ( 𝐹𝑥 ) ) → ( 𝜒 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) )
37 36 ex ( 𝜑 → ( 𝑦 = ( 𝐹𝑥 ) → ( 𝜒 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) ) )
38 37 adantr ( ( 𝜑𝑥𝐴 ) → ( 𝑦 = ( 𝐹𝑥 ) → ( 𝜒 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) ) )
39 15 38 syl5bi ( ( 𝜑𝑥𝐴 ) → ( ( 𝐹𝑥 ) = 𝑦 → ( 𝜒 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) ) )
40 39 ex ( 𝜑 → ( 𝑥𝐴 → ( ( 𝐹𝑥 ) = 𝑦 → ( 𝜒 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) ) ) )
41 28 31 40 rexlimd ( 𝜑 → ( ∃ 𝑥𝐴 ( 𝐹𝑥 ) = 𝑦 → ( 𝜒 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) ) )
42 27 41 syld ( 𝜑 → ( 𝑦𝐵 → ( 𝜒 → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) ) )
43 42 impd ( 𝜑 → ( ( 𝑦𝐵𝜒 ) → ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ) )
44 22 43 impbid ( 𝜑 → ( ∃ 𝑥𝐷 ( 𝐹𝑥 ) = 𝑦 ↔ ( 𝑦𝐵𝜒 ) ) )
45 1 2 44 f1oresf1o ( 𝜑 → ( 𝐹𝐷 ) : 𝐷1-1-onto→ { 𝑦𝐵𝜒 } )