Metamath Proof Explorer


Theorem cantnfp1

Description: If F is created by adding a single term ( FX ) = Y to G , where X is larger than any element of the support of G , then F is also a finitely supported function and it is assigned the value ( ( A ^o X ) .o Y ) +o z where z is the value of G . (Contributed by Mario Carneiro, 28-May-2015) (Revised by AV, 1-Jul-2019)

Ref Expression
Hypotheses cantnfs.s 𝑆 = dom ( 𝐴 CNF 𝐵 )
cantnfs.a ( 𝜑𝐴 ∈ On )
cantnfs.b ( 𝜑𝐵 ∈ On )
cantnfp1.g ( 𝜑𝐺𝑆 )
cantnfp1.x ( 𝜑𝑋𝐵 )
cantnfp1.y ( 𝜑𝑌𝐴 )
cantnfp1.s ( 𝜑 → ( 𝐺 supp ∅ ) ⊆ 𝑋 )
cantnfp1.f 𝐹 = ( 𝑡𝐵 ↦ if ( 𝑡 = 𝑋 , 𝑌 , ( 𝐺𝑡 ) ) )
Assertion cantnfp1 ( 𝜑 → ( 𝐹𝑆 ∧ ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( ( ( 𝐴o 𝑋 ) ·o 𝑌 ) +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) ) )

Proof

