Metamath Proof Explorer

Theorem vtoclgft

Description: Closed theorem form of vtoclgf . (Contributed by NM, 17-Feb-2013) (Revised by Mario Carneiro, 12-Oct-2016) (Proof shortened by JJ, 11-Aug-2021) Avoid ax-13 . (Revised by Gino Giotto, 6-Oct-2023)

Ref Expression
Assertion vtoclgft ( ( ( 𝑥 𝐴 ∧ Ⅎ 𝑥 𝜓 ) ∧ ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ∧ ∀ 𝑥 𝜑 ) ∧ 𝐴𝑉 ) → 𝜓 )

Proof

Step Hyp Ref Expression
1 elisset ( 𝐴𝑉 → ∃ 𝑧 𝑧 = 𝐴 )
2 nfv 𝑧 𝑥 𝐴
3 nfnfc1 𝑥 𝑥 𝐴
4 nfcvd ( 𝑥 𝐴 𝑥 𝑧 )
5 id ( 𝑥 𝐴 𝑥 𝐴 )
6 4 5 nfeqd ( 𝑥 𝐴 → Ⅎ 𝑥 𝑧 = 𝐴 )
7 6 nfnd ( 𝑥 𝐴 → Ⅎ 𝑥 ¬ 𝑧 = 𝐴 )
8 nfvd ( 𝑥 𝐴 → Ⅎ 𝑧 ¬ 𝑥 = 𝐴 )
9 eqeq1 ( 𝑧 = 𝑥 → ( 𝑧 = 𝐴𝑥 = 𝐴 ) )
10 9 a1i ( 𝑥 𝐴 → ( 𝑧 = 𝑥 → ( 𝑧 = 𝐴𝑥 = 𝐴 ) ) )
11 notbi ( ( 𝑧 = 𝐴𝑥 = 𝐴 ) ↔ ( ¬ 𝑧 = 𝐴 ↔ ¬ 𝑥 = 𝐴 ) )
12 10 11 syl6ib ( 𝑥 𝐴 → ( 𝑧 = 𝑥 → ( ¬ 𝑧 = 𝐴 ↔ ¬ 𝑥 = 𝐴 ) ) )
13 biimp ( ( ¬ 𝑧 = 𝐴 ↔ ¬ 𝑥 = 𝐴 ) → ( ¬ 𝑧 = 𝐴 → ¬ 𝑥 = 𝐴 ) )
14 12 13 syl6 ( 𝑥 𝐴 → ( 𝑧 = 𝑥 → ( ¬ 𝑧 = 𝐴 → ¬ 𝑥 = 𝐴 ) ) )
15 2 3 7 8 14 cbv1v ( 𝑥 𝐴 → ( ∀ 𝑧 ¬ 𝑧 = 𝐴 → ∀ 𝑥 ¬ 𝑥 = 𝐴 ) )
16 equcomi ( 𝑥 = 𝑧𝑧 = 𝑥 )
17 biimpr ( ( ¬ 𝑧 = 𝐴 ↔ ¬ 𝑥 = 𝐴 ) → ( ¬ 𝑥 = 𝐴 → ¬ 𝑧 = 𝐴 ) )
18 16 12 17 syl56 ( 𝑥 𝐴 → ( 𝑥 = 𝑧 → ( ¬ 𝑥 = 𝐴 → ¬ 𝑧 = 𝐴 ) ) )
19 3 2 8 7 18 cbv1v ( 𝑥 𝐴 → ( ∀ 𝑥 ¬ 𝑥 = 𝐴 → ∀ 𝑧 ¬ 𝑧 = 𝐴 ) )
20 15 19 impbid ( 𝑥 𝐴 → ( ∀ 𝑧 ¬ 𝑧 = 𝐴 ↔ ∀ 𝑥 ¬ 𝑥 = 𝐴 ) )
21 alnex ( ∀ 𝑧 ¬ 𝑧 = 𝐴 ↔ ¬ ∃ 𝑧 𝑧 = 𝐴 )
22 alnex ( ∀ 𝑥 ¬ 𝑥 = 𝐴 ↔ ¬ ∃ 𝑥 𝑥 = 𝐴 )
23 20 21 22 3bitr3g ( 𝑥 𝐴 → ( ¬ ∃ 𝑧 𝑧 = 𝐴 ↔ ¬ ∃ 𝑥 𝑥 = 𝐴 ) )
24 23 con4bid ( 𝑥 𝐴 → ( ∃ 𝑧 𝑧 = 𝐴 ↔ ∃ 𝑥 𝑥 = 𝐴 ) )
25 1 24 syl5ib ( 𝑥 𝐴 → ( 𝐴𝑉 → ∃ 𝑥 𝑥 = 𝐴 ) )
26 25 ad2antrr ( ( ( 𝑥 𝐴 ∧ Ⅎ 𝑥 𝜓 ) ∧ ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ∧ ∀ 𝑥 𝜑 ) ) → ( 𝐴𝑉 → ∃ 𝑥 𝑥 = 𝐴 ) )
27 26 3impia ( ( ( 𝑥 𝐴 ∧ Ⅎ 𝑥 𝜓 ) ∧ ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ∧ ∀ 𝑥 𝜑 ) ∧ 𝐴𝑉 ) → ∃ 𝑥 𝑥 = 𝐴 )
28 biimp ( ( 𝜑𝜓 ) → ( 𝜑𝜓 ) )
29 28 imim2i ( ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) )
30 29 com23 ( ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) → ( 𝜑 → ( 𝑥 = 𝐴𝜓 ) ) )
31 30 imp ( ( ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ∧ 𝜑 ) → ( 𝑥 = 𝐴𝜓 ) )
32 31 alanimi ( ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ∧ ∀ 𝑥 𝜑 ) → ∀ 𝑥 ( 𝑥 = 𝐴𝜓 ) )
33 19.23t ( Ⅎ 𝑥 𝜓 → ( ∀ 𝑥 ( 𝑥 = 𝐴𝜓 ) ↔ ( ∃ 𝑥 𝑥 = 𝐴𝜓 ) ) )
34 33 adantl ( ( 𝑥 𝐴 ∧ Ⅎ 𝑥 𝜓 ) → ( ∀ 𝑥 ( 𝑥 = 𝐴𝜓 ) ↔ ( ∃ 𝑥 𝑥 = 𝐴𝜓 ) ) )
35 32 34 syl5ib ( ( 𝑥 𝐴 ∧ Ⅎ 𝑥 𝜓 ) → ( ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ∧ ∀ 𝑥 𝜑 ) → ( ∃ 𝑥 𝑥 = 𝐴𝜓 ) ) )
36 35 imp ( ( ( 𝑥 𝐴 ∧ Ⅎ 𝑥 𝜓 ) ∧ ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ∧ ∀ 𝑥 𝜑 ) ) → ( ∃ 𝑥 𝑥 = 𝐴𝜓 ) )
37 36 3adant3 ( ( ( 𝑥 𝐴 ∧ Ⅎ 𝑥 𝜓 ) ∧ ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ∧ ∀ 𝑥 𝜑 ) ∧ 𝐴𝑉 ) → ( ∃ 𝑥 𝑥 = 𝐴𝜓 ) )
38 27 37 mpd ( ( ( 𝑥 𝐴 ∧ Ⅎ 𝑥 𝜓 ) ∧ ( ∀ 𝑥 ( 𝑥 = 𝐴 → ( 𝜑𝜓 ) ) ∧ ∀ 𝑥 𝜑 ) ∧ 𝐴𝑉 ) → 𝜓 )