Metamath Proof Explorer


Theorem brab2d

Description: Expressing that two sets are related by a binary relation which is expressed as a class abstraction of ordered pairs. (Contributed by Thierry Arnoux, 4-May-2025)

Ref Expression
Hypotheses brab2d.1 ( 𝜑𝑅 = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) } )
brab2d.2 ( ( 𝜑 ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) → ( 𝜓𝜒 ) )
Assertion brab2d ( 𝜑 → ( 𝐴 𝑅 𝐵 ↔ ( ( 𝐴𝑈𝐵𝑉 ) ∧ 𝜒 ) ) )

Proof

Step Hyp Ref Expression
1 brab2d.1 ( 𝜑𝑅 = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) } )
2 brab2d.2 ( ( 𝜑 ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) → ( 𝜓𝜒 ) )
3 df-br ( 𝐴 𝑅 𝐵 ↔ ⟨ 𝐴 , 𝐵 ⟩ ∈ 𝑅 )
4 1 eleq2d ( 𝜑 → ( ⟨ 𝐴 , 𝐵 ⟩ ∈ 𝑅 ↔ ⟨ 𝐴 , 𝐵 ⟩ ∈ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) } ) )
5 3 4 bitrid ( 𝜑 → ( 𝐴 𝑅 𝐵 ↔ ⟨ 𝐴 , 𝐵 ⟩ ∈ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) } ) )
6 elopab ( ⟨ 𝐴 , 𝐵 ⟩ ∈ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) } ↔ ∃ 𝑥𝑦 ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ) )
7 5 6 bitrdi ( 𝜑 → ( 𝐴 𝑅 𝐵 ↔ ∃ 𝑥𝑦 ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ) ) )
8 eqcom ( ⟨ 𝑥 , 𝑦 ⟩ = ⟨ 𝐴 , 𝐵 ⟩ ↔ ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ )
9 vex 𝑥 ∈ V
10 vex 𝑦 ∈ V
11 9 10 opth ( ⟨ 𝑥 , 𝑦 ⟩ = ⟨ 𝐴 , 𝐵 ⟩ ↔ ( 𝑥 = 𝐴𝑦 = 𝐵 ) )
12 8 11 sylbb1 ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ → ( 𝑥 = 𝐴𝑦 = 𝐵 ) )
13 eleq1 ( 𝑥 = 𝐴 → ( 𝑥𝑈𝐴𝑈 ) )
14 eleq1 ( 𝑦 = 𝐵 → ( 𝑦𝑉𝐵𝑉 ) )
15 13 14 bi2anan9 ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) → ( ( 𝑥𝑈𝑦𝑉 ) ↔ ( 𝐴𝑈𝐵𝑉 ) ) )
16 15 biimpa ( ( ( 𝑥 = 𝐴𝑦 = 𝐵 ) ∧ ( 𝑥𝑈𝑦𝑉 ) ) → ( 𝐴𝑈𝐵𝑉 ) )
17 12 16 sylan ( ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( 𝑥𝑈𝑦𝑉 ) ) → ( 𝐴𝑈𝐵𝑉 ) )
18 17 adantl ( ( 𝜑 ∧ ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( 𝑥𝑈𝑦𝑉 ) ) ) → ( 𝐴𝑈𝐵𝑉 ) )
19 18 adantrrr ( ( 𝜑 ∧ ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ) ) → ( 𝐴𝑈𝐵𝑉 ) )
20 19 ex ( 𝜑 → ( ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ) → ( 𝐴𝑈𝐵𝑉 ) ) )
21 20 exlimdvv ( 𝜑 → ( ∃ 𝑥𝑦 ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ) → ( 𝐴𝑈𝐵𝑉 ) ) )
22 21 imp ( ( 𝜑 ∧ ∃ 𝑥𝑦 ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ) ) → ( 𝐴𝑈𝐵𝑉 ) )
23 simprl ( ( 𝜑 ∧ ( ( 𝐴𝑈𝐵𝑉 ) ∧ 𝜒 ) ) → ( 𝐴𝑈𝐵𝑉 ) )
24 simprl ( ( 𝜑 ∧ ( 𝐴𝑈𝐵𝑉 ) ) → 𝐴𝑈 )
25 simprr ( ( 𝜑 ∧ ( 𝐴𝑈𝐵𝑉 ) ) → 𝐵𝑉 )
26 15 adantl ( ( 𝜑 ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) → ( ( 𝑥𝑈𝑦𝑉 ) ↔ ( 𝐴𝑈𝐵𝑉 ) ) )
27 26 2 anbi12d ( ( 𝜑 ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) → ( ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ↔ ( ( 𝐴𝑈𝐵𝑉 ) ∧ 𝜒 ) ) )
28 27 adantlr ( ( ( 𝜑 ∧ ( 𝐴𝑈𝐵𝑉 ) ) ∧ ( 𝑥 = 𝐴𝑦 = 𝐵 ) ) → ( ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ↔ ( ( 𝐴𝑈𝐵𝑉 ) ∧ 𝜒 ) ) )
29 24 25 28 copsex2dv ( ( 𝜑 ∧ ( 𝐴𝑈𝐵𝑉 ) ) → ( ∃ 𝑥𝑦 ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ) ↔ ( ( 𝐴𝑈𝐵𝑉 ) ∧ 𝜒 ) ) )
30 22 23 29 bibiad ( 𝜑 → ( ∃ 𝑥𝑦 ( ⟨ 𝐴 , 𝐵 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ ∧ ( ( 𝑥𝑈𝑦𝑉 ) ∧ 𝜓 ) ) ↔ ( ( 𝐴𝑈𝐵𝑉 ) ∧ 𝜒 ) ) )
31 7 30 bitrd ( 𝜑 → ( 𝐴 𝑅 𝐵 ↔ ( ( 𝐴𝑈𝐵𝑉 ) ∧ 𝜒 ) ) )