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 ⊢ ( 𝜑 → ( 𝐴 𝑅 𝐵 ↔ ( ( 𝐴 ∈ 𝑈 ∧ 𝐵 ∈ 𝑉 ) ∧ 𝜒 ) ) )