Metamath Proof Explorer


Theorem ofoafo

Description: Addition operator for functions from a set into a power of omega is an onto binary operator. (Contributed by RP, 5-Jan-2025)

Ref Expression
Assertion ofoafo ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → ∘ f ⁡ + 𝑜 ↾ C A × C A : C A × C A ⟶ onto C A

Proof

Step Hyp Ref Expression
1 id ⊢ A ∈ V → A ∈ V
2 inidm ⊢ A ∩ A = A
3 2 eqcomi ⊢ A = A ∩ A
4 3 a1i ⊢ A ∈ V → A = A ∩ A
5 1 1 4 3jca ⊢ A ∈ V → A ∈ V ∧ A ∈ V ∧ A = A ∩ A
6 ofoaf ⊢ A ∈ V ∧ A ∈ V ∧ A = A ∩ A ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → ∘ f ⁡ + 𝑜 ↾ C A × C A : C A × C A ⟶ C A
7 5 6 sylan ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → ∘ f ⁡ + 𝑜 ↾ C A × C A : C A × C A ⟶ C A
8 simpr ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A → h ∈ C A
9 omelon ⊢ ω ∈ On
10 9 a1i ⊢ B ∈ On ∧ C = ω ↑ 𝑜 B → ω ∈ On
11 simpl ⊢ B ∈ On ∧ C = ω ↑ 𝑜 B → B ∈ On
12 10 11 jca ⊢ B ∈ On ∧ C = ω ↑ 𝑜 B → ω ∈ On ∧ B ∈ On
13 peano1 ⊢ ∅ ∈ ω
14 oen0 ⊢ ω ∈ On ∧ B ∈ On ∧ ∅ ∈ ω → ∅ ∈ ω ↑ 𝑜 B
15 12 13 14 sylancl ⊢ B ∈ On ∧ C = ω ↑ 𝑜 B → ∅ ∈ ω ↑ 𝑜 B
16 simpr ⊢ B ∈ On ∧ C = ω ↑ 𝑜 B → C = ω ↑ 𝑜 B
17 15 16 eleqtrrd ⊢ B ∈ On ∧ C = ω ↑ 𝑜 B → ∅ ∈ C
18 fconst6g ⊢ ∅ ∈ C → A × ∅ : A ⟶ C
19 17 18 syl ⊢ B ∈ On ∧ C = ω ↑ 𝑜 B → A × ∅ : A ⟶ C
20 19 adantl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → A × ∅ : A ⟶ C
21 oecl ⊢ ω ∈ On ∧ B ∈ On → ω ↑ 𝑜 B ∈ On
22 9 11 21 sylancr ⊢ B ∈ On ∧ C = ω ↑ 𝑜 B → ω ↑ 𝑜 B ∈ On
23 16 22 eqeltrd ⊢ B ∈ On ∧ C = ω ↑ 𝑜 B → C ∈ On
24 23 adantl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → C ∈ On
25 simpl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → A ∈ V
26 24 25 elmapd ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → A × ∅ ∈ C A ↔ A × ∅ : A ⟶ C
27 20 26 mpbird ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → A × ∅ ∈ C A
28 27 adantr ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A → A × ∅ ∈ C A
29 ovres ⊢ h ∈ C A ∧ A × ∅ ∈ C A → h ∘ f ⁡ + 𝑜 ↾ C A × C A A × ∅ = h + 𝑜 f A × ∅
30 29 adantl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → h ∘ f ⁡ + 𝑜 ↾ C A × C A A × ∅ = h + 𝑜 f A × ∅
31 elmapi ⊢ h ∈ C A → h : A ⟶ C
32 31 adantr ⊢ h ∈ C A ∧ A × ∅ ∈ C A → h : A ⟶ C
33 32 ffnd ⊢ h ∈ C A ∧ A × ∅ ∈ C A → h Fn A
34 33 adantl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → h Fn A
35 elmapi ⊢ A × ∅ ∈ C A → A × ∅ : A ⟶ C
36 35 adantl ⊢ h ∈ C A ∧ A × ∅ ∈ C A → A × ∅ : A ⟶ C
37 36 ffnd ⊢ h ∈ C A ∧ A × ∅ ∈ C A → A × ∅ Fn A
38 37 adantl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → A × ∅ Fn A
39 25 adantr ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → A ∈ V
40 34 38 39 39 2 offn ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → h + 𝑜 f A × ∅ Fn A
41 elmapfn ⊢ h ∈ C A → h Fn A
42 elmapfn ⊢ A × ∅ ∈ C A → A × ∅ Fn A
43 41 42 anim12i ⊢ h ∈ C A ∧ A × ∅ ∈ C A → h Fn A ∧ A × ∅ Fn A
44 43 adantl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → h Fn A ∧ A × ∅ Fn A
45 39 anim1i ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → A ∈ V ∧ a ∈ A
46 fnfvof ⊢ h Fn A ∧ A × ∅ Fn A ∧ A ∈ V ∧ a ∈ A → h + 𝑜 f A × ∅ ⁡ a = h ⁡ a + 𝑜 A × ∅ ⁡ a
47 44 45 46 syl2an2r ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → h + 𝑜 f A × ∅ ⁡ a = h ⁡ a + 𝑜 A × ∅ ⁡ a
48 simpr ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → a ∈ A
49 fvconst2g ⊢ ∅ ∈ ω ∧ a ∈ A → A × ∅ ⁡ a = ∅
50 13 48 49 sylancr ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → A × ∅ ⁡ a = ∅
51 50 oveq2d ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → h ⁡ a + 𝑜 A × ∅ ⁡ a = h ⁡ a + 𝑜 ∅
52 24 adantr ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → C ∈ On
53 52 adantr ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → C ∈ On
54 onss ⊢ C ∈ On → C ⊆ On
55 53 54 syl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → C ⊆ On
56 31 ad2antrl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → h : A ⟶ C
57 56 ffvelcdmda ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → h ⁡ a ∈ C
58 55 57 sseldd ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → h ⁡ a ∈ On
59 oa0 ⊢ h ⁡ a ∈ On → h ⁡ a + 𝑜 ∅ = h ⁡ a
60 58 59 syl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → h ⁡ a + 𝑜 ∅ = h ⁡ a
61 47 51 60 3eqtrd ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A ∧ a ∈ A → h + 𝑜 f A × ∅ ⁡ a = h ⁡ a
62 40 34 61 eqfnfvd ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → h + 𝑜 f A × ∅ = h
63 30 62 eqtr2d ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A ∧ A × ∅ ∈ C A → h = h ∘ f ⁡ + 𝑜 ↾ C A × C A A × ∅
64 63 expr ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A → A × ∅ ∈ C A → h = h ∘ f ⁡ + 𝑜 ↾ C A × C A A × ∅
65 28 64 jcai ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A → A × ∅ ∈ C A ∧ h = h ∘ f ⁡ + 𝑜 ↾ C A × C A A × ∅
66 oveq2 ⊢ z = A × ∅ → h ∘ f ⁡ + 𝑜 ↾ C A × C A z = h ∘ f ⁡ + 𝑜 ↾ C A × C A A × ∅
67 66 rspceeqv ⊢ A × ∅ ∈ C A ∧ h = h ∘ f ⁡ + 𝑜 ↾ C A × C A A × ∅ → ∃ z ∈ C A h = h ∘ f ⁡ + 𝑜 ↾ C A × C A z
68 65 67 syl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A → ∃ z ∈ C A h = h ∘ f ⁡ + 𝑜 ↾ C A × C A z
69 8 68 jca ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A → h ∈ C A ∧ ∃ z ∈ C A h = h ∘ f ⁡ + 𝑜 ↾ C A × C A z
70 oveq1 ⊢ f = h → f ∘ f ⁡ + 𝑜 ↾ C A × C A z = h ∘ f ⁡ + 𝑜 ↾ C A × C A z
71 70 eqeq2d ⊢ f = h → h = f ∘ f ⁡ + 𝑜 ↾ C A × C A z ↔ h = h ∘ f ⁡ + 𝑜 ↾ C A × C A z
72 71 rexbidv ⊢ f = h → ∃ z ∈ C A h = f ∘ f ⁡ + 𝑜 ↾ C A × C A z ↔ ∃ z ∈ C A h = h ∘ f ⁡ + 𝑜 ↾ C A × C A z
73 72 rspcev ⊢ h ∈ C A ∧ ∃ z ∈ C A h = h ∘ f ⁡ + 𝑜 ↾ C A × C A z → ∃ f ∈ C A ∃ z ∈ C A h = f ∘ f ⁡ + 𝑜 ↾ C A × C A z
74 69 73 syl ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B ∧ h ∈ C A → ∃ f ∈ C A ∃ z ∈ C A h = f ∘ f ⁡ + 𝑜 ↾ C A × C A z
75 74 ralrimiva ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → ∀ h ∈ C A ∃ f ∈ C A ∃ z ∈ C A h = f ∘ f ⁡ + 𝑜 ↾ C A × C A z
76 foov ⊢ ∘ f ⁡ + 𝑜 ↾ C A × C A : C A × C A ⟶ onto C A ↔ ∘ f ⁡ + 𝑜 ↾ C A × C A : C A × C A ⟶ C A ∧ ∀ h ∈ C A ∃ f ∈ C A ∃ z ∈ C A h = f ∘ f ⁡ + 𝑜 ↾ C A × C A z
77 7 75 76 sylanbrc ⊢ A ∈ V ∧ B ∈ On ∧ C = ω ↑ 𝑜 B → ∘ f ⁡ + 𝑜 ↾ C A × C A : C A × C A ⟶ onto C A