Metamath Proof Explorer


Theorem spc2ed

Description: Existential specialization with 2 quantifiers, using implicit substitution. (Contributed by Thierry Arnoux, 23-Aug-2017)

Ref Expression
Hypotheses spc2ed.x 𝑥 𝜒
spc2ed.y 𝑦 𝜒
spc2ed.1 ( ( 𝜑 ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) → ( 𝜓𝜒 ) )
Assertion spc2ed ( ( 𝜑 ∧ ( 𝐴𝑉𝐵𝑊 ) ) → ( 𝜒 → ∃ 𝑥𝑦 𝜓 ) )

Proof

Step Hyp Ref Expression
1 spc2ed.x 𝑥 𝜒
2 spc2ed.y 𝑦 𝜒
3 spc2ed.1 ( ( 𝜑 ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) → ( 𝜓𝜒 ) )
4 elisset ( 𝐴𝑉 → ∃ 𝑥 𝑥 = 𝐴 )
5 elisset ( 𝐵𝑊 → ∃ 𝑦 𝑦 = 𝐵 )
6 4 5 anim12i ( ( 𝐴𝑉𝐵𝑊 ) → ( ∃ 𝑥 𝑥 = 𝐴 ∧ ∃ 𝑦 𝑦 = 𝐵 ) )
7 exdistrv ( ∃ 𝑥𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) ↔ ( ∃ 𝑥 𝑥 = 𝐴 ∧ ∃ 𝑦 𝑦 = 𝐵 ) )
8 6 7 sylibr ( ( 𝐴𝑉𝐵𝑊 ) → ∃ 𝑥𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) )
9 nfv 𝑥 𝜑
10 9 1 nfan 𝑥 ( 𝜑𝜒 )
11 nfv 𝑦 𝜑
12 11 2 nfan 𝑦 ( 𝜑𝜒 )
13 anass ( ( ( 𝜒𝜑 ) ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) ↔ ( 𝜒 ∧ ( 𝜑 ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) ) )
14 ancom ( ( 𝜒𝜑 ) ↔ ( 𝜑𝜒 ) )
15 14 anbi1i ( ( ( 𝜒𝜑 ) ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) ↔ ( ( 𝜑𝜒 ) ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) )
16 13 15 bitr3i ( ( 𝜒 ∧ ( 𝜑 ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) ) ↔ ( ( 𝜑𝜒 ) ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) )
17 3 biimparc ( ( 𝜒 ∧ ( 𝜑 ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) ) → 𝜓 )
18 16 17 sylbir ( ( ( 𝜑𝜒 ) ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) → 𝜓 )
19 18 ex ( ( 𝜑𝜒 ) → ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) → 𝜓 ) )
20 12 19 eximd ( ( 𝜑𝜒 ) → ( ∃ 𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) → ∃ 𝑦 𝜓 ) )
21 10 20 eximd ( ( 𝜑𝜒 ) → ( ∃ 𝑥𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) → ∃ 𝑥𝑦 𝜓 ) )
22 21 impancom ( ( 𝜑 ∧ ∃ 𝑥𝑦 ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) → ( 𝜒 → ∃ 𝑥𝑦 𝜓 ) )
23 8 22 sylan2 ( ( 𝜑 ∧ ( 𝐴𝑉𝐵𝑊 ) ) → ( 𝜒 → ∃ 𝑥𝑦 𝜓 ) )