Metamath Proof Explorer


Theorem naddcnff

Description: Addition operator for Cantor normal forms is a function into Cantor normal forms. (Contributed by RP, 2-Jan-2025)

Ref Expression
Assertion naddcnff ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → ∘ f ⁡ + 𝑜 ↾ S × S : S × S ⟶ S

Proof

Step Hyp Ref Expression
1 simpr ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → S = dom ⁡ ω CNF X
2 1 eleq2d ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → f ∈ S ↔ f ∈ dom ⁡ ω CNF X
3 eqid ⊢ dom ⁡ ω CNF X = dom ⁡ ω CNF X
4 omelon ⊢ ω ∈ On
5 4 a1i ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → ω ∈ On
6 simpl ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → X ∈ On
7 3 5 6 cantnfs ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → f ∈ dom ⁡ ω CNF X ↔ f : X ⟶ ω ∧ finSupp ∅⁡ f
8 2 7 bitrd ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → f ∈ S ↔ f : X ⟶ ω ∧ finSupp ∅⁡ f
9 1 eleq2d ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → g ∈ S ↔ g ∈ dom ⁡ ω CNF X
10 3 5 6 cantnfs ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → g ∈ dom ⁡ ω CNF X ↔ g : X ⟶ ω ∧ finSupp ∅⁡ g
11 9 10 bitrd ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → g ∈ S ↔ g : X ⟶ ω ∧ finSupp ∅⁡ g
12 11 adantr ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f → g ∈ S ↔ g : X ⟶ ω ∧ finSupp ∅⁡ g
13 simpl ⊢ f : X ⟶ ω ∧ finSupp ∅⁡ f → f : X ⟶ ω
14 simpl ⊢ g : X ⟶ ω ∧ finSupp ∅⁡ g → g : X ⟶ ω
15 13 14 anim12i ⊢ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → f : X ⟶ ω ∧ g : X ⟶ ω
16 6 15 anim12i ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω
17 16 anassrs ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω
18 simprl ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → f : X ⟶ ω
19 18 ffnd ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → f Fn X
20 simprr ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → g : X ⟶ ω
21 20 ffnd ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → g Fn X
22 simpl ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → X ∈ On
23 inidm ⊢ X ∩ X = X
24 19 21 22 22 23 offn ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → f + 𝑜 f g Fn X
25 simpr ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ f + 𝑜 f g Fn X → f + 𝑜 f g Fn X
26 simplrl ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → f : X ⟶ ω
27 26 ffnd ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → f Fn X
28 simplrr ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → g : X ⟶ ω
29 28 ffnd ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → g Fn X
30 simpll ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → X ∈ On
31 simpr ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → x ∈ X
32 fnfvof ⊢ f Fn X ∧ g Fn X ∧ X ∈ On ∧ x ∈ X → f + 𝑜 f g ⁡ x = f ⁡ x + 𝑜 g ⁡ x
33 27 29 30 31 32 syl22anc ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → f + 𝑜 f g ⁡ x = f ⁡ x + 𝑜 g ⁡ x
34 18 ffvelcdmda ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → f ⁡ x ∈ ω
35 20 ffvelcdmda ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → g ⁡ x ∈ ω
36 nnacl ⊢ f ⁡ x ∈ ω ∧ g ⁡ x ∈ ω → f ⁡ x + 𝑜 g ⁡ x ∈ ω
37 34 35 36 syl2anc ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → f ⁡ x + 𝑜 g ⁡ x ∈ ω
38 33 37 eqeltrd ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ x ∈ X → f + 𝑜 f g ⁡ x ∈ ω
39 38 ex ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → x ∈ X → f + 𝑜 f g ⁡ x ∈ ω
40 39 ralrimiv ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → ∀ x ∈ X f + 𝑜 f g ⁡ x ∈ ω
41 40 adantr ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ f + 𝑜 f g Fn X → ∀ x ∈ X f + 𝑜 f g ⁡ x ∈ ω
42 fnfvrnss ⊢ f + 𝑜 f g Fn X ∧ ∀ x ∈ X f + 𝑜 f g ⁡ x ∈ ω → ran ⁡ f + 𝑜 f g ⊆ ω
43 25 41 42 syl2anc ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω ∧ f + 𝑜 f g Fn X → ran ⁡ f + 𝑜 f g ⊆ ω
44 43 ex ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → f + 𝑜 f g Fn X → ran ⁡ f + 𝑜 f g ⊆ ω
45 24 44 jcai ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → f + 𝑜 f g Fn X ∧ ran ⁡ f + 𝑜 f g ⊆ ω
46 df-f ⊢ f + 𝑜 f g : X ⟶ ω ↔ f + 𝑜 f g Fn X ∧ ran ⁡ f + 𝑜 f g ⊆ ω
47 45 46 sylibr ⊢ X ∈ On ∧ f : X ⟶ ω ∧ g : X ⟶ ω → f + 𝑜 f g : X ⟶ ω
48 17 47 syl ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → f + 𝑜 f g : X ⟶ ω
49 ffun ⊢ f + 𝑜 f g : X ⟶ ω → Fun ⁡ f + 𝑜 f g
50 49 adantl ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → Fun ⁡ f + 𝑜 f g
51 simplrr ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → finSupp ∅⁡ f
52 51 adantr ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → finSupp ∅⁡ f
53 simplrr ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → finSupp ∅⁡ g
54 52 53 fsuppunfi ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → supp ∅⁡ f ∪ supp ∅⁡ g ∈ Fin
55 simp-4l ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → X ∈ On
56 peano1 ⊢ ∅ ∈ ω
57 56 a1i ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → ∅ ∈ ω
58 simplrl ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → f : X ⟶ ω
59 58 adantr ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → f : X ⟶ ω
60 simplrl ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → g : X ⟶ ω
61 0elon ⊢ ∅ ∈ On
62 oa0 ⊢ ∅ ∈ On → ∅ + 𝑜 ∅ = ∅
63 61 62 mp1i ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → ∅ + 𝑜 ∅ = ∅
64 55 57 59 60 63 suppofssd ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → f + 𝑜 f g supp ∅ ⊆ supp ∅⁡ f ∪ supp ∅⁡ g
65 54 64 ssfid ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → f + 𝑜 f g supp ∅ ∈ Fin
66 ovexd ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → f + 𝑜 f g ∈ V
67 isfsupp ⊢ f + 𝑜 f g ∈ V ∧ ∅ ∈ On → finSupp ∅⁡ f + 𝑜 f g ↔ Fun ⁡ f + 𝑜 f g ∧ f + 𝑜 f g supp ∅ ∈ Fin
68 66 61 67 sylancl ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → finSupp ∅⁡ f + 𝑜 f g ↔ Fun ⁡ f + 𝑜 f g ∧ f + 𝑜 f g supp ∅ ∈ Fin
69 50 65 68 mpbir2and ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g ∧ f + 𝑜 f g : X ⟶ ω → finSupp ∅⁡ f + 𝑜 f g
70 69 ex ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → f + 𝑜 f g : X ⟶ ω → finSupp ∅⁡ f + 𝑜 f g
71 48 70 jcai ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → f + 𝑜 f g : X ⟶ ω ∧ finSupp ∅⁡ f + 𝑜 f g
72 1 eleq2d ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → f + 𝑜 f g ∈ S ↔ f + 𝑜 f g ∈ dom ⁡ ω CNF X
73 3 5 6 cantnfs ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → f + 𝑜 f g ∈ dom ⁡ ω CNF X ↔ f + 𝑜 f g : X ⟶ ω ∧ finSupp ∅⁡ f + 𝑜 f g
74 72 73 bitrd ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → f + 𝑜 f g ∈ S ↔ f + 𝑜 f g : X ⟶ ω ∧ finSupp ∅⁡ f + 𝑜 f g
75 74 ad2antrr ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → f + 𝑜 f g ∈ S ↔ f + 𝑜 f g : X ⟶ ω ∧ finSupp ∅⁡ f + 𝑜 f g
76 71 75 mpbird ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f ∧ g : X ⟶ ω ∧ finSupp ∅⁡ g → f + 𝑜 f g ∈ S
77 76 ex ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f → g : X ⟶ ω ∧ finSupp ∅⁡ g → f + 𝑜 f g ∈ S
78 12 77 sylbid ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f → g ∈ S → f + 𝑜 f g ∈ S
79 78 ralrimiv ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X ∧ f : X ⟶ ω ∧ finSupp ∅⁡ f → ∀ g ∈ S f + 𝑜 f g ∈ S
80 79 ex ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → f : X ⟶ ω ∧ finSupp ∅⁡ f → ∀ g ∈ S f + 𝑜 f g ∈ S
81 8 80 sylbid ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → f ∈ S → ∀ g ∈ S f + 𝑜 f g ∈ S
82 81 ralrimiv ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → ∀ f ∈ S ∀ g ∈ S f + 𝑜 f g ∈ S
83 ofmres ⊢ ∘ f ⁡ + 𝑜 ↾ S × S = f ∈ S , g ∈ S ⟼ f + 𝑜 f g
84 83 fmpo ⊢ ∀ f ∈ S ∀ g ∈ S f + 𝑜 f g ∈ S ↔ ∘ f ⁡ + 𝑜 ↾ S × S : S × S ⟶ S
85 82 84 sylib ⊢ X ∈ On ∧ S = dom ⁡ ω CNF X → ∘ f ⁡ + 𝑜 ↾ S × S : S × S ⟶ S