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 | ⊢ 𝐵 = ( Base ‘ 𝐶 ) | |
| invfval.n | ⊢ 𝑁 = ( Inv ‘ 𝐶 ) | ||
| invfval.c | ⊢ ( 𝜑 → 𝐶 ∈ Cat ) | ||
| invss.x | ⊢ ( 𝜑 → 𝑋 ∈ 𝐵 ) | ||
| invss.y | ⊢ ( 𝜑 → 𝑌 ∈ 𝐵 ) | ||
| Assertion | invfun | ⊢ ( 𝜑 → Fun ( 𝑋 𝑁 𝑌 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | invfval.b | ⊢ 𝐵 = ( Base ‘ 𝐶 ) | |
| 2 | invfval.n | ⊢ 𝑁 = ( Inv ‘ 𝐶 ) | |
| 3 | invfval.c | ⊢ ( 𝜑 → 𝐶 ∈ Cat ) | |
| 4 | invss.x | ⊢ ( 𝜑 → 𝑋 ∈ 𝐵 ) | |
| 5 | invss.y | ⊢ ( 𝜑 → 𝑌 ∈ 𝐵 ) | |
| 6 | eqid | ⊢ ( Hom ‘ 𝐶 ) = ( Hom ‘ 𝐶 ) | |
| 7 | 1 2 3 4 5 6 | invss | ⊢ ( 𝜑 → ( 𝑋 𝑁 𝑌 ) ⊆ ( ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) × ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) ) |
| 8 | relxp | ⊢ Rel ( ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) × ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) | |
| 9 | relss | ⊢ ( ( 𝑋 𝑁 𝑌 ) ⊆ ( ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) × ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) → ( Rel ( ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) × ( 𝑌 ( Hom ‘ 𝐶 ) 𝑋 ) ) → Rel ( 𝑋 𝑁 𝑌 ) ) ) | |
| 10 | 7 8 9 | mpisyl | ⊢ ( 𝜑 → Rel ( 𝑋 𝑁 𝑌 ) ) |
| 11 | eqid | ⊢ ( Sect ‘ 𝐶 ) = ( Sect ‘ 𝐶 ) | |
| 12 | 3 | adantr | ⊢ ( ( 𝜑 ∧ ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) ) → 𝐶 ∈ Cat ) |
| 13 | 5 | adantr | ⊢ ( ( 𝜑 ∧ ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) ) → 𝑌 ∈ 𝐵 ) |
| 14 | 4 | adantr | ⊢ ( ( 𝜑 ∧ ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) ) → 𝑋 ∈ 𝐵 ) |
| 15 | 1 2 3 4 5 11 | isinv | ⊢ ( 𝜑 → ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ↔ ( 𝑓 ( 𝑋 ( Sect ‘ 𝐶 ) 𝑌 ) 𝑔 ∧ 𝑔 ( 𝑌 ( Sect ‘ 𝐶 ) 𝑋 ) 𝑓 ) ) ) |
| 16 | 15 | simplbda | ⊢ ( ( 𝜑 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ) → 𝑔 ( 𝑌 ( Sect ‘ 𝐶 ) 𝑋 ) 𝑓 ) |
| 17 | 16 | adantrr | ⊢ ( ( 𝜑 ∧ ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) ) → 𝑔 ( 𝑌 ( Sect ‘ 𝐶 ) 𝑋 ) 𝑓 ) |
| 18 | 1 2 3 4 5 11 | isinv | ⊢ ( 𝜑 → ( 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ↔ ( 𝑓 ( 𝑋 ( Sect ‘ 𝐶 ) 𝑌 ) ℎ ∧ ℎ ( 𝑌 ( Sect ‘ 𝐶 ) 𝑋 ) 𝑓 ) ) ) |
| 19 | 18 | simprbda | ⊢ ( ( 𝜑 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) → 𝑓 ( 𝑋 ( Sect ‘ 𝐶 ) 𝑌 ) ℎ ) |
| 20 | 19 | adantrl | ⊢ ( ( 𝜑 ∧ ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) ) → 𝑓 ( 𝑋 ( Sect ‘ 𝐶 ) 𝑌 ) ℎ ) |
| 21 | 1 11 12 13 14 17 20 | sectcan | ⊢ ( ( 𝜑 ∧ ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) ) → 𝑔 = ℎ ) |
| 22 | 21 | ex | ⊢ ( 𝜑 → ( ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) → 𝑔 = ℎ ) ) |
| 23 | 22 | alrimiv | ⊢ ( 𝜑 → ∀ ℎ ( ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) → 𝑔 = ℎ ) ) |
| 24 | 23 | alrimivv | ⊢ ( 𝜑 → ∀ 𝑓 ∀ 𝑔 ∀ ℎ ( ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) → 𝑔 = ℎ ) ) |
| 25 | dffun2 | ⊢ ( Fun ( 𝑋 𝑁 𝑌 ) ↔ ( Rel ( 𝑋 𝑁 𝑌 ) ∧ ∀ 𝑓 ∀ 𝑔 ∀ ℎ ( ( 𝑓 ( 𝑋 𝑁 𝑌 ) 𝑔 ∧ 𝑓 ( 𝑋 𝑁 𝑌 ) ℎ ) → 𝑔 = ℎ ) ) ) | |
| 26 | 10 24 25 | sylanbrc | ⊢ ( 𝜑 → Fun ( 𝑋 𝑁 𝑌 ) ) |