Metamath Proof Explorer


Theorem tposf12

Description: Condition for an injective transposition. (Contributed by NM, 10-Sep-2015)

Ref Expression
Assertion tposf12
|- ( Rel A -> ( F : A -1-1-> B -> tpos F : `' A -1-1-> B ) )

Proof

Step Hyp Ref Expression
1 simpr
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> F : A -1-1-> B )
2 relcnv
 |-  Rel `' A
3 cnvf1o
 |-  ( Rel `' A -> ( x e. `' A |-> U. `' { x } ) : `' A -1-1-onto-> `' `' A )
4 f1of1
 |-  ( ( x e. `' A |-> U. `' { x } ) : `' A -1-1-onto-> `' `' A -> ( x e. `' A |-> U. `' { x } ) : `' A -1-1-> `' `' A )
5 2 3 4 mp2b
 |-  ( x e. `' A |-> U. `' { x } ) : `' A -1-1-> `' `' A
6 dfrel2
 |-  ( Rel A <-> `' `' A = A )
7 6 birani
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> `' `' A = A )
8 f1eq3
 |-  ( `' `' A = A -> ( ( x e. `' A |-> U. `' { x } ) : `' A -1-1-> `' `' A <-> ( x e. `' A |-> U. `' { x } ) : `' A -1-1-> A ) )
9 7 8 syl
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> ( ( x e. `' A |-> U. `' { x } ) : `' A -1-1-> `' `' A <-> ( x e. `' A |-> U. `' { x } ) : `' A -1-1-> A ) )
10 5 9 mpbii
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> ( x e. `' A |-> U. `' { x } ) : `' A -1-1-> A )
11 f1dm
 |-  ( F : A -1-1-> B -> dom F = A )
12 1 11 syl
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> dom F = A )
13 12 cnveqd
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> `' dom F = `' A )
14 mpteq1
 |-  ( `' dom F = `' A -> ( x e. `' dom F |-> U. `' { x } ) = ( x e. `' A |-> U. `' { x } ) )
15 f1eq1
 |-  ( ( x e. `' dom F |-> U. `' { x } ) = ( x e. `' A |-> U. `' { x } ) -> ( ( x e. `' dom F |-> U. `' { x } ) : `' A -1-1-> A <-> ( x e. `' A |-> U. `' { x } ) : `' A -1-1-> A ) )
16 13 14 15 3syl
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> ( ( x e. `' dom F |-> U. `' { x } ) : `' A -1-1-> A <-> ( x e. `' A |-> U. `' { x } ) : `' A -1-1-> A ) )
17 10 16 mpbird
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> ( x e. `' dom F |-> U. `' { x } ) : `' A -1-1-> A )
18 f1co
 |-  ( ( F : A -1-1-> B /\ ( x e. `' dom F |-> U. `' { x } ) : `' A -1-1-> A ) -> ( F o. ( x e. `' dom F |-> U. `' { x } ) ) : `' A -1-1-> B )
19 1 17 18 syl2anc
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> ( F o. ( x e. `' dom F |-> U. `' { x } ) ) : `' A -1-1-> B )
20 11 releqd
 |-  ( F : A -1-1-> B -> ( Rel dom F <-> Rel A ) )
21 20 biimparc
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> Rel dom F )
22 dftpos2
 |-  ( Rel dom F -> tpos F = ( F o. ( x e. `' dom F |-> U. `' { x } ) ) )
23 f1eq1
 |-  ( tpos F = ( F o. ( x e. `' dom F |-> U. `' { x } ) ) -> ( tpos F : `' A -1-1-> B <-> ( F o. ( x e. `' dom F |-> U. `' { x } ) ) : `' A -1-1-> B ) )
24 21 22 23 3syl
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> ( tpos F : `' A -1-1-> B <-> ( F o. ( x e. `' dom F |-> U. `' { x } ) ) : `' A -1-1-> B ) )
25 19 24 mpbird
 |-  ( ( Rel A /\ F : A -1-1-> B ) -> tpos F : `' A -1-1-> B )
26 25 ex
 |-  ( Rel A -> ( F : A -1-1-> B -> tpos F : `' A -1-1-> B ) )