Metamath Proof Explorer


Theorem mpoeq123

Description: An equality theorem for the maps-to notation. (Contributed by Mario Carneiro, 16-Dec-2013) (Revised by Mario Carneiro, 19-Mar-2015)

Ref Expression
Assertion mpoeq123 ( ( 𝐴 = 𝐷 ∧ ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) ) → ( 𝑥𝐴 , 𝑦𝐵𝐶 ) = ( 𝑥𝐷 , 𝑦𝐸𝐹 ) )

Proof

Step Hyp Ref Expression
1 nfv 𝑥 𝐴 = 𝐷
2 nfra1 𝑥𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 )
3 1 2 nfan 𝑥 ( 𝐴 = 𝐷 ∧ ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) )
4 nfv 𝑦 𝐴 = 𝐷
5 nfcv 𝑦 𝐴
6 nfv 𝑦 𝐵 = 𝐸
7 nfra1 𝑦𝑦𝐵 𝐶 = 𝐹
8 6 7 nfan 𝑦 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 )
9 5 8 nfralw 𝑦𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 )
10 4 9 nfan 𝑦 ( 𝐴 = 𝐷 ∧ ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) )
11 nfv 𝑧 ( 𝐴 = 𝐷 ∧ ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) )
12 rsp ( ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) → ( 𝑥𝐴 → ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) ) )
13 rsp ( ∀ 𝑦𝐵 𝐶 = 𝐹 → ( 𝑦𝐵𝐶 = 𝐹 ) )
14 eqeq2 ( 𝐶 = 𝐹 → ( 𝑧 = 𝐶𝑧 = 𝐹 ) )
15 13 14 syl6 ( ∀ 𝑦𝐵 𝐶 = 𝐹 → ( 𝑦𝐵 → ( 𝑧 = 𝐶𝑧 = 𝐹 ) ) )
16 15 pm5.32d ( ∀ 𝑦𝐵 𝐶 = 𝐹 → ( ( 𝑦𝐵𝑧 = 𝐶 ) ↔ ( 𝑦𝐵𝑧 = 𝐹 ) ) )
17 eleq2 ( 𝐵 = 𝐸 → ( 𝑦𝐵𝑦𝐸 ) )
18 17 anbi1d ( 𝐵 = 𝐸 → ( ( 𝑦𝐵𝑧 = 𝐹 ) ↔ ( 𝑦𝐸𝑧 = 𝐹 ) ) )
19 16 18 sylan9bbr ( ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) → ( ( 𝑦𝐵𝑧 = 𝐶 ) ↔ ( 𝑦𝐸𝑧 = 𝐹 ) ) )
20 12 19 syl6 ( ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) → ( 𝑥𝐴 → ( ( 𝑦𝐵𝑧 = 𝐶 ) ↔ ( 𝑦𝐸𝑧 = 𝐹 ) ) ) )
21 20 pm5.32d ( ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) → ( ( 𝑥𝐴 ∧ ( 𝑦𝐵𝑧 = 𝐶 ) ) ↔ ( 𝑥𝐴 ∧ ( 𝑦𝐸𝑧 = 𝐹 ) ) ) )
22 eleq2 ( 𝐴 = 𝐷 → ( 𝑥𝐴𝑥𝐷 ) )
23 22 anbi1d ( 𝐴 = 𝐷 → ( ( 𝑥𝐴 ∧ ( 𝑦𝐸𝑧 = 𝐹 ) ) ↔ ( 𝑥𝐷 ∧ ( 𝑦𝐸𝑧 = 𝐹 ) ) ) )
24 21 23 sylan9bbr ( ( 𝐴 = 𝐷 ∧ ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) ) → ( ( 𝑥𝐴 ∧ ( 𝑦𝐵𝑧 = 𝐶 ) ) ↔ ( 𝑥𝐷 ∧ ( 𝑦𝐸𝑧 = 𝐹 ) ) ) )
25 anass ( ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑧 = 𝐶 ) ↔ ( 𝑥𝐴 ∧ ( 𝑦𝐵𝑧 = 𝐶 ) ) )
26 anass ( ( ( 𝑥𝐷𝑦𝐸 ) ∧ 𝑧 = 𝐹 ) ↔ ( 𝑥𝐷 ∧ ( 𝑦𝐸𝑧 = 𝐹 ) ) )
27 24 25 26 3bitr4g ( ( 𝐴 = 𝐷 ∧ ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) ) → ( ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑧 = 𝐶 ) ↔ ( ( 𝑥𝐷𝑦𝐸 ) ∧ 𝑧 = 𝐹 ) ) )
28 3 10 11 27 oprabbid ( ( 𝐴 = 𝐷 ∧ ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) ) → { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∣ ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑧 = 𝐶 ) } = { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∣ ( ( 𝑥𝐷𝑦𝐸 ) ∧ 𝑧 = 𝐹 ) } )
29 df-mpo ( 𝑥𝐴 , 𝑦𝐵𝐶 ) = { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∣ ( ( 𝑥𝐴𝑦𝐵 ) ∧ 𝑧 = 𝐶 ) }
30 df-mpo ( 𝑥𝐷 , 𝑦𝐸𝐹 ) = { ⟨ ⟨ 𝑥 , 𝑦 ⟩ , 𝑧 ⟩ ∣ ( ( 𝑥𝐷𝑦𝐸 ) ∧ 𝑧 = 𝐹 ) }
31 28 29 30 3eqtr4g ( ( 𝐴 = 𝐷 ∧ ∀ 𝑥𝐴 ( 𝐵 = 𝐸 ∧ ∀ 𝑦𝐵 𝐶 = 𝐹 ) ) → ( 𝑥𝐴 , 𝑦𝐵𝐶 ) = ( 𝑥𝐷 , 𝑦𝐸𝐹 ) )