Metamath Proof Explorer


Theorem disjabrexf

Description: Rewriting a disjoint collection into a partition of its image set. (Contributed by Thierry Arnoux, 30-Dec-2016) (Revised by Thierry Arnoux, 9-Mar-2017)

Ref Expression
Hypothesis disjabrexf.1 𝑥 𝐴
Assertion disjabrexf ( Disj 𝑥𝐴 𝐵Disj 𝑦 ∈ { 𝑧 ∣ ∃ 𝑥𝐴 𝑧 = 𝐵 } 𝑦 )

Proof

Step Hyp Ref Expression
1 disjabrexf.1 𝑥 𝐴
2 nfdisj1 𝑥 Disj 𝑥𝐴 𝐵
3 nfcv 𝑥 𝑦
4 1 nfcri 𝑥 𝑖𝐴
5 nfcsb1v 𝑥 𝑖 / 𝑥 𝐵
6 5 nfcri 𝑥 𝑗 𝑖 / 𝑥 𝐵
7 4 6 nfan 𝑥 ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 )
8 7 nfab 𝑥 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) }
9 8 nfuni 𝑥 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) }
10 9 nfcsb1 𝑥 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵
11 10 nfeq1 𝑥 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝑦
12 3 11 nfralw 𝑥𝑗𝑦 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝑦
13 eqeq2 ( 𝑦 = 𝐵 → ( { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝑦 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝐵 ) )
14 13 raleqbi1dv ( 𝑦 = 𝐵 → ( ∀ 𝑗𝑦 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝑦 ↔ ∀ 𝑗𝐵 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝐵 ) )
15 vex 𝑦 ∈ V
16 15 a1i ( Disj 𝑥𝐴 𝐵𝑦 ∈ V )
17 simplll ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) ) → Disj 𝑥𝐴 𝐵 )
18 simpllr ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) ) → 𝑥𝐴 )
19 simprl ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) ) → 𝑖𝐴 )
20 simplr ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) ) → 𝑗𝐵 )
21 simprr ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) ) → 𝑗 𝑖 / 𝑥 𝐵 )
22 csbeq1a ( 𝑥 = 𝑖𝐵 = 𝑖 / 𝑥 𝐵 )
23 1 5 22 disjif2 ( ( Disj 𝑥𝐴 𝐵 ∧ ( 𝑥𝐴𝑖𝐴 ) ∧ ( 𝑗𝐵𝑗 𝑖 / 𝑥 𝐵 ) ) → 𝑥 = 𝑖 )
24 17 18 19 20 21 23 syl122anc ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) ) → 𝑥 = 𝑖 )
25 simpr ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ 𝑥 = 𝑖 ) → 𝑥 = 𝑖 )
26 simpllr ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ 𝑥 = 𝑖 ) → 𝑥𝐴 )
27 25 26 eqeltrrd ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ 𝑥 = 𝑖 ) → 𝑖𝐴 )
28 simplr ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ 𝑥 = 𝑖 ) → 𝑗𝐵 )
29 22 eleq2d ( 𝑥 = 𝑖 → ( 𝑗𝐵𝑗 𝑖 / 𝑥 𝐵 ) )
30 25 29 syl ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ 𝑥 = 𝑖 ) → ( 𝑗𝐵𝑗 𝑖 / 𝑥 𝐵 ) )
31 28 30 mpbid ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ 𝑥 = 𝑖 ) → 𝑗 𝑖 / 𝑥 𝐵 )
32 27 31 jca ( ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) ∧ 𝑥 = 𝑖 ) → ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) )
33 24 32 impbida ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) → ( ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) ↔ 𝑥 = 𝑖 ) )
34 equcom ( 𝑥 = 𝑖𝑖 = 𝑥 )
35 33 34 bitrdi ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) → ( ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) ↔ 𝑖 = 𝑥 ) )
36 35 abbidv ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) → { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } = { 𝑖𝑖 = 𝑥 } )
37 df-sn { 𝑥 } = { 𝑖𝑖 = 𝑥 }
38 36 37 eqtr4di ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) → { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } = { 𝑥 } )
39 38 unieqd ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) → { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } = { 𝑥 } )
40 vex 𝑥 ∈ V
41 40 unisn { 𝑥 } = 𝑥
42 39 41 eqtrdi ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) → { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } = 𝑥 )
43 csbeq1 ( { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } = 𝑥 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝑥 / 𝑥 𝐵 )
44 csbid 𝑥 / 𝑥 𝐵 = 𝐵
45 43 44 eqtrdi ( { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } = 𝑥 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝐵 )
46 42 45 syl ( ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) ∧ 𝑗𝐵 ) → { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝐵 )
47 46 ralrimiva ( ( Disj 𝑥𝐴 𝐵𝑥𝐴 ) → ∀ 𝑗𝐵 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝐵 )
48 2 12 14 16 47 elabreximd ( ( Disj 𝑥𝐴 𝐵𝑦 ∈ { 𝑧 ∣ ∃ 𝑥𝐴 𝑧 = 𝐵 } ) → ∀ 𝑗𝑦 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝑦 )
49 48 ralrimiva ( Disj 𝑥𝐴 𝐵 → ∀ 𝑦 ∈ { 𝑧 ∣ ∃ 𝑥𝐴 𝑧 = 𝐵 } ∀ 𝑗𝑦 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝑦 )
50 invdisj ( ∀ 𝑦 ∈ { 𝑧 ∣ ∃ 𝑥𝐴 𝑧 = 𝐵 } ∀ 𝑗𝑦 { 𝑖 ∣ ( 𝑖𝐴𝑗 𝑖 / 𝑥 𝐵 ) } / 𝑥 𝐵 = 𝑦Disj 𝑦 ∈ { 𝑧 ∣ ∃ 𝑥𝐴 𝑧 = 𝐵 } 𝑦 )
51 49 50 syl ( Disj 𝑥𝐴 𝐵Disj 𝑦 ∈ { 𝑧 ∣ ∃ 𝑥𝐴 𝑧 = 𝐵 } 𝑦 )