Metamath Proof Explorer


Theorem dmaf

Description: The domain function is a function from arrows to objects. (Contributed by Mario Carneiro, 11-Jan-2017)

Ref Expression
Hypotheses arwrcl.a 𝐴 = ( Arrow ‘ 𝐶 )
arwdm.b 𝐵 = ( Base ‘ 𝐶 )
Assertion dmaf ( doma𝐴 ) : 𝐴𝐵

Proof

Step Hyp Ref Expression
1 arwrcl.a 𝐴 = ( Arrow ‘ 𝐶 )
2 arwdm.b 𝐵 = ( Base ‘ 𝐶 )
3 fo1st 1st : V –onto→ V
4 fofn ( 1st : V –onto→ V → 1st Fn V )
5 3 4 ax-mp 1st Fn V
6 fof ( 1st : V –onto→ V → 1st : V ⟶ V )
7 3 6 ax-mp 1st : V ⟶ V
8 fnfco ( ( 1st Fn V ∧ 1st : V ⟶ V ) → ( 1st ∘ 1st ) Fn V )
9 5 7 8 mp2an ( 1st ∘ 1st ) Fn V
10 df-doma doma = ( 1st ∘ 1st )
11 10 fneq1i ( doma Fn V ↔ ( 1st ∘ 1st ) Fn V )
12 9 11 mpbir doma Fn V
13 ssv 𝐴 ⊆ V
14 fnssres ( ( doma Fn V ∧ 𝐴 ⊆ V ) → ( doma𝐴 ) Fn 𝐴 )
15 12 13 14 mp2an ( doma𝐴 ) Fn 𝐴
16 fvres ( 𝑥𝐴 → ( ( doma𝐴 ) ‘ 𝑥 ) = ( doma𝑥 ) )
17 1 2 arwdm ( 𝑥𝐴 → ( doma𝑥 ) ∈ 𝐵 )
18 16 17 eqeltrd ( 𝑥𝐴 → ( ( doma𝐴 ) ‘ 𝑥 ) ∈ 𝐵 )
19 18 rgen 𝑥𝐴 ( ( doma𝐴 ) ‘ 𝑥 ) ∈ 𝐵
20 ffnfv ( ( doma𝐴 ) : 𝐴𝐵 ↔ ( ( doma𝐴 ) Fn 𝐴 ∧ ∀ 𝑥𝐴 ( ( doma𝐴 ) ‘ 𝑥 ) ∈ 𝐵 ) )
21 15 19 20 mpbir2an ( doma𝐴 ) : 𝐴𝐵