Metamath Proof Explorer


Theorem prcof1

Description: The object part of the pre-composition functor. (Contributed by Zhi Wang, 3-Nov-2025)

Ref Expression
Hypotheses prcof1.k ⊢ φ → K ∈ D Func E
prcof1.o No typesetting found for |- ( ph -> ( 1st ` ( <. D , E >. -o.F F ) ) = O ) with typecode |-
Assertion prcof1 ⊢ φ → O ⁡ K = K ∘ func F

Proof

Step Hyp Ref Expression
1 prcof1.k ⊢ φ → K ∈ D Func E
2 prcof1.o Could not format ( ph -> ( 1st ` ( <. D , E >. -o.F F ) ) = O ) : No typesetting found for |- ( ph -> ( 1st ` ( <. D , E >. -o.F F ) ) = O ) with typecode |-
3 2 adantr Could not format ( ( ph /\ F e. _V ) -> ( 1st ` ( <. D , E >. -o.F F ) ) = O ) : No typesetting found for |- ( ( ph /\ F e. _V ) -> ( 1st ` ( <. D , E >. -o.F F ) ) = O ) with typecode |-
4 eqid ⊢ D Func E = D Func E
5 eqid ⊢ D Nat E = D Nat E
6 1 adantr ⊢ φ ∧ F ∈ V → K ∈ D Func E
7 6 func1st2nd ⊢ φ ∧ F ∈ V → 1 st ⁡ K D Func E 2 nd ⁡ K
8 7 funcrcl2 ⊢ φ ∧ F ∈ V → D ∈ Cat
9 7 funcrcl3 ⊢ φ ∧ F ∈ V → E ∈ Cat
10 simpr ⊢ φ ∧ F ∈ V → F ∈ V
11 4 5 8 9 10 prcofvala Could not format ( ( ph /\ F e. _V ) -> ( <. D , E >. -o.F F ) = <. ( k e. ( D Func E ) |-> ( k o.func F ) ) , ( k e. ( D Func E ) , l e. ( D Func E ) |-> ( a e. ( k ( D Nat E ) l ) |-> ( a o. ( 1st ` F ) ) ) ) >. ) : No typesetting found for |- ( ( ph /\ F e. _V ) -> ( <. D , E >. -o.F F ) = <. ( k e. ( D Func E ) |-> ( k o.func F ) ) , ( k e. ( D Func E ) , l e. ( D Func E ) |-> ( a e. ( k ( D Nat E ) l ) |-> ( a o. ( 1st ` F ) ) ) ) >. ) with typecode |-
12 11 fveq2d Could not format ( ( ph /\ F e. _V ) -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( 1st ` <. ( k e. ( D Func E ) |-> ( k o.func F ) ) , ( k e. ( D Func E ) , l e. ( D Func E ) |-> ( a e. ( k ( D Nat E ) l ) |-> ( a o. ( 1st ` F ) ) ) ) >. ) ) : No typesetting found for |- ( ( ph /\ F e. _V ) -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( 1st ` <. ( k e. ( D Func E ) |-> ( k o.func F ) ) , ( k e. ( D Func E ) , l e. ( D Func E ) |-> ( a e. ( k ( D Nat E ) l ) |-> ( a o. ( 1st ` F ) ) ) ) >. ) ) with typecode |-
13 ovex ⊢ D Func E ∈ V
14 13 mptex ⊢ k ∈ D Func E ⟼ k ∘ func F ∈ V
15 13 13 mpoex ⊢ k ∈ D Func E , l ∈ D Func E ⟼ a ∈ k D Nat E l ⟼ a ∘ 1 st ⁡ F ∈ V
16 14 15 op1st ⊢ 1 st ⁡ k ∈ D Func E ⟼ k ∘ func F k ∈ D Func E , l ∈ D Func E ⟼ a ∈ k D Nat E l ⟼ a ∘ 1 st ⁡ F = k ∈ D Func E ⟼ k ∘ func F
17 12 16 eqtrdi Could not format ( ( ph /\ F e. _V ) -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( k e. ( D Func E ) |-> ( k o.func F ) ) ) : No typesetting found for |- ( ( ph /\ F e. _V ) -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( k e. ( D Func E ) |-> ( k o.func F ) ) ) with typecode |-
18 3 17 eqtr3d ⊢ φ ∧ F ∈ V → O = k ∈ D Func E ⟼ k ∘ func F
19 simpr ⊢ φ ∧ F ∈ V ∧ k = K → k = K
20 19 oveq1d ⊢ φ ∧ F ∈ V ∧ k = K → k ∘ func F = K ∘ func F
21 ovexd ⊢ φ ∧ F ∈ V → K ∘ func F ∈ V
22 18 20 6 21 fvmptd ⊢ φ ∧ F ∈ V → O ⁡ K = K ∘ func F
23 0fv ⊢ ∅ ⁡ K = ∅
24 reldmprcof Could not format Rel dom -o.F : No typesetting found for |- Rel dom -o.F with typecode |-
25 24 ovprc2 Could not format ( -. F e. _V -> ( <. D , E >. -o.F F ) = (/) ) : No typesetting found for |- ( -. F e. _V -> ( <. D , E >. -o.F F ) = (/) ) with typecode |-
26 25 fveq2d Could not format ( -. F e. _V -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( 1st ` (/) ) ) : No typesetting found for |- ( -. F e. _V -> ( 1st ` ( <. D , E >. -o.F F ) ) = ( 1st ` (/) ) ) with typecode |-
27 1st0 ⊢ 1 st ⁡ ∅ = ∅
28 26 27 eqtrdi Could not format ( -. F e. _V -> ( 1st ` ( <. D , E >. -o.F F ) ) = (/) ) : No typesetting found for |- ( -. F e. _V -> ( 1st ` ( <. D , E >. -o.F F ) ) = (/) ) with typecode |-
29 2 28 sylan9req ⊢ φ ∧ ¬ F ∈ V → O = ∅
30 29 fveq1d ⊢ φ ∧ ¬ F ∈ V → O ⁡ K = ∅ ⁡ K
31 df-cofu ⊢ ∘ func = l ∈ V , k ∈ V ⟼ 1 st ⁡ l ∘ 1 st ⁡ k a ∈ dom ⁡ dom ⁡ 2 nd ⁡ k , b ∈ dom ⁡ dom ⁡ 2 nd ⁡ k ⟼ 1 st ⁡ k ⁡ a 2 nd ⁡ l 1 st ⁡ k ⁡ b ∘ a 2 nd ⁡ k b
32 31 reldmmpo ⊢ Rel ⁡ dom ⁡ ∘ func
33 32 ovprc2 ⊢ ¬ F ∈ V → K ∘ func F = ∅
34 33 adantl ⊢ φ ∧ ¬ F ∈ V → K ∘ func F = ∅
35 23 30 34 3eqtr4a ⊢ φ ∧ ¬ F ∈ V → O ⁡ K = K ∘ func F
36 22 35 pm2.61dan ⊢ φ → O ⁡ K = K ∘ func F