Metamath Proof Explorer


Theorem 1arymaptfo

Description: The mapping of unary (endo)functions is a function onto the set of endofunctions. (Contributed by AV, 18-May-2024)

Ref Expression
Hypothesis 1arymaptfv.h H = h 1 -aryF X x X h 0 x
Assertion 1arymaptfo X V H : 1 -aryF X onto X X

Proof

Step Hyp Ref Expression
1 1arymaptfv.h H = h 1 -aryF X x X h 0 x
2 1 1arymaptf X V H : 1 -aryF X X X
3 elmapi f X X f : X X
4 eqid a X 0 f a 0 = a X 0 f a 0
5 4 1arympt1 X V f : X X a X 0 f a 0 1 -aryF X
6 3 5 sylan2 X V f X X a X 0 f a 0 1 -aryF X
7 fveq2 g = a X 0 f a 0 H g = H a X 0 f a 0
8 7 eqeq2d g = a X 0 f a 0 f = H g f = H a X 0 f a 0
9 8 adantl X V f X X g = a X 0 f a 0 f = H g f = H a X 0 f a 0
10 3 adantl X V f X X f : X X
11 10 feqmptd X V f X X f = x X f x
12 simplr X V f X X h = a X 0 f a 0 x X h = a X 0 f a 0
13 fveq1 a = 0 x a 0 = 0 x 0
14 c0ex 0 V
15 vex x V
16 14 15 fvsn 0 x 0 = x
17 13 16 eqtrdi a = 0 x a 0 = x
18 17 fveq2d a = 0 x f a 0 = f x
19 18 adantl X V f X X h = a X 0 f a 0 x X a = 0 x f a 0 = f x
20 14 a1i X V x X 0 V
21 simpr X V x X x X
22 20 21 fsnd X V x X 0 x : 0 X
23 snex 0 V
24 23 a1i x X 0 V
25 elmapg X V 0 V 0 x X 0 0 x : 0 X
26 24 25 sylan2 X V x X 0 x X 0 0 x : 0 X
27 22 26 mpbird X V x X 0 x X 0
28 27 ad4ant14 X V f X X h = a X 0 f a 0 x X 0 x X 0
29 fvexd X V f X X h = a X 0 f a 0 x X f x V
30 nfv a X V f X X
31 nfmpt1 _ a a X 0 f a 0
32 31 nfeq2 a h = a X 0 f a 0
33 30 32 nfan a X V f X X h = a X 0 f a 0
34 nfv a x X
35 33 34 nfan a X V f X X h = a X 0 f a 0 x X
36 nfcv _ a 0 x
37 nfcv _ a f x
38 12 19 28 29 35 36 37 fvmptdf X V f X X h = a X 0 f a 0 x X h 0 x = f x
39 38 mpteq2dva X V f X X h = a X 0 f a 0 x X h 0 x = x X f x
40 simpl X V f X X X V
41 40 mptexd X V f X X x X f x V
42 1 39 6 41 fvmptd2 X V f X X H a X 0 f a 0 = x X f x
43 11 42 eqtr4d X V f X X f = H a X 0 f a 0
44 6 9 43 rspcedvd X V f X X g 1 -aryF X f = H g
45 44 ralrimiva X V f X X g 1 -aryF X f = H g
46 dffo3 H : 1 -aryF X onto X X H : 1 -aryF X X X f X X g 1 -aryF X f = H g
47 2 45 46 sylanbrc X V H : 1 -aryF X onto X X