Metamath Proof Explorer


Theorem cantnfval

Description: The value of the Cantor normal form function. (Contributed by Mario Carneiro, 25-May-2015) (Revised by AV, 28-Jun-2019)

Ref Expression
Hypotheses cantnfs.s 𝑆 = dom ( 𝐴 CNF 𝐵 )
cantnfs.a ( 𝜑𝐴 ∈ On )
cantnfs.b ( 𝜑𝐵 ∈ On )
cantnfcl.g 𝐺 = OrdIso ( E , ( 𝐹 supp ∅ ) )
cantnfcl.f ( 𝜑𝐹𝑆 )
cantnfval.h 𝐻 = seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝐺𝑘 ) ) ·o ( 𝐹 ‘ ( 𝐺𝑘 ) ) ) +o 𝑧 ) ) , ∅ )
Assertion cantnfval ( 𝜑 → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( 𝐻 ‘ dom 𝐺 ) )

Proof

Step Hyp Ref Expression
1 cantnfs.s 𝑆 = dom ( 𝐴 CNF 𝐵 )
2 cantnfs.a ( 𝜑𝐴 ∈ On )
3 cantnfs.b ( 𝜑𝐵 ∈ On )
4 cantnfcl.g 𝐺 = OrdIso ( E , ( 𝐹 supp ∅ ) )
5 cantnfcl.f ( 𝜑𝐹𝑆 )
6 cantnfval.h 𝐻 = seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝐺𝑘 ) ) ·o ( 𝐹 ‘ ( 𝐺𝑘 ) ) ) +o 𝑧 ) ) , ∅ )
7 eqid { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } = { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ }
8 7 2 3 cantnffval ( 𝜑 → ( 𝐴 CNF 𝐵 ) = ( 𝑓 ∈ { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } ↦ OrdIso ( E , ( 𝑓 supp ∅ ) ) / ( seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) ‘ dom ) ) )
9 8 fveq1d ( 𝜑 → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( ( 𝑓 ∈ { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } ↦ OrdIso ( E , ( 𝑓 supp ∅ ) ) / ( seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) ‘ dom ) ) ‘ 𝐹 ) )
10 7 2 3 cantnfdm ( 𝜑 → dom ( 𝐴 CNF 𝐵 ) = { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } )
11 1 10 eqtrid ( 𝜑𝑆 = { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } )
12 5 11 eleqtrd ( 𝜑𝐹 ∈ { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } )
13 ovex ( 𝑓 supp ∅ ) ∈ V
14 eqid OrdIso ( E , ( 𝑓 supp ∅ ) ) = OrdIso ( E , ( 𝑓 supp ∅ ) )
15 14 oiexg ( ( 𝑓 supp ∅ ) ∈ V → OrdIso ( E , ( 𝑓 supp ∅ ) ) ∈ V )
16 13 15 mp1i ( 𝑓 = 𝐹 → OrdIso ( E , ( 𝑓 supp ∅ ) ) ∈ V )
17 simpr ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → = OrdIso ( E , ( 𝑓 supp ∅ ) ) )
18 oveq1 ( 𝑓 = 𝐹 → ( 𝑓 supp ∅ ) = ( 𝐹 supp ∅ ) )
19 18 adantr ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → ( 𝑓 supp ∅ ) = ( 𝐹 supp ∅ ) )
20 oieq2 ( ( 𝑓 supp ∅ ) = ( 𝐹 supp ∅ ) → OrdIso ( E , ( 𝑓 supp ∅ ) ) = OrdIso ( E , ( 𝐹 supp ∅ ) ) )
21 19 20 syl ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → OrdIso ( E , ( 𝑓 supp ∅ ) ) = OrdIso ( E , ( 𝐹 supp ∅ ) ) )
22 17 21 eqtrd ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → = OrdIso ( E , ( 𝐹 supp ∅ ) ) )
23 22 4 eqtr4di ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → = 𝐺 )
24 23 fveq1d ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → ( 𝑘 ) = ( 𝐺𝑘 ) )
25 24 oveq2d ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → ( 𝐴o ( 𝑘 ) ) = ( 𝐴o ( 𝐺𝑘 ) ) )
26 simpl ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → 𝑓 = 𝐹 )
27 26 24 fveq12d ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → ( 𝑓 ‘ ( 𝑘 ) ) = ( 𝐹 ‘ ( 𝐺𝑘 ) ) )
28 25 27 oveq12d ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) = ( ( 𝐴o ( 𝐺𝑘 ) ) ·o ( 𝐹 ‘ ( 𝐺𝑘 ) ) ) )
29 28 oveq1d ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) = ( ( ( 𝐴o ( 𝐺𝑘 ) ) ·o ( 𝐹 ‘ ( 𝐺𝑘 ) ) ) +o 𝑧 ) )
30 29 mpoeq3dv ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) = ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝐺𝑘 ) ) ·o ( 𝐹 ‘ ( 𝐺𝑘 ) ) ) +o 𝑧 ) ) )
31 eqid ∅ = ∅
32 seqomeq12 ( ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) = ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝐺𝑘 ) ) ·o ( 𝐹 ‘ ( 𝐺𝑘 ) ) ) +o 𝑧 ) ) ∧ ∅ = ∅ ) → seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) = seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝐺𝑘 ) ) ·o ( 𝐹 ‘ ( 𝐺𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) )
33 30 31 32 sylancl ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) = seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝐺𝑘 ) ) ·o ( 𝐹 ‘ ( 𝐺𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) )
34 33 6 eqtr4di ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) = 𝐻 )
35 23 dmeqd ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → dom = dom 𝐺 )
36 34 35 fveq12d ( ( 𝑓 = 𝐹 = OrdIso ( E , ( 𝑓 supp ∅ ) ) ) → ( seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) ‘ dom ) = ( 𝐻 ‘ dom 𝐺 ) )
37 16 36 csbied ( 𝑓 = 𝐹 OrdIso ( E , ( 𝑓 supp ∅ ) ) / ( seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) ‘ dom ) = ( 𝐻 ‘ dom 𝐺 ) )
38 eqid ( 𝑓 ∈ { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } ↦ OrdIso ( E , ( 𝑓 supp ∅ ) ) / ( seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) ‘ dom ) ) = ( 𝑓 ∈ { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } ↦ OrdIso ( E , ( 𝑓 supp ∅ ) ) / ( seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) ‘ dom ) )
39 fvex ( 𝐻 ‘ dom 𝐺 ) ∈ V
40 37 38 39 fvmpt ( 𝐹 ∈ { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } → ( ( 𝑓 ∈ { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } ↦ OrdIso ( E , ( 𝑓 supp ∅ ) ) / ( seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) ‘ dom ) ) ‘ 𝐹 ) = ( 𝐻 ‘ dom 𝐺 ) )
41 12 40 syl ( 𝜑 → ( ( 𝑓 ∈ { 𝑔 ∈ ( 𝐴m 𝐵 ) ∣ 𝑔 finSupp ∅ } ↦ OrdIso ( E , ( 𝑓 supp ∅ ) ) / ( seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( 𝑘 ) ) ·o ( 𝑓 ‘ ( 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) ‘ dom ) ) ‘ 𝐹 ) = ( 𝐻 ‘ dom 𝐺 ) )
42 9 41 eqtrd ( 𝜑 → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( 𝐻 ‘ dom 𝐺 ) )