Metamath Proof Explorer


Theorem elabgt

Description: Membership in a class abstraction, using implicit substitution. (Closed theorem version of elabg .) (Contributed by NM, 7-Nov-2005) (Proof shortened by Andrew Salmon, 8-Jun-2011) Reduce axiom usage. (Revised by Gino Giotto, 12-Oct-2024) (Proof shortend by Wolf Lammen, 11-May-2025.)

Ref Expression
Assertion elabgt ( ( 𝐴𝐵 ∧ ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ) → ( 𝐴 ∈ { 𝑥𝜑 } ↔ 𝜓 ) )

Proof

Step Hyp Ref Expression
1 elab6g ( 𝐴𝐵 → ( 𝐴 ∈ { 𝑥𝜑 } ↔ ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) ) )
2 1 adantr ( ( 𝐴𝐵 ∧ ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ) → ( 𝐴 ∈ { 𝑥𝜑 } ↔ ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) ) )
3 elisset ( 𝐴𝐵 → ∃ 𝑥 𝑥 = 𝐴 )
4 biimp ( ( 𝜑𝜓 ) → ( 𝜑𝜓 ) )
5 4 imim3i ( ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( ( 𝑥 = 𝐴𝜑 ) → ( 𝑥 = 𝐴𝜓 ) ) )
6 5 al2imi ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) → ∀ 𝑥 ( 𝑥 = 𝐴𝜓 ) ) )
7 19.23v ( ∀ 𝑥 ( 𝑥 = 𝐴𝜓 ) ↔ ( ∃ 𝑥 𝑥 = 𝐴𝜓 ) )
8 6 7 imbitrdi ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) → ( ∃ 𝑥 𝑥 = 𝐴𝜓 ) ) )
9 3 8 syl7 ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) → ( 𝐴𝐵𝜓 ) ) )
10 9 com3r ( 𝐴𝐵 → ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) → 𝜓 ) ) )
11 10 imp ( ( 𝐴𝐵 ∧ ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ) → ( ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) → 𝜓 ) )
12 biimpr ( ( 𝜑𝜓 ) → ( 𝜓𝜑 ) )
13 12 imim2i ( ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( 𝑥 = 𝐴 → ( 𝜓𝜑 ) ) )
14 13 com23 ( ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( 𝜓 → ( 𝑥 = 𝐴𝜑 ) ) )
15 14 alimi ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ∀ 𝑥 ( 𝜓 → ( 𝑥 = 𝐴𝜑 ) ) )
16 19.21v ( ∀ 𝑥 ( 𝜓 → ( 𝑥 = 𝐴𝜑 ) ) ↔ ( 𝜓 → ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) ) )
17 15 16 sylib ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( 𝜓 → ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) ) )
18 17 adantl ( ( 𝐴𝐵 ∧ ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ) → ( 𝜓 → ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) ) )
19 11 18 impbid ( ( 𝐴𝐵 ∧ ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ) → ( ∀ 𝑥 ( 𝑥 = 𝐴𝜑 ) ↔ 𝜓 ) )
20 2 19 bitrd ( ( 𝐴𝐵 ∧ ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ) → ( 𝐴 ∈ { 𝑥𝜑 } ↔ 𝜓 ) )