Metamath Proof Explorer


Theorem f1ossf1o

Description: Restricting a bijection, which is a mapping from a restricted class abstraction, to a subset is a bijection. (Contributed by AV, 7-Aug-2022)

Ref Expression
Hypotheses f1ossf1o.x 𝑋 = { 𝑤𝐴 ∣ ( 𝜓𝜒 ) }
f1ossf1o.y 𝑌 = { 𝑤𝐴𝜓 }
f1ossf1o.f 𝐹 = ( 𝑥𝑋𝐵 )
f1ossf1o.g 𝐺 = ( 𝑥𝑌𝐵 )
f1ossf1o.b ( 𝜑𝐺 : 𝑌1-1-onto𝐶 )
f1ossf1o.s ( ( 𝜑𝑥𝑌𝑦 = 𝐵 ) → ( 𝜏 ↔ [ 𝑥 / 𝑤 ] 𝜒 ) )
Assertion f1ossf1o ( 𝜑𝐹 : 𝑋1-1-onto→ { 𝑦𝐶𝜏 } )

Proof

Step Hyp Ref Expression
1 f1ossf1o.x 𝑋 = { 𝑤𝐴 ∣ ( 𝜓𝜒 ) }
2 f1ossf1o.y 𝑌 = { 𝑤𝐴𝜓 }
3 f1ossf1o.f 𝐹 = ( 𝑥𝑋𝐵 )
4 f1ossf1o.g 𝐺 = ( 𝑥𝑌𝐵 )
5 f1ossf1o.b ( 𝜑𝐺 : 𝑌1-1-onto𝐶 )
6 f1ossf1o.s ( ( 𝜑𝑥𝑌𝑦 = 𝐵 ) → ( 𝜏 ↔ [ 𝑥 / 𝑤 ] 𝜒 ) )
7 4 5 6 f1oresrab ( 𝜑 → ( 𝐺 ↾ { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } ) : { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } –1-1-onto→ { 𝑦𝐶𝜏 } )
8 simpl ( ( 𝜓𝜒 ) → 𝜓 )
9 8 a1i ( 𝑤𝐴 → ( ( 𝜓𝜒 ) → 𝜓 ) )
10 9 ss2rabi { 𝑤𝐴 ∣ ( 𝜓𝜒 ) } ⊆ { 𝑤𝐴𝜓 }
11 10 1 2 3sstr4i 𝑋𝑌
12 11 a1i ( 𝜑𝑋𝑌 )
13 12 resmptd ( 𝜑 → ( ( 𝑥𝑌𝐵 ) ↾ 𝑋 ) = ( 𝑥𝑋𝐵 ) )
14 4 a1i ( 𝜑𝐺 = ( 𝑥𝑌𝐵 ) )
15 2 rabeqi { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } = { 𝑥 ∈ { 𝑤𝐴𝜓 } ∣ [ 𝑥 / 𝑤 ] 𝜒 }
16 nfcv 𝑤 𝑥
17 nfcv 𝑤 𝐴
18 nfs1v 𝑤 [ 𝑥 / 𝑤 ] 𝜓
19 sbequ12 ( 𝑤 = 𝑥 → ( 𝜓 ↔ [ 𝑥 / 𝑤 ] 𝜓 ) )
20 16 17 18 19 elrabf ( 𝑥 ∈ { 𝑤𝐴𝜓 } ↔ ( 𝑥𝐴 ∧ [ 𝑥 / 𝑤 ] 𝜓 ) )
21 20 anbi1i ( ( 𝑥 ∈ { 𝑤𝐴𝜓 } ∧ [ 𝑥 / 𝑤 ] 𝜒 ) ↔ ( ( 𝑥𝐴 ∧ [ 𝑥 / 𝑤 ] 𝜓 ) ∧ [ 𝑥 / 𝑤 ] 𝜒 ) )
22 anass ( ( ( 𝑥𝐴 ∧ [ 𝑥 / 𝑤 ] 𝜓 ) ∧ [ 𝑥 / 𝑤 ] 𝜒 ) ↔ ( 𝑥𝐴 ∧ ( [ 𝑥 / 𝑤 ] 𝜓 ∧ [ 𝑥 / 𝑤 ] 𝜒 ) ) )
23 21 22 bitri ( ( 𝑥 ∈ { 𝑤𝐴𝜓 } ∧ [ 𝑥 / 𝑤 ] 𝜒 ) ↔ ( 𝑥𝐴 ∧ ( [ 𝑥 / 𝑤 ] 𝜓 ∧ [ 𝑥 / 𝑤 ] 𝜒 ) ) )
24 23 rabbia2 { 𝑥 ∈ { 𝑤𝐴𝜓 } ∣ [ 𝑥 / 𝑤 ] 𝜒 } = { 𝑥𝐴 ∣ ( [ 𝑥 / 𝑤 ] 𝜓 ∧ [ 𝑥 / 𝑤 ] 𝜒 ) }
25 nfcv 𝑥 𝐴
26 nfv 𝑥 ( 𝜓𝜒 )
27 nfs1v 𝑤 [ 𝑥 / 𝑤 ] 𝜒
28 18 27 nfan 𝑤 ( [ 𝑥 / 𝑤 ] 𝜓 ∧ [ 𝑥 / 𝑤 ] 𝜒 )
29 sbequ12 ( 𝑤 = 𝑥 → ( 𝜒 ↔ [ 𝑥 / 𝑤 ] 𝜒 ) )
30 19 29 anbi12d ( 𝑤 = 𝑥 → ( ( 𝜓𝜒 ) ↔ ( [ 𝑥 / 𝑤 ] 𝜓 ∧ [ 𝑥 / 𝑤 ] 𝜒 ) ) )
31 17 25 26 28 30 cbvrabw { 𝑤𝐴 ∣ ( 𝜓𝜒 ) } = { 𝑥𝐴 ∣ ( [ 𝑥 / 𝑤 ] 𝜓 ∧ [ 𝑥 / 𝑤 ] 𝜒 ) }
32 1 31 eqtr2i { 𝑥𝐴 ∣ ( [ 𝑥 / 𝑤 ] 𝜓 ∧ [ 𝑥 / 𝑤 ] 𝜒 ) } = 𝑋
33 15 24 32 3eqtri { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } = 𝑋
34 33 a1i ( 𝜑 → { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } = 𝑋 )
35 14 34 reseq12d ( 𝜑 → ( 𝐺 ↾ { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } ) = ( ( 𝑥𝑌𝐵 ) ↾ 𝑋 ) )
36 3 a1i ( 𝜑𝐹 = ( 𝑥𝑋𝐵 ) )
37 13 35 36 3eqtr4rd ( 𝜑𝐹 = ( 𝐺 ↾ { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } ) )
38 15 24 eqtr2i { 𝑥𝐴 ∣ ( [ 𝑥 / 𝑤 ] 𝜓 ∧ [ 𝑥 / 𝑤 ] 𝜒 ) } = { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 }
39 1 31 38 3eqtri 𝑋 = { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 }
40 39 a1i ( 𝜑𝑋 = { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } )
41 eqidd ( 𝜑 → { 𝑦𝐶𝜏 } = { 𝑦𝐶𝜏 } )
42 37 40 41 f1oeq123d ( 𝜑 → ( 𝐹 : 𝑋1-1-onto→ { 𝑦𝐶𝜏 } ↔ ( 𝐺 ↾ { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } ) : { 𝑥𝑌 ∣ [ 𝑥 / 𝑤 ] 𝜒 } –1-1-onto→ { 𝑦𝐶𝜏 } ) )
43 7 42 mpbird ( 𝜑𝐹 : 𝑋1-1-onto→ { 𝑦𝐶𝜏 } )