Metamath Proof Explorer


Theorem naddcnfid1

Description: Identity law for component-wise ordinal addition of Cantor normal forms. (Contributed by RP, 3-Jan-2025)

Ref Expression
Assertion naddcnfid1 ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) → ( 𝐹f +o ( 𝑋 × { ∅ } ) ) = 𝐹 )

Proof

Step Hyp Ref Expression
1 peano1 ∅ ∈ ω
2 fconst6g ( ∅ ∈ ω → ( 𝑋 × { ∅ } ) : 𝑋 ⟶ ω )
3 1 2 mp1i ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑋 × { ∅ } ) : 𝑋 ⟶ ω )
4 simpl ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → 𝑋 ∈ On )
5 1 a1i ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ∅ ∈ ω )
6 4 5 fczfsuppd ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑋 × { ∅ } ) finSupp ∅ )
7 simpr ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → 𝑆 = dom ( ω CNF 𝑋 ) )
8 7 eleq2d ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( ( 𝑋 × { ∅ } ) ∈ 𝑆 ↔ ( 𝑋 × { ∅ } ) ∈ dom ( ω CNF 𝑋 ) ) )
9 eqid dom ( ω CNF 𝑋 ) = dom ( ω CNF 𝑋 )
10 omelon ω ∈ On
11 10 a1i ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ω ∈ On )
12 9 11 4 cantnfs ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( ( 𝑋 × { ∅ } ) ∈ dom ( ω CNF 𝑋 ) ↔ ( ( 𝑋 × { ∅ } ) : 𝑋 ⟶ ω ∧ ( 𝑋 × { ∅ } ) finSupp ∅ ) ) )
13 8 12 bitrd ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( ( 𝑋 × { ∅ } ) ∈ 𝑆 ↔ ( ( 𝑋 × { ∅ } ) : 𝑋 ⟶ ω ∧ ( 𝑋 × { ∅ } ) finSupp ∅ ) ) )
14 3 6 13 mpbir2and ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝑋 × { ∅ } ) ∈ 𝑆 )
15 7 eleq2d ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐹𝑆𝐹 ∈ dom ( ω CNF 𝑋 ) ) )
16 9 11 4 cantnfs ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐹 ∈ dom ( ω CNF 𝑋 ) ↔ ( 𝐹 : 𝑋 ⟶ ω ∧ 𝐹 finSupp ∅ ) ) )
17 15 16 bitrd ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) → ( 𝐹𝑆 ↔ ( 𝐹 : 𝑋 ⟶ ω ∧ 𝐹 finSupp ∅ ) ) )
18 17 simprbda ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) → 𝐹 : 𝑋 ⟶ ω )
19 18 ffnd ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) → 𝐹 Fn 𝑋 )
20 19 adantr ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) → 𝐹 Fn 𝑋 )
21 2 ffnd ( ∅ ∈ ω → ( 𝑋 × { ∅ } ) Fn 𝑋 )
22 1 21 mp1i ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) → ( 𝑋 × { ∅ } ) Fn 𝑋 )
23 simplll ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) → 𝑋 ∈ On )
24 inidm ( 𝑋𝑋 ) = 𝑋
25 20 22 23 23 24 offn ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) → ( 𝐹f +o ( 𝑋 × { ∅ } ) ) Fn 𝑋 )
26 20 adantr ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → 𝐹 Fn 𝑋 )
27 1 21 mp1i ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → ( 𝑋 × { ∅ } ) Fn 𝑋 )
28 simp-4l ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → 𝑋 ∈ On )
29 simpr ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → 𝑥𝑋 )
30 fnfvof ( ( ( 𝐹 Fn 𝑋 ∧ ( 𝑋 × { ∅ } ) Fn 𝑋 ) ∧ ( 𝑋 ∈ On ∧ 𝑥𝑋 ) ) → ( ( 𝐹f +o ( 𝑋 × { ∅ } ) ) ‘ 𝑥 ) = ( ( 𝐹𝑥 ) +o ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) ) )
31 26 27 28 29 30 syl22anc ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → ( ( 𝐹f +o ( 𝑋 × { ∅ } ) ) ‘ 𝑥 ) = ( ( 𝐹𝑥 ) +o ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) ) )
32 fvconst2g ( ( ∅ ∈ ω ∧ 𝑥𝑋 ) → ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) = ∅ )
33 1 29 32 sylancr ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) = ∅ )
34 33 oveq2d ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → ( ( 𝐹𝑥 ) +o ( ( 𝑋 × { ∅ } ) ‘ 𝑥 ) ) = ( ( 𝐹𝑥 ) +o ∅ ) )
35 18 adantr ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) → 𝐹 : 𝑋 ⟶ ω )
36 35 ffvelcdmda ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → ( 𝐹𝑥 ) ∈ ω )
37 nna0 ( ( 𝐹𝑥 ) ∈ ω → ( ( 𝐹𝑥 ) +o ∅ ) = ( 𝐹𝑥 ) )
38 36 37 syl ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → ( ( 𝐹𝑥 ) +o ∅ ) = ( 𝐹𝑥 ) )
39 31 34 38 3eqtrd ( ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) ∧ 𝑥𝑋 ) → ( ( 𝐹f +o ( 𝑋 × { ∅ } ) ) ‘ 𝑥 ) = ( 𝐹𝑥 ) )
40 25 20 39 eqfnfvd ( ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) ∧ ( 𝑋 × { ∅ } ) ∈ 𝑆 ) → ( 𝐹f +o ( 𝑋 × { ∅ } ) ) = 𝐹 )
41 14 40 mpidan ( ( ( 𝑋 ∈ On ∧ 𝑆 = dom ( ω CNF 𝑋 ) ) ∧ 𝐹𝑆 ) → ( 𝐹f +o ( 𝑋 × { ∅ } ) ) = 𝐹 )