Metamath Proof Explorer


Theorem fcomptf

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 ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → ( 𝐴 ∘ 𝐵 ) = ( 𝑥 ∈ 𝐶 ↦ ( 𝐴 ‘ ( 𝐵 ‘ 𝑥 ) ) ) )

Proof

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 ⊢ ( ( 𝐴 : 𝐷 ⟶ 𝐸 ∧ 𝐵 : 𝐶 ⟶ 𝐷 ) → ( 𝐴 ∘ 𝐵 ) = ( 𝑥 ∈ 𝐶 ↦ ( 𝐴 ‘ ( 𝐵 ‘ 𝑥 ) ) ) )