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 XOnS=domωCNFXf+𝑜S×S:S×SS

Proof

Step Hyp Ref Expression
1 simpr XOnS=domωCNFXS=domωCNFX
2 1 eleq2d XOnS=domωCNFXfSfdomωCNFX
3 eqid domωCNFX=domωCNFX
4 omelon ωOn
5 4 a1i XOnS=domωCNFXωOn
6 simpl XOnS=domωCNFXXOn
7 3 5 6 cantnfs XOnS=domωCNFXfdomωCNFXf:XωfinSuppf
8 2 7 bitrd XOnS=domωCNFXfSf:XωfinSuppf
9 1 eleq2d XOnS=domωCNFXgSgdomωCNFX
10 3 5 6 cantnfs XOnS=domωCNFXgdomωCNFXg:XωfinSuppg
11 9 10 bitrd XOnS=domωCNFXgSg:XωfinSuppg
12 11 adantr XOnS=domωCNFXf:XωfinSuppfgSg:XωfinSuppg
13 simpl f:XωfinSuppff:Xω
14 simpl g:XωfinSuppgg:Xω
15 13 14 anim12i f:XωfinSuppfg:XωfinSuppgf:Xωg:Xω
16 6 15 anim12i XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgXOnf:Xωg:Xω
17 16 anassrs XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgXOnf:Xωg:Xω
18 simprl XOnf:Xωg:Xωf:Xω
19 18 ffnd XOnf:Xωg:XωfFnX
20 simprr XOnf:Xωg:Xωg:Xω
21 20 ffnd XOnf:Xωg:XωgFnX
22 simpl XOnf:Xωg:XωXOn
23 inidm XX=X
24 19 21 22 22 23 offn XOnf:Xωg:Xωf+𝑜fgFnX
25 simpr XOnf:Xωg:Xωf+𝑜fgFnXf+𝑜fgFnX
26 simplrl XOnf:Xωg:XωxXf:Xω
27 26 ffnd XOnf:Xωg:XωxXfFnX
28 simplrr XOnf:Xωg:XωxXg:Xω
29 28 ffnd XOnf:Xωg:XωxXgFnX
30 simpll XOnf:Xωg:XωxXXOn
31 simpr XOnf:Xωg:XωxXxX
32 fnfvof fFnXgFnXXOnxXf+𝑜fgx=fx+𝑜gx
33 27 29 30 31 32 syl22anc XOnf:Xωg:XωxXf+𝑜fgx=fx+𝑜gx
34 18 ffvelcdmda XOnf:Xωg:XωxXfxω
35 20 ffvelcdmda XOnf:Xωg:XωxXgxω
36 nnacl fxωgxωfx+𝑜gxω
37 34 35 36 syl2anc XOnf:Xωg:XωxXfx+𝑜gxω
38 33 37 eqeltrd XOnf:Xωg:XωxXf+𝑜fgxω
39 38 ex XOnf:Xωg:XωxXf+𝑜fgxω
40 39 ralrimiv XOnf:Xωg:XωxXf+𝑜fgxω
41 40 adantr XOnf:Xωg:Xωf+𝑜fgFnXxXf+𝑜fgxω
42 fnfvrnss f+𝑜fgFnXxXf+𝑜fgxωranf+𝑜fgω
43 25 41 42 syl2anc XOnf:Xωg:Xωf+𝑜fgFnXranf+𝑜fgω
44 43 ex XOnf:Xωg:Xωf+𝑜fgFnXranf+𝑜fgω
45 24 44 jcai XOnf:Xωg:Xωf+𝑜fgFnXranf+𝑜fgω
46 df-f f+𝑜fg:Xωf+𝑜fgFnXranf+𝑜fgω
47 45 46 sylibr XOnf:Xωg:Xωf+𝑜fg:Xω
48 17 47 syl XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:Xω
49 ffun f+𝑜fg:XωFunf+𝑜fg
50 49 adantl XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:XωFunf+𝑜fg
51 simplrr XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgfinSuppf
52 51 adantr XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:XωfinSuppf
53 simplrr XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:XωfinSuppg
54 52 53 fsuppunfi XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:XωsuppfsuppgFin
55 simp-4l XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:XωXOn
56 peano1 ω
57 56 a1i XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:Xωω
58 simplrl XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf:Xω
59 58 adantr XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:Xωf:Xω
60 simplrl XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:Xωg:Xω
61 0elon On
62 oa0 On+𝑜=
63 61 62 mp1i XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:Xω+𝑜=
64 55 57 59 60 63 suppofssd XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:Xωf+𝑜fgsuppsuppfsuppg
65 54 64 ssfid XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:Xωf+𝑜fgsuppFin
66 ovexd XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:Xωf+𝑜fgV
67 isfsupp f+𝑜fgVOnfinSuppf+𝑜fgFunf+𝑜fgf+𝑜fgsuppFin
68 66 61 67 sylancl XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:XωfinSuppf+𝑜fgFunf+𝑜fgf+𝑜fgsuppFin
69 50 65 68 mpbir2and XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:XωfinSuppf+𝑜fg
70 69 ex XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:XωfinSuppf+𝑜fg
71 48 70 jcai XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fg:XωfinSuppf+𝑜fg
72 1 eleq2d XOnS=domωCNFXf+𝑜fgSf+𝑜fgdomωCNFX
73 3 5 6 cantnfs XOnS=domωCNFXf+𝑜fgdomωCNFXf+𝑜fg:XωfinSuppf+𝑜fg
74 72 73 bitrd XOnS=domωCNFXf+𝑜fgSf+𝑜fg:XωfinSuppf+𝑜fg
75 74 ad2antrr XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fgSf+𝑜fg:XωfinSuppf+𝑜fg
76 71 75 mpbird XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fgS
77 76 ex XOnS=domωCNFXf:XωfinSuppfg:XωfinSuppgf+𝑜fgS
78 12 77 sylbid XOnS=domωCNFXf:XωfinSuppfgSf+𝑜fgS
79 78 ralrimiv XOnS=domωCNFXf:XωfinSuppfgSf+𝑜fgS
80 79 ex XOnS=domωCNFXf:XωfinSuppfgSf+𝑜fgS
81 8 80 sylbid XOnS=domωCNFXfSgSf+𝑜fgS
82 81 ralrimiv XOnS=domωCNFXfSgSf+𝑜fgS
83 ofmres f+𝑜S×S=fS,gSf+𝑜fg
84 83 fmpo fSgSf+𝑜fgSf+𝑜S×S:S×SS
85 82 84 sylib XOnS=domωCNFXf+𝑜S×S:S×SS