Metamath Proof Explorer


Theorem eqvincg

Description: A variable introduction law for class equality, closed form. (Contributed by Thierry Arnoux, 2-Mar-2017)

Ref Expression
Assertion eqvincg ( 𝐴𝑉 → ( 𝐴 = 𝐵 ↔ ∃ 𝑥 ( 𝑥 = 𝐴𝑥 = 𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 elisset ( 𝐴𝑉 → ∃ 𝑥 𝑥 = 𝐴 )
2 ax-1 ( 𝑥 = 𝐴 → ( 𝐴 = 𝐵𝑥 = 𝐴 ) )
3 eqtr ( ( 𝑥 = 𝐴𝐴 = 𝐵 ) → 𝑥 = 𝐵 )
4 3 ex ( 𝑥 = 𝐴 → ( 𝐴 = 𝐵𝑥 = 𝐵 ) )
5 2 4 jca ( 𝑥 = 𝐴 → ( ( 𝐴 = 𝐵𝑥 = 𝐴 ) ∧ ( 𝐴 = 𝐵𝑥 = 𝐵 ) ) )
6 5 eximi ( ∃ 𝑥 𝑥 = 𝐴 → ∃ 𝑥 ( ( 𝐴 = 𝐵𝑥 = 𝐴 ) ∧ ( 𝐴 = 𝐵𝑥 = 𝐵 ) ) )
7 pm3.43 ( ( ( 𝐴 = 𝐵𝑥 = 𝐴 ) ∧ ( 𝐴 = 𝐵𝑥 = 𝐵 ) ) → ( 𝐴 = 𝐵 → ( 𝑥 = 𝐴𝑥 = 𝐵 ) ) )
8 7 eximi ( ∃ 𝑥 ( ( 𝐴 = 𝐵𝑥 = 𝐴 ) ∧ ( 𝐴 = 𝐵𝑥 = 𝐵 ) ) → ∃ 𝑥 ( 𝐴 = 𝐵 → ( 𝑥 = 𝐴𝑥 = 𝐵 ) ) )
9 1 6 8 3syl ( 𝐴𝑉 → ∃ 𝑥 ( 𝐴 = 𝐵 → ( 𝑥 = 𝐴𝑥 = 𝐵 ) ) )
10 19.37v ( ∃ 𝑥 ( 𝐴 = 𝐵 → ( 𝑥 = 𝐴𝑥 = 𝐵 ) ) ↔ ( 𝐴 = 𝐵 → ∃ 𝑥 ( 𝑥 = 𝐴𝑥 = 𝐵 ) ) )
11 9 10 sylib ( 𝐴𝑉 → ( 𝐴 = 𝐵 → ∃ 𝑥 ( 𝑥 = 𝐴𝑥 = 𝐵 ) ) )
12 eqtr2 ( ( 𝑥 = 𝐴𝑥 = 𝐵 ) → 𝐴 = 𝐵 )
13 12 exlimiv ( ∃ 𝑥 ( 𝑥 = 𝐴𝑥 = 𝐵 ) → 𝐴 = 𝐵 )
14 11 13 impbid1 ( 𝐴𝑉 → ( 𝐴 = 𝐵 ↔ ∃ 𝑥 ( 𝑥 = 𝐴𝑥 = 𝐵 ) ) )