Metamath Proof Explorer


Theorem fveqf1o

Description: Given a bijection F , produce another bijection G which additionally maps two specified points. (Contributed by Mario Carneiro, 30-May-2015)

Ref Expression
Hypothesis fveqf1o.1
|- G = ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) )
Assertion fveqf1o
|- ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( G : A -1-1-onto-> B /\ ( G ` C ) = D ) )

Proof

Step Hyp Ref Expression
1 fveqf1o.1
 |-  G = ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) )
2 simp1
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> F : A -1-1-onto-> B )
3 f1oi
 |-  ( _I |` ( A \ { C , ( `' F ` D ) } ) ) : ( A \ { C , ( `' F ` D ) } ) -1-1-onto-> ( A \ { C , ( `' F ` D ) } )
4 3 a1i
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( _I |` ( A \ { C , ( `' F ` D ) } ) ) : ( A \ { C , ( `' F ` D ) } ) -1-1-onto-> ( A \ { C , ( `' F ` D ) } ) )
5 simp2
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> C e. A )
6 f1ocnv
 |-  ( F : A -1-1-onto-> B -> `' F : B -1-1-onto-> A )
7 f1of
 |-  ( `' F : B -1-1-onto-> A -> `' F : B --> A )
8 2 6 7 3syl
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> `' F : B --> A )
9 simp3
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> D e. B )
10 8 9 ffvelrnd
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( `' F ` D ) e. A )
11 f1oprswap
 |-  ( ( C e. A /\ ( `' F ` D ) e. A ) -> { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } : { C , ( `' F ` D ) } -1-1-onto-> { C , ( `' F ` D ) } )
12 5 10 11 syl2anc
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } : { C , ( `' F ` D ) } -1-1-onto-> { C , ( `' F ` D ) } )
13 incom
 |-  ( ( A \ { C , ( `' F ` D ) } ) i^i { C , ( `' F ` D ) } ) = ( { C , ( `' F ` D ) } i^i ( A \ { C , ( `' F ` D ) } ) )
14 disjdif
 |-  ( { C , ( `' F ` D ) } i^i ( A \ { C , ( `' F ` D ) } ) ) = (/)
15 13 14 eqtri
 |-  ( ( A \ { C , ( `' F ` D ) } ) i^i { C , ( `' F ` D ) } ) = (/)
16 15 a1i
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( A \ { C , ( `' F ` D ) } ) i^i { C , ( `' F ` D ) } ) = (/) )
17 f1oun
 |-  ( ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) : ( A \ { C , ( `' F ` D ) } ) -1-1-onto-> ( A \ { C , ( `' F ` D ) } ) /\ { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } : { C , ( `' F ` D ) } -1-1-onto-> { C , ( `' F ` D ) } ) /\ ( ( ( A \ { C , ( `' F ` D ) } ) i^i { C , ( `' F ` D ) } ) = (/) /\ ( ( A \ { C , ( `' F ` D ) } ) i^i { C , ( `' F ` D ) } ) = (/) ) ) -> ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) -1-1-onto-> ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) )
18 4 12 16 16 17 syl22anc
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) -1-1-onto-> ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) )
19 uncom
 |-  ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) = ( { C , ( `' F ` D ) } u. ( A \ { C , ( `' F ` D ) } ) )
20 5 10 prssd
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> { C , ( `' F ` D ) } C_ A )
21 undif
 |-  ( { C , ( `' F ` D ) } C_ A <-> ( { C , ( `' F ` D ) } u. ( A \ { C , ( `' F ` D ) } ) ) = A )
22 20 21 sylib
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( { C , ( `' F ` D ) } u. ( A \ { C , ( `' F ` D ) } ) ) = A )
23 19 22 syl5eq
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) = A )
24 23 f1oeq2d
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) -1-1-onto-> ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) <-> ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A -1-1-onto-> ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) ) )
25 18 24 mpbid
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A -1-1-onto-> ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) )
26 23 f1oeq3d
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A -1-1-onto-> ( ( A \ { C , ( `' F ` D ) } ) u. { C , ( `' F ` D ) } ) <-> ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A -1-1-onto-> A ) )
27 25 26 mpbid
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A -1-1-onto-> A )
28 f1oco
 |-  ( ( F : A -1-1-onto-> B /\ ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A -1-1-onto-> A ) -> ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ) : A -1-1-onto-> B )
