Metamath Proof Explorer


Theorem naddcnfcom

Description: Component-wise ordinal addition of Cantor normal forms commutes. (Contributed by RP, 2-Jan-2025)

Ref Expression
Assertion naddcnfcom ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) → ( 𝐹f +o 𝐺 ) = ( 𝐺f +o 𝐹 ) )

Proof

Step Hyp Ref Expression
1 simpr ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → 𝑆 = dom ( ω CNF 𝑋 ) )
2 1 eleq2d ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐹𝑆𝐹 ∈ dom ( ω CNF 𝑋 ) ) )
3 eqid dom ( ω CNF 𝑋 ) = dom ( ω CNF 𝑋 )
4 omelon ω ∈ On
5 4 a1i ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ω ∈ On )
6 simpl ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → 𝑋 ∈ On )
7 3 5 6 cantnfs ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐹 ∈ dom ( ω CNF 𝑋 ) ↔ ( 𝐹 : 𝑋 ⟶ ω ∧ 𝐹 finSupp ∅ ) ) )
8 2 7 bitrd ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐹𝑆 ↔ ( 𝐹 : 𝑋 ⟶ ω ∧ 𝐹 finSupp ∅ ) ) )
9 simpl ( ( 𝐹 : 𝑋 ⟶ ω ∧ 𝐹 finSupp ∅ ) → 𝐹 : 𝑋 ⟶ ω )
10 8 9 biimtrdi ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐹𝑆𝐹 : 𝑋 ⟶ ω ) )
11 simpl ( ( 𝐹𝑆𝐺𝑆 ) → 𝐹𝑆 )
12 10 11 impel ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) → 𝐹 : 𝑋 ⟶ ω )
13 12 ffnd ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) → 𝐹 Fn 𝑋 )
14 1 eleq2d ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐺𝑆𝐺 ∈ dom ( ω CNF 𝑋 ) ) )
15 3 5 6 cantnfs ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐺 ∈ dom ( ω CNF 𝑋 ) ↔ ( 𝐺 : 𝑋 ⟶ ω ∧ 𝐺 finSupp ∅ ) ) )
16 14 15 bitrd ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐺𝑆 ↔ ( 𝐺 : 𝑋 ⟶ ω ∧ 𝐺 finSupp ∅ ) ) )
17 simpl ( ( 𝐺 : 𝑋 ⟶ ω ∧ 𝐺 finSupp ∅ ) → 𝐺 : 𝑋 ⟶ ω )
18 16 17 biimtrdi ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐺𝑆𝐺 : 𝑋 ⟶ ω ) )
19 simpr ( ( 𝐹𝑆𝐺𝑆 ) → 𝐺𝑆 )
20 18 19 impel ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) → 𝐺 : 𝑋 ⟶ ω )
21 20 ffnd ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) → 𝐺 Fn 𝑋 )
22 simpll ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) → 𝑋 ∈ On )
23 inidm ( 𝑋𝑋 ) = 𝑋
24 13 21 22 22 23 offn ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) → ( 𝐹f +o 𝐺 ) Fn 𝑋 )
25 21 13 22 22 23 offn ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) → ( 𝐺f +o 𝐹 ) Fn 𝑋 )
26 12 ffvelcdmda ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → ( 𝐹𝑥 ) ∈ ω )
27 20 ffvelcdmda ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → ( 𝐺𝑥 ) ∈ ω )
28 nnacom ( ( ( 𝐹𝑥 ) ∈ ω ∧ ( 𝐺𝑥 ) ∈ ω ) → ( ( 𝐹𝑥 ) +o ( 𝐺𝑥 ) ) = ( ( 𝐺𝑥 ) +o ( 𝐹𝑥 ) ) )
29 26 27 28 syl2anc ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → ( ( 𝐹𝑥 ) +o ( 𝐺𝑥 ) ) = ( ( 𝐺𝑥 ) +o ( 𝐹𝑥 ) ) )
30 13 adantr ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → 𝐹 Fn 𝑋 )
31 21 adantr ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → 𝐺 Fn 𝑋 )
32 simplll ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → 𝑋 ∈ On )
33 simpr ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → 𝑥𝑋 )
34 fnfvof ( ( ( 𝐹 Fn 𝑋𝐺 Fn 𝑋 ) ∧ ( 𝑋 ∈ On ∧ 𝑥𝑋 ) ) → ( ( 𝐹f +o 𝐺 ) ‘ 𝑥 ) = ( ( 𝐹𝑥 ) +o ( 𝐺𝑥 ) ) )
35 30 31 32 33 34 syl22anc ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → ( ( 𝐹f +o 𝐺 ) ‘ 𝑥 ) = ( ( 𝐹𝑥 ) +o ( 𝐺𝑥 ) ) )
36 fnfvof ( ( ( 𝐺 Fn 𝑋𝐹 Fn 𝑋 ) ∧ ( 𝑋 ∈ On ∧ 𝑥𝑋 ) ) → ( ( 𝐺f +o 𝐹 ) ‘ 𝑥 ) = ( ( 𝐺𝑥 ) +o ( 𝐹𝑥 ) ) )
37 31 30 32 33 36 syl22anc ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → ( ( 𝐺f +o 𝐹 ) ‘ 𝑥 ) = ( ( 𝐺𝑥 ) +o ( 𝐹𝑥 ) ) )
38 29 35 37 3eqtr4d ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) ∧ 𝑥𝑋 ) → ( ( 𝐹f +o 𝐺 ) ‘ 𝑥 ) = ( ( 𝐺f +o 𝐹 ) ‘ 𝑥 ) )
39 24 25 38 eqfnfvd ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ ( 𝐹𝑆𝐺𝑆 ) ) → ( 𝐹f +o 𝐺 ) = ( 𝐺f +o 𝐹 ) )