Metamath Proof Explorer


Theorem reusv2

Description: Two ways to express single-valuedness of a class expression C ( y ) that is constant for those y e. B such that ph . The first antecedent ensures that the constant value belongs to the existential uniqueness domain A , and the second ensures that C ( y ) is evaluated for at least one y . (Contributed by NM, 4-Jan-2013) (Proof shortened by Mario Carneiro, 19-Nov-2016)

Ref Expression
Assertion reusv2 yBφCAyBφ∃!xAyBφx=C∃!xAyBφx=C

Proof

Step Hyp Ref Expression
1 nfrab1 _yyB|φ
2 nfcv _zyB|φ
3 nfv zCA
4 nfcsb1v _yz/yC
5 4 nfel1 yz/yCA
6 csbeq1a y=zC=z/yC
7 6 eleq1d y=zCAz/yCA
8 1 2 3 5 7 cbvralfw yyB|φCAzyB|φz/yCA
9 rabid yyB|φyBφ
10 9 imbi1i yyB|φCAyBφCA
11 impexp yBφCAyBφCA
12 10 11 bitri yyB|φCAyBφCA
13 12 ralbii2 yyB|φCAyBφCA
14 8 13 bitr3i zyB|φz/yCAyBφCA
15 rabn0 yB|φyBφ
16 reusv2lem5 zyB|φz/yCAyB|φ∃!xAzyB|φx=z/yC∃!xAzyB|φx=z/yC
17 nfv zx=C
18 4 nfeq2 yx=z/yC
19 6 eqeq2d y=zx=Cx=z/yC
20 1 2 17 18 19 cbvrexfw yyB|φx=CzyB|φx=z/yC
21 9 anbi1i yyB|φx=CyBφx=C
22 anass yBφx=CyBφx=C
23 21 22 bitri yyB|φx=CyBφx=C
24 23 rexbii2 yyB|φx=CyBφx=C
25 20 24 bitr3i zyB|φx=z/yCyBφx=C
26 25 reubii ∃!xAzyB|φx=z/yC∃!xAyBφx=C
27 1 2 17 18 19 cbvralfw yyB|φx=CzyB|φx=z/yC
28 9 imbi1i yyB|φx=CyBφx=C
29 impexp yBφx=CyBφx=C
30 28 29 bitri yyB|φx=CyBφx=C
31 30 ralbii2 yyB|φx=CyBφx=C
32 27 31 bitr3i zyB|φx=z/yCyBφx=C
33 32 reubii ∃!xAzyB|φx=z/yC∃!xAyBφx=C
34 16 26 33 3bitr3g zyB|φz/yCAyB|φ∃!xAyBφx=C∃!xAyBφx=C
35 14 15 34 syl2anbr yBφCAyBφ∃!xAyBφx=C∃!xAyBφx=C