Metamath Proof Explorer


Theorem noseqrdgfn

Description: The recursive definition generator on surreal sequences is a function. (Contributed by Scott Fenton, 18-Apr-2025)

Ref Expression
Hypotheses om2noseq.1 ( 𝜑𝐶 No )
om2noseq.2 ( 𝜑𝐺 = ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 +s 1s ) ) , 𝐶 ) ↾ ω ) )
om2noseq.3 ( 𝜑𝑍 = ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 +s 1s ) ) , 𝐶 ) “ ω ) )
noseqrdg.1 ( 𝜑𝐴𝑉 )
noseqrdg.2 ( 𝜑𝑅 = ( rec ( ( 𝑥 ∈ V , 𝑦 ∈ V ↦ ⟨ ( 𝑥 +s 1s ) , ( 𝑥 𝐹 𝑦 ) ⟩ ) , ⟨ 𝐶 , 𝐴 ⟩ ) ↾ ω ) )
noseqrdg.3 ( 𝜑𝑆 = ran 𝑅 )
Assertion noseqrdgfn ( 𝜑𝑆 Fn 𝑍 )

Proof

Step Hyp Ref Expression
1 om2noseq.1 ( 𝜑𝐶 No )
2 om2noseq.2 ( 𝜑𝐺 = ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 +s 1s ) ) , 𝐶 ) ↾ ω ) )
3 om2noseq.3 ( 𝜑𝑍 = ( rec ( ( 𝑥 ∈ V ↦ ( 𝑥 +s 1s ) ) , 𝐶 ) “ ω ) )
4 noseqrdg.1 ( 𝜑𝐴𝑉 )
5 noseqrdg.2 ( 𝜑𝑅 = ( rec ( ( 𝑥 ∈ V , 𝑦 ∈ V ↦ ⟨ ( 𝑥 +s 1s ) , ( 𝑥 𝐹 𝑦 ) ⟩ ) , ⟨ 𝐶 , 𝐴 ⟩ ) ↾ ω ) )
6 noseqrdg.3 ( 𝜑𝑆 = ran 𝑅 )
7 6 eleq2d ( 𝜑 → ( 𝑧𝑆𝑧 ∈ ran 𝑅 ) )
8 frfnom ( rec ( ( 𝑥 ∈ V , 𝑦 ∈ V ↦ ⟨ ( 𝑥 +s 1s ) , ( 𝑥 𝐹 𝑦 ) ⟩ ) , ⟨ 𝐶 , 𝐴 ⟩ ) ↾ ω ) Fn ω
9 5 fneq1d ( 𝜑 → ( 𝑅 Fn ω ↔ ( rec ( ( 𝑥 ∈ V , 𝑦 ∈ V ↦ ⟨ ( 𝑥 +s 1s ) , ( 𝑥 𝐹 𝑦 ) ⟩ ) , ⟨ 𝐶 , 𝐴 ⟩ ) ↾ ω ) Fn ω ) )
10 8 9 mpbiri ( 𝜑𝑅 Fn ω )
11 fvelrnb ( 𝑅 Fn ω → ( 𝑧 ∈ ran 𝑅 ↔ ∃ 𝑤 ∈ ω ( 𝑅𝑤 ) = 𝑧 ) )
12 10 11 syl ( 𝜑 → ( 𝑧 ∈ ran 𝑅 ↔ ∃ 𝑤 ∈ ω ( 𝑅𝑤 ) = 𝑧 ) )
13 7 12 bitrd ( 𝜑 → ( 𝑧𝑆 ↔ ∃ 𝑤 ∈ ω ( 𝑅𝑤 ) = 𝑧 ) )
14 1 2 3 4 5 om2noseqrdg ( ( 𝜑𝑤 ∈ ω ) → ( 𝑅𝑤 ) = ⟨ ( 𝐺𝑤 ) , ( 2nd ‘ ( 𝑅𝑤 ) ) ⟩ )
15 1 2 3 om2noseqfo ( 𝜑𝐺 : ω –onto𝑍 )
16 fof ( 𝐺 : ω –onto𝑍𝐺 : ω ⟶ 𝑍 )
17 15 16 syl ( 𝜑𝐺 : ω ⟶ 𝑍 )
18 17 ffvelcdmda ( ( 𝜑𝑤 ∈ ω ) → ( 𝐺𝑤 ) ∈ 𝑍 )
19 fvex ( 2nd ‘ ( 𝑅𝑤 ) ) ∈ V
20 opelxpi ( ( ( 𝐺𝑤 ) ∈ 𝑍 ∧ ( 2nd ‘ ( 𝑅𝑤 ) ) ∈ V ) → ⟨ ( 𝐺𝑤 ) , ( 2nd ‘ ( 𝑅𝑤 ) ) ⟩ ∈ ( 𝑍 × V ) )
21 18 19 20 sylancl ( ( 𝜑𝑤 ∈ ω ) → ⟨ ( 𝐺𝑤 ) , ( 2nd ‘ ( 𝑅𝑤 ) ) ⟩ ∈ ( 𝑍 × V ) )
22 14 21 eqeltrd ( ( 𝜑𝑤 ∈ ω ) → ( 𝑅𝑤 ) ∈ ( 𝑍 × V ) )
23 eleq1 ( ( 𝑅𝑤 ) = 𝑧 → ( ( 𝑅𝑤 ) ∈ ( 𝑍 × V ) ↔ 𝑧 ∈ ( 𝑍 × V ) ) )
24 22 23 syl5ibcom ( ( 𝜑𝑤 ∈ ω ) → ( ( 𝑅𝑤 ) = 𝑧𝑧 ∈ ( 𝑍 × V ) ) )
25 24 rexlimdva ( 𝜑 → ( ∃ 𝑤 ∈ ω ( 𝑅𝑤 ) = 𝑧𝑧 ∈ ( 𝑍 × V ) ) )
26 13 25 sylbid ( 𝜑 → ( 𝑧𝑆𝑧 ∈ ( 𝑍 × V ) ) )
27 26 ssrdv ( 𝜑𝑆 ⊆ ( 𝑍 × V ) )
28 relxp Rel ( 𝑍 × V )
29 relss ( 𝑆 ⊆ ( 𝑍 × V ) → ( Rel ( 𝑍 × V ) → Rel 𝑆 ) )
30 27 28 29 mpisyl ( 𝜑 → Rel 𝑆 )
31 6 eleq2d ( 𝜑 → ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆 ↔ ⟨ 𝑣 , 𝑧 ⟩ ∈ ran 𝑅 ) )
32 fvelrnb ( 𝑅 Fn ω → ( ⟨ 𝑣 , 𝑧 ⟩ ∈ ran 𝑅 ↔ ∃ 𝑤 ∈ ω ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) )
33 10 32 syl ( 𝜑 → ( ⟨ 𝑣 , 𝑧 ⟩ ∈ ran 𝑅 ↔ ∃ 𝑤 ∈ ω ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) )
34 31 33 bitrd ( 𝜑 → ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆 ↔ ∃ 𝑤 ∈ ω ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) )
35 14 eqeq1d ( ( 𝜑𝑤 ∈ ω ) → ( ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ↔ ⟨ ( 𝐺𝑤 ) , ( 2nd ‘ ( 𝑅𝑤 ) ) ⟩ = ⟨ 𝑣 , 𝑧 ⟩ ) )
36 35 biimpd ( ( 𝜑𝑤 ∈ ω ) → ( ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ → ⟨ ( 𝐺𝑤 ) , ( 2nd ‘ ( 𝑅𝑤 ) ) ⟩ = ⟨ 𝑣 , 𝑧 ⟩ ) )
37 36 impr ( ( 𝜑 ∧ ( 𝑤 ∈ ω ∧ ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) ) → ⟨ ( 𝐺𝑤 ) , ( 2nd ‘ ( 𝑅𝑤 ) ) ⟩ = ⟨ 𝑣 , 𝑧 ⟩ )
38 fvex ( 𝐺𝑤 ) ∈ V
39 38 19 opth1 ( ⟨ ( 𝐺𝑤 ) , ( 2nd ‘ ( 𝑅𝑤 ) ) ⟩ = ⟨ 𝑣 , 𝑧 ⟩ → ( 𝐺𝑤 ) = 𝑣 )
40 37 39 syl ( ( 𝜑 ∧ ( 𝑤 ∈ ω ∧ ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) ) → ( 𝐺𝑤 ) = 𝑣 )
41 1 2 3 om2noseqf1o ( 𝜑𝐺 : ω –1-1-onto𝑍 )
42 f1ocnvfv ( ( 𝐺 : ω –1-1-onto𝑍𝑤 ∈ ω ) → ( ( 𝐺𝑤 ) = 𝑣 → ( 𝐺𝑣 ) = 𝑤 ) )
43 41 42 sylan ( ( 𝜑𝑤 ∈ ω ) → ( ( 𝐺𝑤 ) = 𝑣 → ( 𝐺𝑣 ) = 𝑤 ) )
44 43 adantrr ( ( 𝜑 ∧ ( 𝑤 ∈ ω ∧ ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) ) → ( ( 𝐺𝑤 ) = 𝑣 → ( 𝐺𝑣 ) = 𝑤 ) )
45 40 44 mpd ( ( 𝜑 ∧ ( 𝑤 ∈ ω ∧ ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) ) → ( 𝐺𝑣 ) = 𝑤 )
46 45 fveq2d ( ( 𝜑 ∧ ( 𝑤 ∈ ω ∧ ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) ) → ( 𝑅 ‘ ( 𝐺𝑣 ) ) = ( 𝑅𝑤 ) )
47 46 fveq2d ( ( 𝜑 ∧ ( 𝑤 ∈ ω ∧ ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) ) → ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) = ( 2nd ‘ ( 𝑅𝑤 ) ) )
48 vex 𝑣 ∈ V
49 vex 𝑧 ∈ V
50 48 49 op2ndd ( ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ → ( 2nd ‘ ( 𝑅𝑤 ) ) = 𝑧 )
51 50 ad2antll ( ( 𝜑 ∧ ( 𝑤 ∈ ω ∧ ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) ) → ( 2nd ‘ ( 𝑅𝑤 ) ) = 𝑧 )
52 47 51 eqtr2d ( ( 𝜑 ∧ ( 𝑤 ∈ ω ∧ ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ ) ) → 𝑧 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) )
53 52 rexlimdvaa ( 𝜑 → ( ∃ 𝑤 ∈ ω ( 𝑅𝑤 ) = ⟨ 𝑣 , 𝑧 ⟩ → 𝑧 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ) )
54 34 53 sylbid ( 𝜑 → ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ) )
55 54 alrimiv ( 𝜑 → ∀ 𝑧 ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ) )
56 fvex ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ∈ V
57 eqeq2 ( 𝑤 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) → ( 𝑧 = 𝑤𝑧 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ) )
58 57 imbi2d ( 𝑤 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) → ( ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = 𝑤 ) ↔ ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ) ) )
59 58 albidv ( 𝑤 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) → ( ∀ 𝑧 ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = 𝑤 ) ↔ ∀ 𝑧 ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ) ) )
60 56 59 spcev ( ∀ 𝑧 ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ) → ∃ 𝑤𝑧 ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = 𝑤 ) )
61 55 60 syl ( 𝜑 → ∃ 𝑤𝑧 ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = 𝑤 ) )
62 61 alrimiv ( 𝜑 → ∀ 𝑣𝑤𝑧 ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = 𝑤 ) )
63 dffun5 ( Fun 𝑆 ↔ ( Rel 𝑆 ∧ ∀ 𝑣𝑤𝑧 ( ⟨ 𝑣 , 𝑧 ⟩ ∈ 𝑆𝑧 = 𝑤 ) ) )
64 30 62 63 sylanbrc ( 𝜑 → Fun 𝑆 )
65 dmss ( 𝑆 ⊆ ( 𝑍 × V ) → dom 𝑆 ⊆ dom ( 𝑍 × V ) )
66 27 65 syl ( 𝜑 → dom 𝑆 ⊆ dom ( 𝑍 × V ) )
67 dmxpss dom ( 𝑍 × V ) ⊆ 𝑍
68 66 67 sstrdi ( 𝜑 → dom 𝑆𝑍 )
69 1 2 3 4 5 noseqrdglem ( ( 𝜑𝑣𝑍 ) → ⟨ 𝑣 , ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ⟩ ∈ ran 𝑅 )
70 6 adantr ( ( 𝜑𝑣𝑍 ) → 𝑆 = ran 𝑅 )
71 69 70 eleqtrrd ( ( 𝜑𝑣𝑍 ) → ⟨ 𝑣 , ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ⟩ ∈ 𝑆 )
72 48 56 opeldm ( ⟨ 𝑣 , ( 2nd ‘ ( 𝑅 ‘ ( 𝐺𝑣 ) ) ) ⟩ ∈ 𝑆𝑣 ∈ dom 𝑆 )
73 71 72 syl ( ( 𝜑𝑣𝑍 ) → 𝑣 ∈ dom 𝑆 )
74 68 73 eqelssd ( 𝜑 → dom 𝑆 = 𝑍 )
75 df-fn ( 𝑆 Fn 𝑍 ↔ ( Fun 𝑆 ∧ dom 𝑆 = 𝑍 ) )
76 64 74 75 sylanbrc ( 𝜑𝑆 Fn 𝑍 )