Metamath Proof Explorer


Theorem resf1ext2b

Description: Extension of an injection which is a restriction of a function. (Contributed by AV, 3-Oct-2025)

Ref Expression
Assertion resf1ext2b
|- ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( ( Fun `' ( F |` C ) /\ ( F ` X ) e/ ( F " C ) ) <-> Fun `' ( F |` ( C u. { X } ) ) ) )

Proof

Step Hyp Ref Expression
1 fssres
 |-  ( ( F : A --> B /\ C C_ A ) -> ( F |` C ) : C --> B )
2 1 3adant2
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( F |` C ) : C --> B )
3 df-f1
 |-  ( ( F |` C ) : C -1-1-> B <-> ( ( F |` C ) : C --> B /\ Fun `' ( F |` C ) ) )
4 resf1extb
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( ( ( F |` C ) : C -1-1-> B /\ ( F ` X ) e/ ( F " C ) ) <-> ( F |` ( C u. { X } ) ) : ( C u. { X } ) -1-1-> B ) )
5 df-f1
 |-  ( ( F |` ( C u. { X } ) ) : ( C u. { X } ) -1-1-> B <-> ( ( F |` ( C u. { X } ) ) : ( C u. { X } ) --> B /\ Fun `' ( F |` ( C u. { X } ) ) ) )
6 5 simprbi
 |-  ( ( F |` ( C u. { X } ) ) : ( C u. { X } ) -1-1-> B -> Fun `' ( F |` ( C u. { X } ) ) )
7 4 6 biimtrdi
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( ( ( F |` C ) : C -1-1-> B /\ ( F ` X ) e/ ( F " C ) ) -> Fun `' ( F |` ( C u. { X } ) ) ) )
8 7 expd
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( ( F |` C ) : C -1-1-> B -> ( ( F ` X ) e/ ( F " C ) -> Fun `' ( F |` ( C u. { X } ) ) ) ) )
9 3 8 biimtrrid
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( ( ( F |` C ) : C --> B /\ Fun `' ( F |` C ) ) -> ( ( F ` X ) e/ ( F " C ) -> Fun `' ( F |` ( C u. { X } ) ) ) ) )
10 2 9 mpand
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( Fun `' ( F |` C ) -> ( ( F ` X ) e/ ( F " C ) -> Fun `' ( F |` ( C u. { X } ) ) ) ) )
11 10 impd
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( ( Fun `' ( F |` C ) /\ ( F ` X ) e/ ( F " C ) ) -> Fun `' ( F |` ( C u. { X } ) ) ) )
12 simp1
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> F : A --> B )
13 simp3
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> C C_ A )
14 eldifi
 |-  ( X e. ( A \ C ) -> X e. A )
15 14 snssd
 |-  ( X e. ( A \ C ) -> { X } C_ A )
16 15 3ad2ant2
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> { X } C_ A )
17 13 16 unssd
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( C u. { X } ) C_ A )
18 12 17 fssresd
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( F |` ( C u. { X } ) ) : ( C u. { X } ) --> B )
19 3 simprbi
 |-  ( ( F |` C ) : C -1-1-> B -> Fun `' ( F |` C ) )
20 19 anim1i
 |-  ( ( ( F |` C ) : C -1-1-> B /\ ( F ` X ) e/ ( F " C ) ) -> ( Fun `' ( F |` C ) /\ ( F ` X ) e/ ( F " C ) ) )
21 4 20 biimtrrdi
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( ( F |` ( C u. { X } ) ) : ( C u. { X } ) -1-1-> B -> ( Fun `' ( F |` C ) /\ ( F ` X ) e/ ( F " C ) ) ) )
22 5 21 biimtrrid
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( ( ( F |` ( C u. { X } ) ) : ( C u. { X } ) --> B /\ Fun `' ( F |` ( C u. { X } ) ) ) -> ( Fun `' ( F |` C ) /\ ( F ` X ) e/ ( F " C ) ) ) )
23 18 22 mpand
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( Fun `' ( F |` ( C u. { X } ) ) -> ( Fun `' ( F |` C ) /\ ( F ` X ) e/ ( F " C ) ) ) )
24 11 23 impbid
 |-  ( ( F : A --> B /\ X e. ( A \ C ) /\ C C_ A ) -> ( ( Fun `' ( F |` C ) /\ ( F ` X ) e/ ( F " C ) ) <-> Fun `' ( F |` ( C u. { X } ) ) ) )