This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The inverse relation is a function, which is to say that every morphism has at most one inverse. (Contributed by Mario Carneiro, 2-Jan-2017)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | invfval.b | |- B = ( Base ` C ) |
|
| invfval.n | |- N = ( Inv ` C ) |
||
| invfval.c | |- ( ph -> C e. Cat ) |
||
| invss.x | |- ( ph -> X e. B ) |
||
| invss.y | |- ( ph -> Y e. B ) |
||
| Assertion | invfun | |- ( ph -> Fun ( X N Y ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | invfval.b | |- B = ( Base ` C ) |
|
| 2 | invfval.n | |- N = ( Inv ` C ) |
|
| 3 | invfval.c | |- ( ph -> C e. Cat ) |
|
| 4 | invss.x | |- ( ph -> X e. B ) |
|
| 5 | invss.y | |- ( ph -> Y e. B ) |
|
| 6 | eqid | |- ( Hom ` C ) = ( Hom ` C ) |
|
| 7 | 1 2 3 4 5 6 | invss | |- ( ph -> ( X N Y ) C_ ( ( X ( Hom ` C ) Y ) X. ( Y ( Hom ` C ) X ) ) ) |
| 8 | relxp | |- Rel ( ( X ( Hom ` C ) Y ) X. ( Y ( Hom ` C ) X ) ) |
|
| 9 | relss | |- ( ( X N Y ) C_ ( ( X ( Hom ` C ) Y ) X. ( Y ( Hom ` C ) X ) ) -> ( Rel ( ( X ( Hom ` C ) Y ) X. ( Y ( Hom ` C ) X ) ) -> Rel ( X N Y ) ) ) |
|
| 10 | 7 8 9 | mpisyl | |- ( ph -> Rel ( X N Y ) ) |
| 11 | eqid | |- ( Sect ` C ) = ( Sect ` C ) |
|
| 12 | 3 | adantr | |- ( ( ph /\ ( f ( X N Y ) g /\ f ( X N Y ) h ) ) -> C e. Cat ) |
| 13 | 5 | adantr | |- ( ( ph /\ ( f ( X N Y ) g /\ f ( X N Y ) h ) ) -> Y e. B ) |
| 14 | 4 | adantr | |- ( ( ph /\ ( f ( X N Y ) g /\ f ( X N Y ) h ) ) -> X e. B ) |
| 15 | 1 2 3 4 5 11 | isinv | |- ( ph -> ( f ( X N Y ) g <-> ( f ( X ( Sect ` C ) Y ) g /\ g ( Y ( Sect ` C ) X ) f ) ) ) |
| 16 | 15 | simplbda | |- ( ( ph /\ f ( X N Y ) g ) -> g ( Y ( Sect ` C ) X ) f ) |
| 17 | 16 | adantrr | |- ( ( ph /\ ( f ( X N Y ) g /\ f ( X N Y ) h ) ) -> g ( Y ( Sect ` C ) X ) f ) |
| 18 | 1 2 3 4 5 11 | isinv | |- ( ph -> ( f ( X N Y ) h <-> ( f ( X ( Sect ` C ) Y ) h /\ h ( Y ( Sect ` C ) X ) f ) ) ) |
| 19 | 18 | simprbda | |- ( ( ph /\ f ( X N Y ) h ) -> f ( X ( Sect ` C ) Y ) h ) |
| 20 | 19 | adantrl | |- ( ( ph /\ ( f ( X N Y ) g /\ f ( X N Y ) h ) ) -> f ( X ( Sect ` C ) Y ) h ) |
| 21 | 1 11 12 13 14 17 20 | sectcan | |- ( ( ph /\ ( f ( X N Y ) g /\ f ( X N Y ) h ) ) -> g = h ) |
| 22 | 21 | ex | |- ( ph -> ( ( f ( X N Y ) g /\ f ( X N Y ) h ) -> g = h ) ) |
| 23 | 22 | alrimiv | |- ( ph -> A. h ( ( f ( X N Y ) g /\ f ( X N Y ) h ) -> g = h ) ) |
| 24 | 23 | alrimivv | |- ( ph -> A. f A. g A. h ( ( f ( X N Y ) g /\ f ( X N Y ) h ) -> g = h ) ) |
| 25 | dffun2 | |- ( Fun ( X N Y ) <-> ( Rel ( X N Y ) /\ A. f A. g A. h ( ( f ( X N Y ) g /\ f ( X N Y ) h ) -> g = h ) ) ) |
|
| 26 | 10 24 25 | sylanbrc | |- ( ph -> Fun ( X N Y ) ) |