Metamath Proof Explorer


Theorem fgraphopab

Description: Express a function as a subset of the Cartesian product. (Contributed by Stefan O'Rear, 25-Jan-2015)

Ref Expression
Assertion fgraphopab ( 𝐹 : 𝐴𝐵𝐹 = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎𝐴𝑏𝐵 ) ∧ ( 𝐹𝑎 ) = 𝑏 ) } )

Proof

Step Hyp Ref Expression
1 fssxp ( 𝐹 : 𝐴𝐵𝐹 ⊆ ( 𝐴 × 𝐵 ) )
2 df-ss ( 𝐹 ⊆ ( 𝐴 × 𝐵 ) ↔ ( 𝐹 ∩ ( 𝐴 × 𝐵 ) ) = 𝐹 )
3 1 2 sylib ( 𝐹 : 𝐴𝐵 → ( 𝐹 ∩ ( 𝐴 × 𝐵 ) ) = 𝐹 )
4 ffn ( 𝐹 : 𝐴𝐵𝐹 Fn 𝐴 )
5 dffn5 ( 𝐹 Fn 𝐴𝐹 = ( 𝑎𝐴 ↦ ( 𝐹𝑎 ) ) )
6 4 5 sylib ( 𝐹 : 𝐴𝐵𝐹 = ( 𝑎𝐴 ↦ ( 𝐹𝑎 ) ) )
7 6 ineq1d ( 𝐹 : 𝐴𝐵 → ( 𝐹 ∩ ( 𝐴 × 𝐵 ) ) = ( ( 𝑎𝐴 ↦ ( 𝐹𝑎 ) ) ∩ ( 𝐴 × 𝐵 ) ) )
8 3 7 eqtr3d ( 𝐹 : 𝐴𝐵𝐹 = ( ( 𝑎𝐴 ↦ ( 𝐹𝑎 ) ) ∩ ( 𝐴 × 𝐵 ) ) )
9 df-mpt ( 𝑎𝐴 ↦ ( 𝐹𝑎 ) ) = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( 𝑎𝐴𝑏 = ( 𝐹𝑎 ) ) }
10 df-xp ( 𝐴 × 𝐵 ) = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( 𝑎𝐴𝑏𝐵 ) }
11 9 10 ineq12i ( ( 𝑎𝐴 ↦ ( 𝐹𝑎 ) ) ∩ ( 𝐴 × 𝐵 ) ) = ( { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( 𝑎𝐴𝑏 = ( 𝐹𝑎 ) ) } ∩ { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( 𝑎𝐴𝑏𝐵 ) } )
12 inopab ( { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( 𝑎𝐴𝑏 = ( 𝐹𝑎 ) ) } ∩ { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( 𝑎𝐴𝑏𝐵 ) } ) = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎𝐴𝑏 = ( 𝐹𝑎 ) ) ∧ ( 𝑎𝐴𝑏𝐵 ) ) }
13 anandi ( ( 𝑎𝐴 ∧ ( 𝑏 = ( 𝐹𝑎 ) ∧ 𝑏𝐵 ) ) ↔ ( ( 𝑎𝐴𝑏 = ( 𝐹𝑎 ) ) ∧ ( 𝑎𝐴𝑏𝐵 ) ) )
14 ancom ( ( 𝑏 = ( 𝐹𝑎 ) ∧ 𝑏𝐵 ) ↔ ( 𝑏𝐵𝑏 = ( 𝐹𝑎 ) ) )
15 14 anbi2i ( ( 𝑎𝐴 ∧ ( 𝑏 = ( 𝐹𝑎 ) ∧ 𝑏𝐵 ) ) ↔ ( 𝑎𝐴 ∧ ( 𝑏𝐵𝑏 = ( 𝐹𝑎 ) ) ) )
16 anass ( ( ( 𝑎𝐴𝑏𝐵 ) ∧ 𝑏 = ( 𝐹𝑎 ) ) ↔ ( 𝑎𝐴 ∧ ( 𝑏𝐵𝑏 = ( 𝐹𝑎 ) ) ) )
17 eqcom ( 𝑏 = ( 𝐹𝑎 ) ↔ ( 𝐹𝑎 ) = 𝑏 )
18 17 anbi2i ( ( ( 𝑎𝐴𝑏𝐵 ) ∧ 𝑏 = ( 𝐹𝑎 ) ) ↔ ( ( 𝑎𝐴𝑏𝐵 ) ∧ ( 𝐹𝑎 ) = 𝑏 ) )
19 15 16 18 3bitr2i ( ( 𝑎𝐴 ∧ ( 𝑏 = ( 𝐹𝑎 ) ∧ 𝑏𝐵 ) ) ↔ ( ( 𝑎𝐴𝑏𝐵 ) ∧ ( 𝐹𝑎 ) = 𝑏 ) )
20 13 19 bitr3i ( ( ( 𝑎𝐴𝑏 = ( 𝐹𝑎 ) ) ∧ ( 𝑎𝐴𝑏𝐵 ) ) ↔ ( ( 𝑎𝐴𝑏𝐵 ) ∧ ( 𝐹𝑎 ) = 𝑏 ) )
21 20 opabbii { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎𝐴𝑏 = ( 𝐹𝑎 ) ) ∧ ( 𝑎𝐴𝑏𝐵 ) ) } = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎𝐴𝑏𝐵 ) ∧ ( 𝐹𝑎 ) = 𝑏 ) }
22 11 12 21 3eqtri ( ( 𝑎𝐴 ↦ ( 𝐹𝑎 ) ) ∩ ( 𝐴 × 𝐵 ) ) = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎𝐴𝑏𝐵 ) ∧ ( 𝐹𝑎 ) = 𝑏 ) }
23 8 22 eqtrdi ( 𝐹 : 𝐴𝐵𝐹 = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎𝐴𝑏𝐵 ) ∧ ( 𝐹𝑎 ) = 𝑏 ) } )