Step Hyp Ref Expression
1 cantnfs.s 𝑆 = dom ( 𝐴 CNF 𝐵 )
2 cantnfs.a ( 𝜑𝐴 ∈ On )
3 cantnfs.b ( 𝜑𝐵 ∈ On )
4 cantnfp1.g ( 𝜑𝐺𝑆 )
5 cantnfp1.x ( 𝜑𝑋𝐵 )
6 cantnfp1.y ( 𝜑𝑌𝐴 )
7 cantnfp1.s ( 𝜑 → ( 𝐺 supp ∅ ) ⊆ 𝑋 )
8 cantnfp1.f 𝐹 = ( 𝑡𝐵 ↦ if ( 𝑡 = 𝑋 , 𝑌 , ( 𝐺𝑡 ) ) )
9 onelon ( ( 𝐵 ∈ On ∧ 𝑋𝐵 ) → 𝑋 ∈ On )
10 3 5 9 syl2anc ( 𝜑𝑋 ∈ On )
11 eloni ( 𝑋 ∈ On → Ord 𝑋 )
12 ordirr ( Ord 𝑋 → ¬ 𝑋𝑋 )
13 10 11 12 3syl ( 𝜑 → ¬ 𝑋𝑋 )
14 fvex ( 𝐺𝑋 ) ∈ V
15 dif1o ( ( 𝐺𝑋 ) ∈ ( V ∖ 1o ) ↔ ( ( 𝐺𝑋 ) ∈ V ∧ ( 𝐺𝑋 ) ≠ ∅ ) )
16 14 15 mpbiran ( ( 𝐺𝑋 ) ∈ ( V ∖ 1o ) ↔ ( 𝐺𝑋 ) ≠ ∅ )
17 1 2 3 cantnfs ( 𝜑 → ( 𝐺𝑆 ↔ ( 𝐺 : 𝐵𝐴𝐺 finSupp ∅ ) ) )
18 4 17 mpbid ( 𝜑 → ( 𝐺 : 𝐵𝐴𝐺 finSupp ∅ ) )
19 18 simpld ( 𝜑𝐺 : 𝐵𝐴 )
20 19 ffnd ( 𝜑𝐺 Fn 𝐵 )
21 0ex ∅ ∈ V
22 21 a1i ( 𝜑 → ∅ ∈ V )
23 elsuppfn ( ( 𝐺 Fn 𝐵𝐵 ∈ On ∧ ∅ ∈ V ) → ( 𝑋 ∈ ( 𝐺 supp ∅ ) ↔ ( 𝑋𝐵 ∧ ( 𝐺𝑋 ) ≠ ∅ ) ) )
24 20 3 22 23 syl3anc ( 𝜑 → ( 𝑋 ∈ ( 𝐺 supp ∅ ) ↔ ( 𝑋𝐵 ∧ ( 𝐺𝑋 ) ≠ ∅ ) ) )
25 16 bicomi ( ( 𝐺𝑋 ) ≠ ∅ ↔ ( 𝐺𝑋 ) ∈ ( V ∖ 1o ) )
26 25 a1i ( 𝜑 → ( ( 𝐺𝑋 ) ≠ ∅ ↔ ( 𝐺𝑋 ) ∈ ( V ∖ 1o ) ) )
27 26 anbi2d ( 𝜑 → ( ( 𝑋𝐵 ∧ ( 𝐺𝑋 ) ≠ ∅ ) ↔ ( 𝑋𝐵 ∧ ( 𝐺𝑋 ) ∈ ( V ∖ 1o ) ) ) )
28 24 27 bitrd ( 𝜑 → ( 𝑋 ∈ ( 𝐺 supp ∅ ) ↔ ( 𝑋𝐵 ∧ ( 𝐺𝑋 ) ∈ ( V ∖ 1o ) ) ) )
29 7 sseld ( 𝜑 → ( 𝑋 ∈ ( 𝐺 supp ∅ ) → 𝑋𝑋 ) )
30 28 29 sylbird ( 𝜑 → ( ( 𝑋𝐵 ∧ ( 𝐺𝑋 ) ∈ ( V ∖ 1o ) ) → 𝑋𝑋 ) )
31 5 30 mpand ( 𝜑 → ( ( 𝐺𝑋 ) ∈ ( V ∖ 1o ) → 𝑋𝑋 ) )
32 16 31 syl5bir ( 𝜑 → ( ( 𝐺𝑋 ) ≠ ∅ → 𝑋𝑋 ) )
33 32 necon1bd ( 𝜑 → ( ¬ 𝑋𝑋 → ( 𝐺𝑋 ) = ∅ ) )
34 13 33 mpd ( 𝜑 → ( 𝐺𝑋 ) = ∅ )
35 34 ad3antrrr ( ( ( ( 𝜑𝑌 = ∅ ) ∧ 𝑡𝐵 ) ∧ 𝑡 = 𝑋 ) → ( 𝐺𝑋 ) = ∅ )
36 simpr ( ( ( ( 𝜑𝑌 = ∅ ) ∧ 𝑡𝐵 ) ∧ 𝑡 = 𝑋 ) → 𝑡 = 𝑋 )
37 36 fveq2d ( ( ( ( 𝜑𝑌 = ∅ ) ∧ 𝑡𝐵 ) ∧ 𝑡 = 𝑋 ) → ( 𝐺𝑡 ) = ( 𝐺𝑋 ) )
38 simpllr ( ( ( ( 𝜑𝑌 = ∅ ) ∧ 𝑡𝐵 ) ∧ 𝑡 = 𝑋 ) → 𝑌 = ∅ )
39 35 37 38 3eqtr4rd ( ( ( ( 𝜑𝑌 = ∅ ) ∧ 𝑡𝐵 ) ∧ 𝑡 = 𝑋 ) → 𝑌 = ( 𝐺𝑡 ) )
40 eqidd ( ( ( ( 𝜑𝑌 = ∅ ) ∧ 𝑡𝐵 ) ∧ ¬ 𝑡 = 𝑋 ) → ( 𝐺𝑡 ) = ( 𝐺𝑡 ) )
41 39 40 ifeqda ( ( ( 𝜑𝑌 = ∅ ) ∧ 𝑡𝐵 ) → if ( 𝑡 = 𝑋 , 𝑌 , ( 𝐺𝑡 ) ) = ( 𝐺𝑡 ) )
42 41 mpteq2dva ( ( 𝜑𝑌 = ∅ ) → ( 𝑡𝐵 ↦ if ( 𝑡 = 𝑋 , 𝑌 , ( 𝐺𝑡 ) ) ) = ( 𝑡𝐵 ↦ ( 𝐺𝑡 ) ) )
43 8 42 eqtrid ( ( 𝜑𝑌 = ∅ ) → 𝐹 = ( 𝑡𝐵 ↦ ( 𝐺𝑡 ) ) )
44 19 feqmptd ( 𝜑𝐺 = ( 𝑡𝐵 ↦ ( 𝐺𝑡 ) ) )
45 44 adantr ( ( 𝜑𝑌 = ∅ ) → 𝐺 = ( 𝑡𝐵 ↦ ( 𝐺𝑡 ) ) )
46 43 45 eqtr4d ( ( 𝜑𝑌 = ∅ ) → 𝐹 = 𝐺 )
47 4 adantr ( ( 𝜑𝑌 = ∅ ) → 𝐺𝑆 )
48 46 47 eqeltrd ( ( 𝜑𝑌 = ∅ ) → 𝐹𝑆 )
49 oecl ( ( 𝐴 ∈ On ∧ 𝐵 ∈ On ) → ( 𝐴o 𝐵 ) ∈ On )
50 2 3 49 syl2anc ( 𝜑 → ( 𝐴o 𝐵 ) ∈ On )
51 1 2 3 cantnff ( 𝜑 → ( 𝐴 CNF 𝐵 ) : 𝑆 ⟶ ( 𝐴o 𝐵 ) )
52 51 4 ffvelrnd ( 𝜑 → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ∈ ( 𝐴o 𝐵 ) )
53 onelon ( ( ( 𝐴o 𝐵 ) ∈ On ∧ ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ∈ ( 𝐴o 𝐵 ) ) → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ∈ On )
54 50 52 53 syl2anc ( 𝜑 → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ∈ On )
55 54 adantr ( ( 𝜑𝑌 = ∅ ) → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ∈ On )
56 oa0r ( ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ∈ On → ( ∅ +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) = ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) )
57 55 56 syl ( ( 𝜑𝑌 = ∅ ) → ( ∅ +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) = ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) )
58 oveq2 ( 𝑌 = ∅ → ( ( 𝐴o 𝑋 ) ·o 𝑌 ) = ( ( 𝐴o 𝑋 ) ·o ∅ ) )
59 oecl ( ( 𝐴 ∈ On ∧ 𝑋 ∈ On ) → ( 𝐴o 𝑋 ) ∈ On )
60 2 10 59 syl2anc ( 𝜑 → ( 𝐴o 𝑋 ) ∈ On )
61 om0 ( ( 𝐴o 𝑋 ) ∈ On → ( ( 𝐴o 𝑋 ) ·o ∅ ) = ∅ )
62 60 61 syl ( 𝜑 → ( ( 𝐴o 𝑋 ) ·o ∅ ) = ∅ )
63 58 62 sylan9eqr ( ( 𝜑𝑌 = ∅ ) → ( ( 𝐴o 𝑋 ) ·o 𝑌 ) = ∅ )
64 63 oveq1d ( ( 𝜑𝑌 = ∅ ) → ( ( ( 𝐴o 𝑋 ) ·o 𝑌 ) +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) = ( ∅ +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) )
65 46 fveq2d ( ( 𝜑𝑌 = ∅ ) → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) )
66 57 64 65 3eqtr4rd ( ( 𝜑𝑌 = ∅ ) → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( ( ( 𝐴o 𝑋 ) ·o 𝑌 ) +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) )
67 48 66 jca ( ( 𝜑𝑌 = ∅ ) → ( 𝐹𝑆 ∧ ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( ( ( 𝐴o 𝑋 ) ·o 𝑌 ) +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) ) )
68 2 adantr ( ( 𝜑𝑌 ≠ ∅ ) → 𝐴 ∈ On )
69 3 adantr ( ( 𝜑𝑌 ≠ ∅ ) → 𝐵 ∈ On )
70 4 adantr ( ( 𝜑𝑌 ≠ ∅ ) → 𝐺𝑆 )
71 5 adantr ( ( 𝜑𝑌 ≠ ∅ ) → 𝑋𝐵 )
72 6 adantr ( ( 𝜑𝑌 ≠ ∅ ) → 𝑌𝐴 )
73 7 adantr ( ( 𝜑𝑌 ≠ ∅ ) → ( 𝐺 supp ∅ ) ⊆ 𝑋 )
74 1 68 69 70 71 72 73 8 cantnfp1lem1 ( ( 𝜑𝑌 ≠ ∅ ) → 𝐹𝑆 )
75 onelon ( ( 𝐴 ∈ On ∧ 𝑌𝐴 ) → 𝑌 ∈ On )
76 2 6 75 syl2anc ( 𝜑𝑌 ∈ On )
77 on0eln0 ( 𝑌 ∈ On → ( ∅ ∈ 𝑌𝑌 ≠ ∅ ) )
78 76 77 syl ( 𝜑 → ( ∅ ∈ 𝑌𝑌 ≠ ∅ ) )
79 78 biimpar ( ( 𝜑𝑌 ≠ ∅ ) → ∅ ∈ 𝑌 )
80 eqid OrdIso ( E , ( 𝐹 supp ∅ ) ) = OrdIso ( E , ( 𝐹 supp ∅ ) )
81 eqid seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( OrdIso ( E , ( 𝐹 supp ∅ ) ) ‘ 𝑘 ) ) ·o ( 𝐹 ‘ ( OrdIso ( E , ( 𝐹 supp ∅ ) ) ‘ 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) = seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( OrdIso ( E , ( 𝐹 supp ∅ ) ) ‘ 𝑘 ) ) ·o ( 𝐹 ‘ ( OrdIso ( E , ( 𝐹 supp ∅ ) ) ‘ 𝑘 ) ) ) +o 𝑧 ) ) , ∅ )
82 eqid OrdIso ( E , ( 𝐺 supp ∅ ) ) = OrdIso ( E , ( 𝐺 supp ∅ ) )
83 eqid seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( OrdIso ( E , ( 𝐺 supp ∅ ) ) ‘ 𝑘 ) ) ·o ( 𝐺 ‘ ( OrdIso ( E , ( 𝐺 supp ∅ ) ) ‘ 𝑘 ) ) ) +o 𝑧 ) ) , ∅ ) = seqω ( ( 𝑘 ∈ V , 𝑧 ∈ V ↦ ( ( ( 𝐴o ( OrdIso ( E , ( 𝐺 supp ∅ ) ) ‘ 𝑘 ) ) ·o ( 𝐺 ‘ ( OrdIso ( E , ( 𝐺 supp ∅ ) ) ‘ 𝑘 ) ) ) +o 𝑧 ) ) , ∅ )
84 1 68 69 70 71 72 73 8 79 80 81 82 83 cantnfp1lem3 ( ( 𝜑𝑌 ≠ ∅ ) → ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( ( ( 𝐴o 𝑋 ) ·o 𝑌 ) +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) )
85 74 84 jca ( ( 𝜑𝑌 ≠ ∅ ) → ( 𝐹𝑆 ∧ ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( ( ( 𝐴o 𝑋 ) ·o 𝑌 ) +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) ) )
86 67 85 pm2.61dane ( 𝜑 → ( 𝐹𝑆 ∧ ( ( 𝐴 CNF 𝐵 ) ‘ 𝐹 ) = ( ( ( 𝐴o 𝑋 ) ·o 𝑌 ) +o ( ( 𝐴 CNF 𝐵 ) ‘ 𝐺 ) ) ) )