Metamath Proof Explorer


Theorem euelss

Description: Transfer uniqueness of an element to a smaller subclass. (Contributed by AV, 14-Apr-2020)

Ref Expression
Assertion euelss ( ( 𝐴𝐵 ∧ ∃ 𝑥 𝑥𝐴 ∧ ∃! 𝑥 𝑥𝐵 ) → ∃! 𝑥 𝑥𝐴 )

Proof

Step Hyp Ref Expression
1 id ( 𝐴𝐵𝐴𝐵 )
2 df-rex ( ∃ 𝑥𝐴 ⊤ ↔ ∃ 𝑥 ( 𝑥𝐴 ∧ ⊤ ) )
3 ancom ( ( 𝑥𝐴 ∧ ⊤ ) ↔ ( ⊤ ∧ 𝑥𝐴 ) )
4 truan ( ( ⊤ ∧ 𝑥𝐴 ) ↔ 𝑥𝐴 )
5 3 4 bitri ( ( 𝑥𝐴 ∧ ⊤ ) ↔ 𝑥𝐴 )
6 5 exbii ( ∃ 𝑥 ( 𝑥𝐴 ∧ ⊤ ) ↔ ∃ 𝑥 𝑥𝐴 )
7 2 6 sylbbr ( ∃ 𝑥 𝑥𝐴 → ∃ 𝑥𝐴 ⊤ )
8 df-reu ( ∃! 𝑥𝐵 ⊤ ↔ ∃! 𝑥 ( 𝑥𝐵 ∧ ⊤ ) )
9 ancom ( ( 𝑥𝐵 ∧ ⊤ ) ↔ ( ⊤ ∧ 𝑥𝐵 ) )
10 truan ( ( ⊤ ∧ 𝑥𝐵 ) ↔ 𝑥𝐵 )
11 9 10 bitri ( ( 𝑥𝐵 ∧ ⊤ ) ↔ 𝑥𝐵 )
12 11 eubii ( ∃! 𝑥 ( 𝑥𝐵 ∧ ⊤ ) ↔ ∃! 𝑥 𝑥𝐵 )
13 8 12 sylbbr ( ∃! 𝑥 𝑥𝐵 → ∃! 𝑥𝐵 ⊤ )
14 reuss ( ( 𝐴𝐵 ∧ ∃ 𝑥𝐴 ⊤ ∧ ∃! 𝑥𝐵 ⊤ ) → ∃! 𝑥𝐴 ⊤ )
15 1 7 13 14 syl3an ( ( 𝐴𝐵 ∧ ∃ 𝑥 𝑥𝐴 ∧ ∃! 𝑥 𝑥𝐵 ) → ∃! 𝑥𝐴 ⊤ )
16 df-reu ( ∃! 𝑥𝐴 ⊤ ↔ ∃! 𝑥 ( 𝑥𝐴 ∧ ⊤ ) )
17 15 16 sylib ( ( 𝐴𝐵 ∧ ∃ 𝑥 𝑥𝐴 ∧ ∃! 𝑥 𝑥𝐵 ) → ∃! 𝑥 ( 𝑥𝐴 ∧ ⊤ ) )
18 ancom ( ( ⊤ ∧ 𝑥𝐴 ) ↔ ( 𝑥𝐴 ∧ ⊤ ) )
19 4 18 bitr3i ( 𝑥𝐴 ↔ ( 𝑥𝐴 ∧ ⊤ ) )
20 19 eubii ( ∃! 𝑥 𝑥𝐴 ↔ ∃! 𝑥 ( 𝑥𝐴 ∧ ⊤ ) )
21 17 20 sylibr ( ( 𝐴𝐵 ∧ ∃ 𝑥 𝑥𝐴 ∧ ∃! 𝑥 𝑥𝐵 ) → ∃! 𝑥 𝑥𝐴 )