This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Express composition of two functions as a maps-to applying both in sequence. This version has one less distinct variable restriction compared to fcompt . (Contributed by Thierry Arnoux, 30-Jun-2017)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | fcomptf.1 | ⊢ Ⅎ 𝑥 𝐵 | |
| Assertion | fcomptf | ⊢ ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → ( 𝐴 ∘ 𝐵 ) = ( 𝑥 ∈ 𝐶 ↦ ( 𝐴 ‘ ( 𝐵 ‘ 𝑥 ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | fcomptf.1 | ⊢ Ⅎ 𝑥 𝐵 | |
| 2 | nfcv | ⊢ Ⅎ 𝑥 𝐴 | |
| 3 | nfcv | ⊢ Ⅎ 𝑥 𝐷 | |
| 4 | nfcv | ⊢ Ⅎ 𝑥 𝐸 | |
| 5 | 2 3 4 | nff | ⊢ Ⅎ 𝑥 𝐴 : 𝐷 ⟶ 𝐸 |
| 6 | nfcv | ⊢ Ⅎ 𝑥 𝐶 | |
| 7 | 1 6 3 | nff | ⊢ Ⅎ 𝑥 𝐵 : 𝐶 ⟶ 𝐷 |
| 8 | 5 7 | nfan | ⊢ Ⅎ 𝑥 ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) |
| 9 | ffvelcdm | ⊢ ( ( 𝐵 : 𝐶 ⟶ 𝐷 ∧ 𝑥 ∈ 𝐶 ) → ( 𝐵 ‘ 𝑥 ) ∈ 𝐷 ) | |
| 10 | 9 | adantll | ⊢ ( ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) ∧ 𝑥 ∈ 𝐶 ) → ( 𝐵 ‘ 𝑥 ) ∈ 𝐷 ) |
| 11 | 10 | ex | ⊢ ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → ( 𝑥 ∈ 𝐶 → ( 𝐵 ‘ 𝑥 ) ∈ 𝐷 ) ) |
| 12 | 8 11 | ralrimi | ⊢ ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → ∀ 𝑥 ∈ 𝐶 ( 𝐵 ‘ 𝑥 ) ∈ 𝐷 ) |
| 13 | ffn | ⊢ ( 𝐵 : 𝐶 ⟶ 𝐷 → 𝐵 Fn 𝐶 ) | |
| 14 | 13 | adantl | ⊢ ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → 𝐵 Fn 𝐶 ) |
| 15 | 1 | dffn5f | ⊢ ( 𝐵 Fn 𝐶 ↔ 𝐵 = ( 𝑥 ∈ 𝐶 ↦ ( 𝐵 ‘ 𝑥 ) ) ) |
| 16 | 14 15 | sylib | ⊢ ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → 𝐵 = ( 𝑥 ∈ 𝐶 ↦ ( 𝐵 ‘ 𝑥 ) ) ) |
| 17 | ffn | ⊢ ( 𝐴 : 𝐷 ⟶ 𝐸 → 𝐴 Fn 𝐷 ) | |
| 18 | 17 | adantr | ⊢ ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → 𝐴 Fn 𝐷 ) |
| 19 | dffn5 | ⊢ ( 𝐴 Fn 𝐷 ↔ 𝐴 = ( 𝑦 ∈ 𝐷 ↦ ( 𝐴 ‘ 𝑦 ) ) ) | |
| 20 | 18 19 | sylib | ⊢ ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → 𝐴 = ( 𝑦 ∈ 𝐷 ↦ ( 𝐴 ‘ 𝑦 ) ) ) |
| 21 | fveq2 | ⊢ ( 𝑦 = ( 𝐵 ‘ 𝑥 ) → ( 𝐴 ‘ 𝑦 ) = ( 𝐴 ‘ ( 𝐵 ‘ 𝑥 ) ) ) | |
| 22 | 12 16 20 21 | fmptcof | ⊢ ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → ( 𝐴 ∘ 𝐵 ) = ( 𝑥 ∈ 𝐶 ↦ ( 𝐴 ‘ ( 𝐵 ‘ 𝑥 ) ) ) ) |