This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The function F is the unique function defined by FA = B , provided that the well-definedness condition holds. (Contributed by Mario Carneiro, 23-Dec-2016)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | flift.1 | ⊢ 𝐹 = ran ( 𝑥 ∈ 𝑋 ↦ 〈 𝐴 , 𝐵 〉 ) | |
| flift.2 | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ 𝑋 ) → 𝐴 ∈ 𝑅 ) | ||
| flift.3 | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ 𝑋 ) → 𝐵 ∈ 𝑆 ) | ||
| fliftfun.4 | ⊢ ( 𝑥 = 𝑦 → 𝐴 = 𝐶 ) | ||
| fliftfun.5 | ⊢ ( 𝑥 = 𝑦 → 𝐵 = 𝐷 ) | ||
| Assertion | fliftfun | ⊢ ( 𝜑 → ( Fun 𝐹 ↔ ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | flift.1 | ⊢ 𝐹 = ran ( 𝑥 ∈ 𝑋 ↦ 〈 𝐴 , 𝐵 〉 ) | |
| 2 | flift.2 | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ 𝑋 ) → 𝐴 ∈ 𝑅 ) | |
| 3 | flift.3 | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ 𝑋 ) → 𝐵 ∈ 𝑆 ) | |
| 4 | fliftfun.4 | ⊢ ( 𝑥 = 𝑦 → 𝐴 = 𝐶 ) | |
| 5 | fliftfun.5 | ⊢ ( 𝑥 = 𝑦 → 𝐵 = 𝐷 ) | |
| 6 | nfv | ⊢ Ⅎ 𝑥 𝜑 | |
| 7 | nfmpt1 | ⊢ Ⅎ 𝑥 ( 𝑥 ∈ 𝑋 ↦ 〈 𝐴 , 𝐵 〉 ) | |
| 8 | 7 | nfrn | ⊢ Ⅎ 𝑥 ran ( 𝑥 ∈ 𝑋 ↦ 〈 𝐴 , 𝐵 〉 ) |
| 9 | 1 8 | nfcxfr | ⊢ Ⅎ 𝑥 𝐹 |
| 10 | 9 | nffun | ⊢ Ⅎ 𝑥 Fun 𝐹 |
| 11 | fveq2 | ⊢ ( 𝐴 = 𝐶 → ( 𝐹 ‘ 𝐴 ) = ( 𝐹 ‘ 𝐶 ) ) | |
| 12 | simplr | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → Fun 𝐹 ) | |
| 13 | 1 2 3 | fliftel1 | ⊢ ( ( 𝜑 ∧ 𝑥 ∈ 𝑋 ) → 𝐴 𝐹 𝐵 ) |
| 14 | 13 | ad2ant2r | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → 𝐴 𝐹 𝐵 ) |
| 15 | funbrfv | ⊢ ( Fun 𝐹 → ( 𝐴 𝐹 𝐵 → ( 𝐹 ‘ 𝐴 ) = 𝐵 ) ) | |
| 16 | 12 14 15 | sylc | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → ( 𝐹 ‘ 𝐴 ) = 𝐵 ) |
| 17 | simprr | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → 𝑦 ∈ 𝑋 ) | |
| 18 | eqidd | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → 𝐶 = 𝐶 ) | |
| 19 | eqidd | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → 𝐷 = 𝐷 ) | |
| 20 | 4 | eqeq2d | ⊢ ( 𝑥 = 𝑦 → ( 𝐶 = 𝐴 ↔ 𝐶 = 𝐶 ) ) |
| 21 | 5 | eqeq2d | ⊢ ( 𝑥 = 𝑦 → ( 𝐷 = 𝐵 ↔ 𝐷 = 𝐷 ) ) |
| 22 | 20 21 | anbi12d | ⊢ ( 𝑥 = 𝑦 → ( ( 𝐶 = 𝐴 ∧ 𝐷 = 𝐵 ) ↔ ( 𝐶 = 𝐶 ∧ 𝐷 = 𝐷 ) ) ) |
| 23 | 22 | rspcev | ⊢ ( ( 𝑦 ∈ 𝑋 ∧ ( 𝐶 = 𝐶 ∧ 𝐷 = 𝐷 ) ) → ∃ 𝑥 ∈ 𝑋 ( 𝐶 = 𝐴 ∧ 𝐷 = 𝐵 ) ) |
| 24 | 17 18 19 23 | syl12anc | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → ∃ 𝑥 ∈ 𝑋 ( 𝐶 = 𝐴 ∧ 𝐷 = 𝐵 ) ) |
| 25 | 1 2 3 | fliftel | ⊢ ( 𝜑 → ( 𝐶 𝐹 𝐷 ↔ ∃ 𝑥 ∈ 𝑋 ( 𝐶 = 𝐴 ∧ 𝐷 = 𝐵 ) ) ) |
| 26 | 25 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → ( 𝐶 𝐹 𝐷 ↔ ∃ 𝑥 ∈ 𝑋 ( 𝐶 = 𝐴 ∧ 𝐷 = 𝐵 ) ) ) |
| 27 | 24 26 | mpbird | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → 𝐶 𝐹 𝐷 ) |
| 28 | funbrfv | ⊢ ( Fun 𝐹 → ( 𝐶 𝐹 𝐷 → ( 𝐹 ‘ 𝐶 ) = 𝐷 ) ) | |
| 29 | 12 27 28 | sylc | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → ( 𝐹 ‘ 𝐶 ) = 𝐷 ) |
| 30 | 16 29 | eqeq12d | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → ( ( 𝐹 ‘ 𝐴 ) = ( 𝐹 ‘ 𝐶 ) ↔ 𝐵 = 𝐷 ) ) |
| 31 | 11 30 | imbitrid | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ) |
| 32 | 31 | anassrs | ⊢ ( ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ 𝑥 ∈ 𝑋 ) ∧ 𝑦 ∈ 𝑋 ) → ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ) |
| 33 | 32 | ralrimiva | ⊢ ( ( ( 𝜑 ∧ Fun 𝐹 ) ∧ 𝑥 ∈ 𝑋 ) → ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ) |
| 34 | 33 | exp31 | ⊢ ( 𝜑 → ( Fun 𝐹 → ( 𝑥 ∈ 𝑋 → ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ) ) ) |
| 35 | 6 10 34 | ralrimd | ⊢ ( 𝜑 → ( Fun 𝐹 → ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ) ) |
| 36 | 1 2 3 | fliftel | ⊢ ( 𝜑 → ( 𝑧 𝐹 𝑢 ↔ ∃ 𝑥 ∈ 𝑋 ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ) ) |
| 37 | 1 2 3 | fliftel | ⊢ ( 𝜑 → ( 𝑧 𝐹 𝑣 ↔ ∃ 𝑥 ∈ 𝑋 ( 𝑧 = 𝐴 ∧ 𝑣 = 𝐵 ) ) ) |
| 38 | 4 | eqeq2d | ⊢ ( 𝑥 = 𝑦 → ( 𝑧 = 𝐴 ↔ 𝑧 = 𝐶 ) ) |
| 39 | 5 | eqeq2d | ⊢ ( 𝑥 = 𝑦 → ( 𝑣 = 𝐵 ↔ 𝑣 = 𝐷 ) ) |
| 40 | 38 39 | anbi12d | ⊢ ( 𝑥 = 𝑦 → ( ( 𝑧 = 𝐴 ∧ 𝑣 = 𝐵 ) ↔ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) |
| 41 | 40 | cbvrexvw | ⊢ ( ∃ 𝑥 ∈ 𝑋 ( 𝑧 = 𝐴 ∧ 𝑣 = 𝐵 ) ↔ ∃ 𝑦 ∈ 𝑋 ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) |
| 42 | 37 41 | bitrdi | ⊢ ( 𝜑 → ( 𝑧 𝐹 𝑣 ↔ ∃ 𝑦 ∈ 𝑋 ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) |
| 43 | 36 42 | anbi12d | ⊢ ( 𝜑 → ( ( 𝑧 𝐹 𝑢 ∧ 𝑧 𝐹 𝑣 ) ↔ ( ∃ 𝑥 ∈ 𝑋 ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ∃ 𝑦 ∈ 𝑋 ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) ) |
| 44 | 43 | biimpd | ⊢ ( 𝜑 → ( ( 𝑧 𝐹 𝑢 ∧ 𝑧 𝐹 𝑣 ) → ( ∃ 𝑥 ∈ 𝑋 ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ∃ 𝑦 ∈ 𝑋 ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) ) |
| 45 | reeanv | ⊢ ( ∃ 𝑥 ∈ 𝑋 ∃ 𝑦 ∈ 𝑋 ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ↔ ( ∃ 𝑥 ∈ 𝑋 ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ∃ 𝑦 ∈ 𝑋 ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) | |
| 46 | r19.29 | ⊢ ( ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ∃ 𝑥 ∈ 𝑋 ∃ 𝑦 ∈ 𝑋 ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → ∃ 𝑥 ∈ 𝑋 ( ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ∃ 𝑦 ∈ 𝑋 ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) ) | |
| 47 | r19.29 | ⊢ ( ( ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ∃ 𝑦 ∈ 𝑋 ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → ∃ 𝑦 ∈ 𝑋 ( ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) ) | |
| 48 | eqtr2 | ⊢ ( ( 𝑧 = 𝐴 ∧ 𝑧 = 𝐶 ) → 𝐴 = 𝐶 ) | |
| 49 | 48 | ad2ant2r | ⊢ ( ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) → 𝐴 = 𝐶 ) |
| 50 | 49 | imim1i | ⊢ ( ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) → ( ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) → 𝐵 = 𝐷 ) ) |
| 51 | 50 | imp | ⊢ ( ( ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → 𝐵 = 𝐷 ) |
| 52 | simprlr | ⊢ ( ( ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → 𝑢 = 𝐵 ) | |
| 53 | simprrr | ⊢ ( ( ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → 𝑣 = 𝐷 ) | |
| 54 | 51 52 53 | 3eqtr4d | ⊢ ( ( ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → 𝑢 = 𝑣 ) |
| 55 | 54 | rexlimivw | ⊢ ( ∃ 𝑦 ∈ 𝑋 ( ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → 𝑢 = 𝑣 ) |
| 56 | 47 55 | syl | ⊢ ( ( ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ∃ 𝑦 ∈ 𝑋 ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → 𝑢 = 𝑣 ) |
| 57 | 56 | rexlimivw | ⊢ ( ∃ 𝑥 ∈ 𝑋 ( ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ∃ 𝑦 ∈ 𝑋 ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → 𝑢 = 𝑣 ) |
| 58 | 46 57 | syl | ⊢ ( ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ∧ ∃ 𝑥 ∈ 𝑋 ∃ 𝑦 ∈ 𝑋 ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) ) → 𝑢 = 𝑣 ) |
| 59 | 58 | ex | ⊢ ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) → ( ∃ 𝑥 ∈ 𝑋 ∃ 𝑦 ∈ 𝑋 ( ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) → 𝑢 = 𝑣 ) ) |
| 60 | 45 59 | biimtrrid | ⊢ ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) → ( ( ∃ 𝑥 ∈ 𝑋 ( 𝑧 = 𝐴 ∧ 𝑢 = 𝐵 ) ∧ ∃ 𝑦 ∈ 𝑋 ( 𝑧 = 𝐶 ∧ 𝑣 = 𝐷 ) ) → 𝑢 = 𝑣 ) ) |
| 61 | 44 60 | syl9 | ⊢ ( 𝜑 → ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) → ( ( 𝑧 𝐹 𝑢 ∧ 𝑧 𝐹 𝑣 ) → 𝑢 = 𝑣 ) ) ) |
| 62 | 61 | alrimdv | ⊢ ( 𝜑 → ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) → ∀ 𝑣 ( ( 𝑧 𝐹 𝑢 ∧ 𝑧 𝐹 𝑣 ) → 𝑢 = 𝑣 ) ) ) |
| 63 | 62 | alrimdv | ⊢ ( 𝜑 → ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) → ∀ 𝑢 ∀ 𝑣 ( ( 𝑧 𝐹 𝑢 ∧ 𝑧 𝐹 𝑣 ) → 𝑢 = 𝑣 ) ) ) |
| 64 | 63 | alrimdv | ⊢ ( 𝜑 → ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) → ∀ 𝑧 ∀ 𝑢 ∀ 𝑣 ( ( 𝑧 𝐹 𝑢 ∧ 𝑧 𝐹 𝑣 ) → 𝑢 = 𝑣 ) ) ) |
| 65 | 1 2 3 | fliftrel | ⊢ ( 𝜑 → 𝐹 ⊆ ( 𝑅 × 𝑆 ) ) |
| 66 | relxp | ⊢ Rel ( 𝑅 × 𝑆 ) | |
| 67 | relss | ⊢ ( 𝐹 ⊆ ( 𝑅 × 𝑆 ) → ( Rel ( 𝑅 × 𝑆 ) → Rel 𝐹 ) ) | |
| 68 | 65 66 67 | mpisyl | ⊢ ( 𝜑 → Rel 𝐹 ) |
| 69 | dffun2 | ⊢ ( Fun 𝐹 ↔ ( Rel 𝐹 ∧ ∀ 𝑧 ∀ 𝑢 ∀ 𝑣 ( ( 𝑧 𝐹 𝑢 ∧ 𝑧 𝐹 𝑣 ) → 𝑢 = 𝑣 ) ) ) | |
| 70 | 69 | baib | ⊢ ( Rel 𝐹 → ( Fun 𝐹 ↔ ∀ 𝑧 ∀ 𝑢 ∀ 𝑣 ( ( 𝑧 𝐹 𝑢 ∧ 𝑧 𝐹 𝑣 ) → 𝑢 = 𝑣 ) ) ) |
| 71 | 68 70 | syl | ⊢ ( 𝜑 → ( Fun 𝐹 ↔ ∀ 𝑧 ∀ 𝑢 ∀ 𝑣 ( ( 𝑧 𝐹 𝑢 ∧ 𝑧 𝐹 𝑣 ) → 𝑢 = 𝑣 ) ) ) |
| 72 | 64 71 | sylibrd | ⊢ ( 𝜑 → ( ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) → Fun 𝐹 ) ) |
| 73 | 35 72 | impbid | ⊢ ( 𝜑 → ( Fun 𝐹 ↔ ∀ 𝑥 ∈ 𝑋 ∀ 𝑦 ∈ 𝑋 ( 𝐴 = 𝐶 → 𝐵 = 𝐷 ) ) ) |