Metamath Proof Explorer


Theorem eqfunresadj

Description: Law for adjoining an element to restrictions of functions. (Contributed by Scott Fenton, 6-Dec-2021)

Ref Expression
Assertion eqfunresadj
|- ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( F |` ( X u. { Y } ) ) = ( G |` ( X u. { Y } ) ) )

Proof

Step Hyp Ref Expression
1 relres
 |-  Rel ( F |` ( X u. { Y } ) )
2 relres
 |-  Rel ( G |` ( X u. { Y } ) )
3 breq
 |-  ( ( F |` X ) = ( G |` X ) -> ( x ( F |` X ) y <-> x ( G |` X ) y ) )
4 3 3ad2ant2
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( x ( F |` X ) y <-> x ( G |` X ) y ) )
5 velsn
 |-  ( x e. { Y } <-> x = Y )
6 simp33
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( F ` Y ) = ( G ` Y ) )
7 6 eqeq1d
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( ( F ` Y ) = y <-> ( G ` Y ) = y ) )
8 simp1l
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> Fun F )
9 simp31
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> Y e. dom F )
10 funbrfvb
 |-  ( ( Fun F /\ Y e. dom F ) -> ( ( F ` Y ) = y <-> Y F y ) )
11 8 9 10 syl2anc
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( ( F ` Y ) = y <-> Y F y ) )
12 simp1r
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> Fun G )
13 simp32
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> Y e. dom G )
14 funbrfvb
 |-  ( ( Fun G /\ Y e. dom G ) -> ( ( G ` Y ) = y <-> Y G y ) )
15 12 13 14 syl2anc
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( ( G ` Y ) = y <-> Y G y ) )
16 7 11 15 3bitr3d
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( Y F y <-> Y G y ) )
17 breq1
 |-  ( x = Y -> ( x F y <-> Y F y ) )
18 breq1
 |-  ( x = Y -> ( x G y <-> Y G y ) )
19 17 18 bibi12d
 |-  ( x = Y -> ( ( x F y <-> x G y ) <-> ( Y F y <-> Y G y ) ) )
20 16 19 syl5ibrcom
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( x = Y -> ( x F y <-> x G y ) ) )
21 5 20 syl5bi
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( x e. { Y } -> ( x F y <-> x G y ) ) )
22 21 pm5.32d
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( ( x e. { Y } /\ x F y ) <-> ( x e. { Y } /\ x G y ) ) )
23 vex
 |-  y e. _V
24 23 brresi
 |-  ( x ( F |` { Y } ) y <-> ( x e. { Y } /\ x F y ) )
25 23 brresi
 |-  ( x ( G |` { Y } ) y <-> ( x e. { Y } /\ x G y ) )
26 22 24 25 3bitr4g
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( x ( F |` { Y } ) y <-> x ( G |` { Y } ) y ) )
27 4 26 orbi12d
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( ( x ( F |` X ) y \/ x ( F |` { Y } ) y ) <-> ( x ( G |` X ) y \/ x ( G |` { Y } ) y ) ) )
28 resundi
 |-  ( F |` ( X u. { Y } ) ) = ( ( F |` X ) u. ( F |` { Y } ) )
29 28 breqi
 |-  ( x ( F |` ( X u. { Y } ) ) y <-> x ( ( F |` X ) u. ( F |` { Y } ) ) y )
30 brun
 |-  ( x ( ( F |` X ) u. ( F |` { Y } ) ) y <-> ( x ( F |` X ) y \/ x ( F |` { Y } ) y ) )
31 29 30 bitri
 |-  ( x ( F |` ( X u. { Y } ) ) y <-> ( x ( F |` X ) y \/ x ( F |` { Y } ) y ) )
32 resundi
 |-  ( G |` ( X u. { Y } ) ) = ( ( G |` X ) u. ( G |` { Y } ) )
33 32 breqi
 |-  ( x ( G |` ( X u. { Y } ) ) y <-> x ( ( G |` X ) u. ( G |` { Y } ) ) y )
34 brun
 |-  ( x ( ( G |` X ) u. ( G |` { Y } ) ) y <-> ( x ( G |` X ) y \/ x ( G |` { Y } ) y ) )
35 33 34 bitri
 |-  ( x ( G |` ( X u. { Y } ) ) y <-> ( x ( G |` X ) y \/ x ( G |` { Y } ) y ) )
36 27 31 35 3bitr4g
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( x ( F |` ( X u. { Y } ) ) y <-> x ( G |` ( X u. { Y } ) ) y ) )
37 1 2 36 eqbrrdiv
 |-  ( ( ( Fun F /\ Fun G ) /\ ( F |` X ) = ( G |` X ) /\ ( Y e. dom F /\ Y e. dom G /\ ( F ` Y ) = ( G ` Y ) ) ) -> ( F |` ( X u. { Y } ) ) = ( G |` ( X u. { Y } ) ) )