Metamath Proof Explorer


Theorem reuf1odnf

Description: There is exactly one element in each of two isomorphic sets. Variant of reuf1od with no distinct variable condition for ch . (Contributed by AV, 19-Mar-2023)

Ref Expression
Hypotheses reuf1odnf.f ( 𝜑𝐹 : 𝐶1-1-onto𝐵 )
reuf1odnf.x ( ( 𝜑𝑥 = ( 𝐹𝑦 ) ) → ( 𝜓𝜒 ) )
reuf1odnf.z ( 𝑥 = 𝑧 → ( 𝜓𝜃 ) )
reuf1odnf.n 𝑥 𝜒
Assertion reuf1odnf ( 𝜑 → ( ∃! 𝑥𝐵 𝜓 ↔ ∃! 𝑦𝐶 𝜒 ) )

Proof

Step Hyp Ref Expression
1 reuf1odnf.f ( 𝜑𝐹 : 𝐶1-1-onto𝐵 )
2 reuf1odnf.x ( ( 𝜑𝑥 = ( 𝐹𝑦 ) ) → ( 𝜓𝜒 ) )
3 reuf1odnf.z ( 𝑥 = 𝑧 → ( 𝜓𝜃 ) )
4 reuf1odnf.n 𝑥 𝜒
5 f1of ( 𝐹 : 𝐶1-1-onto𝐵𝐹 : 𝐶𝐵 )
6 1 5 syl ( 𝜑𝐹 : 𝐶𝐵 )
7 6 ffvelrnda ( ( 𝜑𝑦𝐶 ) → ( 𝐹𝑦 ) ∈ 𝐵 )
8 f1ofveu ( ( 𝐹 : 𝐶1-1-onto𝐵𝑥𝐵 ) → ∃! 𝑦𝐶 ( 𝐹𝑦 ) = 𝑥 )
9 eqcom ( 𝑥 = ( 𝐹𝑦 ) ↔ ( 𝐹𝑦 ) = 𝑥 )
10 9 reubii ( ∃! 𝑦𝐶 𝑥 = ( 𝐹𝑦 ) ↔ ∃! 𝑦𝐶 ( 𝐹𝑦 ) = 𝑥 )
11 8 10 sylibr ( ( 𝐹 : 𝐶1-1-onto𝐵𝑥𝐵 ) → ∃! 𝑦𝐶 𝑥 = ( 𝐹𝑦 ) )
12 1 11 sylan ( ( 𝜑𝑥𝐵 ) → ∃! 𝑦𝐶 𝑥 = ( 𝐹𝑦 ) )
13 sbceq1a ( 𝑥 = ( 𝐹𝑦 ) → ( 𝜓[ ( 𝐹𝑦 ) / 𝑥 ] 𝜓 ) )
14 13 adantl ( ( 𝜑𝑥 = ( 𝐹𝑦 ) ) → ( 𝜓[ ( 𝐹𝑦 ) / 𝑥 ] 𝜓 ) )
15 3 cbvsbcvw ( [ ( 𝐹𝑦 ) / 𝑥 ] 𝜓[ ( 𝐹𝑦 ) / 𝑧 ] 𝜃 )
16 14 15 bitrdi ( ( 𝜑𝑥 = ( 𝐹𝑦 ) ) → ( 𝜓[ ( 𝐹𝑦 ) / 𝑧 ] 𝜃 ) )
17 7 12 16 reuxfr1d ( 𝜑 → ( ∃! 𝑥𝐵 𝜓 ↔ ∃! 𝑦𝐶 [ ( 𝐹𝑦 ) / 𝑧 ] 𝜃 ) )
18 15 a1i ( 𝜑 → ( [ ( 𝐹𝑦 ) / 𝑥 ] 𝜓[ ( 𝐹𝑦 ) / 𝑧 ] 𝜃 ) )
19 18 bicomd ( 𝜑 → ( [ ( 𝐹𝑦 ) / 𝑧 ] 𝜃[ ( 𝐹𝑦 ) / 𝑥 ] 𝜓 ) )
20 19 reubidv ( 𝜑 → ( ∃! 𝑦𝐶 [ ( 𝐹𝑦 ) / 𝑧 ] 𝜃 ↔ ∃! 𝑦𝐶 [ ( 𝐹𝑦 ) / 𝑥 ] 𝜓 ) )
21 fvexd ( 𝜑 → ( 𝐹𝑦 ) ∈ V )
22 nfv 𝑥 𝜑
23 4 a1i ( 𝜑 → Ⅎ 𝑥 𝜒 )
24 21 2 22 23 sbciedf ( 𝜑 → ( [ ( 𝐹𝑦 ) / 𝑥 ] 𝜓𝜒 ) )
25 24 reubidv ( 𝜑 → ( ∃! 𝑦𝐶 [ ( 𝐹𝑦 ) / 𝑥 ] 𝜓 ↔ ∃! 𝑦𝐶 𝜒 ) )
26 17 20 25 3bitrd ( 𝜑 → ( ∃! 𝑥𝐵 𝜓 ↔ ∃! 𝑦𝐶 𝜒 ) )