29 2 27 28 syl2anc
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ) : A -1-1-onto-> B )
30 f1oeq1
 |-  ( G = ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ) -> ( G : A -1-1-onto-> B <-> ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ) : A -1-1-onto-> B ) )
31 1 30 ax-mp
 |-  ( G : A -1-1-onto-> B <-> ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ) : A -1-1-onto-> B )
32 29 31 sylibr
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> G : A -1-1-onto-> B )
33 1 fveq1i
 |-  ( G ` C ) = ( ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ) ` C )
34 f1of
 |-  ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A -1-1-onto-> A -> ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A --> A )
35 27 34 syl
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A --> A )
36 fvco3
 |-  ( ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) : A --> A /\ C e. A ) -> ( ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ) ` C ) = ( F ` ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ` C ) ) )
37 35 5 36 syl2anc
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( F o. ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ) ` C ) = ( F ` ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ` C ) ) )
38 33 37 syl5eq
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( G ` C ) = ( F ` ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ` C ) ) )
39 fnresi
 |-  ( _I |` ( A \ { C , ( `' F ` D ) } ) ) Fn ( A \ { C , ( `' F ` D ) } )
40 39 a1i
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( _I |` ( A \ { C , ( `' F ` D ) } ) ) Fn ( A \ { C , ( `' F ` D ) } ) )
41 f1ofn
 |-  ( { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } : { C , ( `' F ` D ) } -1-1-onto-> { C , ( `' F ` D ) } -> { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } Fn { C , ( `' F ` D ) } )
42 12 41 syl
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } Fn { C , ( `' F ` D ) } )
43 prid1g
 |-  ( C e. A -> C e. { C , ( `' F ` D ) } )
44 5 43 syl
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> C e. { C , ( `' F ` D ) } )
45 fvun2
 |-  ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) Fn ( A \ { C , ( `' F ` D ) } ) /\ { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } Fn { C , ( `' F ` D ) } /\ ( ( ( A \ { C , ( `' F ` D ) } ) i^i { C , ( `' F ` D ) } ) = (/) /\ C e. { C , ( `' F ` D ) } ) ) -> ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ` C ) = ( { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ` C ) )
46 40 42 16 44 45 syl112anc
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ` C ) = ( { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ` C ) )
47 f1ofun
 |-  ( { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } : { C , ( `' F ` D ) } -1-1-onto-> { C , ( `' F ` D ) } -> Fun { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } )
48 12 47 syl
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> Fun { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } )
49 opex
 |-  <. C , ( `' F ` D ) >. e. _V
50 49 prid1
 |-  <. C , ( `' F ` D ) >. e. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. }
51 funopfv
 |-  ( Fun { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } -> ( <. C , ( `' F ` D ) >. e. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } -> ( { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ` C ) = ( `' F ` D ) ) )
52 48 50 51 mpisyl
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ` C ) = ( `' F ` D ) )
53 46 52 eqtrd
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ` C ) = ( `' F ` D ) )
54 53 fveq2d
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( F ` ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ` C ) ) = ( F ` ( `' F ` D ) ) )
55 f1ocnvfv2
 |-  ( ( F : A -1-1-onto-> B /\ D e. B ) -> ( F ` ( `' F ` D ) ) = D )
56 2 9 55 syl2anc
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( F ` ( `' F ` D ) ) = D )
57 54 56 eqtrd
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( F ` ( ( ( _I |` ( A \ { C , ( `' F ` D ) } ) ) u. { <. C , ( `' F ` D ) >. , <. ( `' F ` D ) , C >. } ) ` C ) ) = D )
58 38 57 eqtrd
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( G ` C ) = D )
59 32 58 jca
 |-  ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) -> ( G : A -1-1-onto-> B /\ ( G ` C ) = D ) )