This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Conditions for a length 2 string to be a one-to-one function. (Contributed by Thierry Arnoux, 19-Sep-2023)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | s2f1.i | ⊢ ( 𝜑 → 𝐼 ∈ 𝐷 ) | |
| s2f1.j | ⊢ ( 𝜑 → 𝐽 ∈ 𝐷 ) | ||
| s2f1.1 | ⊢ ( 𝜑 → 𝐼 ≠ 𝐽 ) | ||
| Assertion | s2f1 | ⊢ ( 𝜑 → 〈“ 𝐼 𝐽 ”〉 : dom 〈“ 𝐼 𝐽 ”〉 –1-1→ 𝐷 ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | s2f1.i | ⊢ ( 𝜑 → 𝐼 ∈ 𝐷 ) | |
| 2 | s2f1.j | ⊢ ( 𝜑 → 𝐽 ∈ 𝐷 ) | |
| 3 | s2f1.1 | ⊢ ( 𝜑 → 𝐼 ≠ 𝐽 ) | |
| 4 | 0nn0 | ⊢ 0 ∈ ℕ0 | |
| 5 | 4 | a1i | ⊢ ( 𝜑 → 0 ∈ ℕ0 ) |
| 6 | 1nn0 | ⊢ 1 ∈ ℕ0 | |
| 7 | 6 | a1i | ⊢ ( 𝜑 → 1 ∈ ℕ0 ) |
| 8 | 0ne1 | ⊢ 0 ≠ 1 | |
| 9 | 8 | a1i | ⊢ ( 𝜑 → 0 ≠ 1 ) |
| 10 | f1oprg | ⊢ ( ( ( 0 ∈ ℕ0 ∧ 𝐼 ∈ 𝐷 ) ∧ ( 1 ∈ ℕ0 ∧ 𝐽 ∈ 𝐷 ) ) → ( ( 0 ≠ 1 ∧ 𝐼 ≠ 𝐽 ) → { 〈 0 , 𝐼 〉 , 〈 1 , 𝐽 〉 } : { 0 , 1 } –1-1-onto→ { 𝐼 , 𝐽 } ) ) | |
| 11 | 10 | 3impia | ⊢ ( ( ( 0 ∈ ℕ0 ∧ 𝐼 ∈ 𝐷 ) ∧ ( 1 ∈ ℕ0 ∧ 𝐽 ∈ 𝐷 ) ∧ ( 0 ≠ 1 ∧ 𝐼 ≠ 𝐽 ) ) → { 〈 0 , 𝐼 〉 , 〈 1 , 𝐽 〉 } : { 0 , 1 } –1-1-onto→ { 𝐼 , 𝐽 } ) |
| 12 | 5 1 7 2 9 3 11 | syl222anc | ⊢ ( 𝜑 → { 〈 0 , 𝐼 〉 , 〈 1 , 𝐽 〉 } : { 0 , 1 } –1-1-onto→ { 𝐼 , 𝐽 } ) |
| 13 | s2prop | ⊢ ( ( 𝐼 ∈ 𝐷 ∧ 𝐽 ∈ 𝐷 ) → 〈“ 𝐼 𝐽 ”〉 = { 〈 0 , 𝐼 〉 , 〈 1 , 𝐽 〉 } ) | |
| 14 | 1 2 13 | syl2anc | ⊢ ( 𝜑 → 〈“ 𝐼 𝐽 ”〉 = { 〈 0 , 𝐼 〉 , 〈 1 , 𝐽 〉 } ) |
| 15 | 14 | f1oeq1d | ⊢ ( 𝜑 → ( 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1-onto→ { 𝐼 , 𝐽 } ↔ { 〈 0 , 𝐼 〉 , 〈 1 , 𝐽 〉 } : { 0 , 1 } –1-1-onto→ { 𝐼 , 𝐽 } ) ) |
| 16 | 12 15 | mpbird | ⊢ ( 𝜑 → 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1-onto→ { 𝐼 , 𝐽 } ) |
| 17 | f1of1 | ⊢ ( 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1-onto→ { 𝐼 , 𝐽 } → 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1→ { 𝐼 , 𝐽 } ) | |
| 18 | 16 17 | syl | ⊢ ( 𝜑 → 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1→ { 𝐼 , 𝐽 } ) |
| 19 | 1 2 | prssd | ⊢ ( 𝜑 → { 𝐼 , 𝐽 } ⊆ 𝐷 ) |
| 20 | f1ss | ⊢ ( ( 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1→ { 𝐼 , 𝐽 } ∧ { 𝐼 , 𝐽 } ⊆ 𝐷 ) → 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1→ 𝐷 ) | |
| 21 | 18 19 20 | syl2anc | ⊢ ( 𝜑 → 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1→ 𝐷 ) |
| 22 | f1dm | ⊢ ( 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1→ 𝐷 → dom 〈“ 𝐼 𝐽 ”〉 = { 0 , 1 } ) | |
| 23 | 21 22 | syl | ⊢ ( 𝜑 → dom 〈“ 𝐼 𝐽 ”〉 = { 0 , 1 } ) |
| 24 | f1eq2 | ⊢ ( dom 〈“ 𝐼 𝐽 ”〉 = { 0 , 1 } → ( 〈“ 𝐼 𝐽 ”〉 : dom 〈“ 𝐼 𝐽 ”〉 –1-1→ 𝐷 ↔ 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1→ 𝐷 ) ) | |
| 25 | 23 24 | syl | ⊢ ( 𝜑 → ( 〈“ 𝐼 𝐽 ”〉 : dom 〈“ 𝐼 𝐽 ”〉 –1-1→ 𝐷 ↔ 〈“ 𝐼 𝐽 ”〉 : { 0 , 1 } –1-1→ 𝐷 ) ) |
| 26 | 21 25 | mpbird | ⊢ ( 𝜑 → 〈“ 𝐼 𝐽 ”〉 : dom 〈“ 𝐼 𝐽 ”〉 –1-1→ 𝐷 ) |