Metamath Proof Explorer


Theorem n0scut

Description: A cut form for non-negative surreal integers. (Contributed by Scott Fenton, 2-Apr-2025)

Ref Expression
Assertion n0scut ( 𝐴 ∈ ℕ0s𝐴 = ( { ( 𝐴 -s 1s ) } |s ∅ ) )

Proof

Step Hyp Ref Expression
1 id ( 𝑦 = 0s𝑦 = 0s )
2 oveq1 ( 𝑦 = 0s → ( 𝑦 -s 1s ) = ( 0s -s 1s ) )
3 2 sneqd ( 𝑦 = 0s → { ( 𝑦 -s 1s ) } = { ( 0s -s 1s ) } )
4 3 oveq1d ( 𝑦 = 0s → ( { ( 𝑦 -s 1s ) } |s ∅ ) = ( { ( 0s -s 1s ) } |s ∅ ) )
5 1 4 eqeq12d ( 𝑦 = 0s → ( 𝑦 = ( { ( 𝑦 -s 1s ) } |s ∅ ) ↔ 0s = ( { ( 0s -s 1s ) } |s ∅ ) ) )
6 id ( 𝑦 = 𝑥𝑦 = 𝑥 )
7 oveq1 ( 𝑦 = 𝑥 → ( 𝑦 -s 1s ) = ( 𝑥 -s 1s ) )
8 7 sneqd ( 𝑦 = 𝑥 → { ( 𝑦 -s 1s ) } = { ( 𝑥 -s 1s ) } )
9 8 oveq1d ( 𝑦 = 𝑥 → ( { ( 𝑦 -s 1s ) } |s ∅ ) = ( { ( 𝑥 -s 1s ) } |s ∅ ) )
10 6 9 eqeq12d ( 𝑦 = 𝑥 → ( 𝑦 = ( { ( 𝑦 -s 1s ) } |s ∅ ) ↔ 𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) )
11 id ( 𝑦 = ( 𝑥 +s 1s ) → 𝑦 = ( 𝑥 +s 1s ) )
12 oveq1 ( 𝑦 = ( 𝑥 +s 1s ) → ( 𝑦 -s 1s ) = ( ( 𝑥 +s 1s ) -s 1s ) )
13 12 sneqd ( 𝑦 = ( 𝑥 +s 1s ) → { ( 𝑦 -s 1s ) } = { ( ( 𝑥 +s 1s ) -s 1s ) } )
14 13 oveq1d ( 𝑦 = ( 𝑥 +s 1s ) → ( { ( 𝑦 -s 1s ) } |s ∅ ) = ( { ( ( 𝑥 +s 1s ) -s 1s ) } |s ∅ ) )
15 11 14 eqeq12d ( 𝑦 = ( 𝑥 +s 1s ) → ( 𝑦 = ( { ( 𝑦 -s 1s ) } |s ∅ ) ↔ ( 𝑥 +s 1s ) = ( { ( ( 𝑥 +s 1s ) -s 1s ) } |s ∅ ) ) )
16 id ( 𝑦 = 𝐴𝑦 = 𝐴 )
17 oveq1 ( 𝑦 = 𝐴 → ( 𝑦 -s 1s ) = ( 𝐴 -s 1s ) )
18 17 sneqd ( 𝑦 = 𝐴 → { ( 𝑦 -s 1s ) } = { ( 𝐴 -s 1s ) } )
19 18 oveq1d ( 𝑦 = 𝐴 → ( { ( 𝑦 -s 1s ) } |s ∅ ) = ( { ( 𝐴 -s 1s ) } |s ∅ ) )
20 16 19 eqeq12d ( 𝑦 = 𝐴 → ( 𝑦 = ( { ( 𝑦 -s 1s ) } |s ∅ ) ↔ 𝐴 = ( { ( 𝐴 -s 1s ) } |s ∅ ) ) )
21 0sno 0s No
22 1sno 1s No
23 subscl ( ( 0s No ∧ 1s No ) → ( 0s -s 1s ) ∈ No )
24 21 22 23 mp2an ( 0s -s 1s ) ∈ No
25 24 a1i ( ⊤ → ( 0s -s 1s ) ∈ No )
26 21 a1i ( ⊤ → 0s No )
27 26 sltm1d ( ⊤ → ( 0s -s 1s ) <s 0s )
28 25 27 cutneg ( ⊤ → ( { ( 0s -s 1s ) } |s ∅ ) = 0s )
29 28 mptru ( { ( 0s -s 1s ) } |s ∅ ) = 0s
30 29 eqcomi 0s = ( { ( 0s -s 1s ) } |s ∅ )
31 ovex ( 𝑥 -s 1s ) ∈ V
32 oveq1 ( 𝑏 = ( 𝑥 -s 1s ) → ( 𝑏 +s 1s ) = ( ( 𝑥 -s 1s ) +s 1s ) )
33 32 eqeq2d ( 𝑏 = ( 𝑥 -s 1s ) → ( 𝑎 = ( 𝑏 +s 1s ) ↔ 𝑎 = ( ( 𝑥 -s 1s ) +s 1s ) ) )
34 31 33 rexsn ( ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) ↔ 𝑎 = ( ( 𝑥 -s 1s ) +s 1s ) )
35 n0sno ( 𝑥 ∈ ℕ0s𝑥 No )
36 npcans ( ( 𝑥 No ∧ 1s No ) → ( ( 𝑥 -s 1s ) +s 1s ) = 𝑥 )
37 35 22 36 sylancl ( 𝑥 ∈ ℕ0s → ( ( 𝑥 -s 1s ) +s 1s ) = 𝑥 )
38 37 adantr ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( ( 𝑥 -s 1s ) +s 1s ) = 𝑥 )
39 38 eqeq2d ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( 𝑎 = ( ( 𝑥 -s 1s ) +s 1s ) ↔ 𝑎 = 𝑥 ) )
40 34 39 bitrid ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) ↔ 𝑎 = 𝑥 ) )
41 40 alrimiv ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ∀ 𝑎 ( ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) ↔ 𝑎 = 𝑥 ) )
42 absn ( { 𝑎 ∣ ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) } = { 𝑥 } ↔ ∀ 𝑎 ( ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) ↔ 𝑎 = 𝑥 ) )
43 41 42 sylibr ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → { 𝑎 ∣ ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) } = { 𝑥 } )
44 21 elexi 0s ∈ V
45 oveq2 ( 𝑏 = 0s → ( 𝑥 +s 𝑏 ) = ( 𝑥 +s 0s ) )
46 45 eqeq2d ( 𝑏 = 0s → ( 𝑎 = ( 𝑥 +s 𝑏 ) ↔ 𝑎 = ( 𝑥 +s 0s ) ) )
47 44 46 rexsn ( ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) ↔ 𝑎 = ( 𝑥 +s 0s ) )
48 35 addsridd ( 𝑥 ∈ ℕ0s → ( 𝑥 +s 0s ) = 𝑥 )
49 48 adantr ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( 𝑥 +s 0s ) = 𝑥 )
50 49 eqeq2d ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( 𝑎 = ( 𝑥 +s 0s ) ↔ 𝑎 = 𝑥 ) )
51 47 50 bitrid ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) ↔ 𝑎 = 𝑥 ) )
52 51 alrimiv ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ∀ 𝑎 ( ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) ↔ 𝑎 = 𝑥 ) )
53 absn ( { 𝑎 ∣ ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) } = { 𝑥 } ↔ ∀ 𝑎 ( ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) ↔ 𝑎 = 𝑥 ) )
54 52 53 sylibr ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → { 𝑎 ∣ ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) } = { 𝑥 } )
55 43 54 uneq12d ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( { 𝑎 ∣ ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) } ∪ { 𝑎 ∣ ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) } ) = ( { 𝑥 } ∪ { 𝑥 } ) )
56 unidm ( { 𝑥 } ∪ { 𝑥 } ) = { 𝑥 }
57 55 56 eqtrdi ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( { 𝑎 ∣ ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) } ∪ { 𝑎 ∣ ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) } ) = { 𝑥 } )
58 rex0 ¬ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑏 +s 1s )
59 58 abf { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑏 +s 1s ) } = ∅
60 rex0 ¬ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑥 +s 𝑏 )
61 60 abf { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑥 +s 𝑏 ) } = ∅
62 59 61 uneq12i ( { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑏 +s 1s ) } ∪ { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑥 +s 𝑏 ) } ) = ( ∅ ∪ ∅ )
63 un0 ( ∅ ∪ ∅ ) = ∅
64 62 63 eqtri ( { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑏 +s 1s ) } ∪ { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑥 +s 𝑏 ) } ) = ∅
65 64 a1i ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑏 +s 1s ) } ∪ { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑥 +s 𝑏 ) } ) = ∅ )
66 57 65 oveq12d ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( ( { 𝑎 ∣ ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) } ∪ { 𝑎 ∣ ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) } ) |s ( { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑏 +s 1s ) } ∪ { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑥 +s 𝑏 ) } ) ) = ( { 𝑥 } |s ∅ ) )
67 subscl ( ( 𝑥 No ∧ 1s No ) → ( 𝑥 -s 1s ) ∈ No )
68 35 22 67 sylancl ( 𝑥 ∈ ℕ0s → ( 𝑥 -s 1s ) ∈ No )
69 68 adantr ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( 𝑥 -s 1s ) ∈ No )
70 31 snelpw ( ( 𝑥 -s 1s ) ∈ No ↔ { ( 𝑥 -s 1s ) } ∈ 𝒫 No )
71 69 70 sylib ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → { ( 𝑥 -s 1s ) } ∈ 𝒫 No )
72 nulssgt ( { ( 𝑥 -s 1s ) } ∈ 𝒫 No → { ( 𝑥 -s 1s ) } <<s ∅ )
73 71 72 syl ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → { ( 𝑥 -s 1s ) } <<s ∅ )
74 44 snelpw ( 0s No ↔ { 0s } ∈ 𝒫 No )
75 21 74 mpbi { 0s } ∈ 𝒫 No
76 nulssgt ( { 0s } ∈ 𝒫 No → { 0s } <<s ∅ )
77 75 76 mp1i ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → { 0s } <<s ∅ )
78 simpr ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → 𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) )
79 df-1s 1s = ( { 0s } |s ∅ )
80 79 a1i ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → 1s = ( { 0s } |s ∅ ) )
81 73 77 78 80 addsunif ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( 𝑥 +s 1s ) = ( ( { 𝑎 ∣ ∃ 𝑏 ∈ { ( 𝑥 -s 1s ) } 𝑎 = ( 𝑏 +s 1s ) } ∪ { 𝑎 ∣ ∃ 𝑏 ∈ { 0s } 𝑎 = ( 𝑥 +s 𝑏 ) } ) |s ( { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑏 +s 1s ) } ∪ { 𝑎 ∣ ∃ 𝑏 ∈ ∅ 𝑎 = ( 𝑥 +s 𝑏 ) } ) ) )
82 35 adantr ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → 𝑥 No )
83 pncans ( ( 𝑥 No ∧ 1s No ) → ( ( 𝑥 +s 1s ) -s 1s ) = 𝑥 )
84 82 22 83 sylancl ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( ( 𝑥 +s 1s ) -s 1s ) = 𝑥 )
85 84 sneqd ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → { ( ( 𝑥 +s 1s ) -s 1s ) } = { 𝑥 } )
86 85 oveq1d ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( { ( ( 𝑥 +s 1s ) -s 1s ) } |s ∅ ) = ( { 𝑥 } |s ∅ ) )
87 66 81 86 3eqtr4d ( ( 𝑥 ∈ ℕ0s𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) ) → ( 𝑥 +s 1s ) = ( { ( ( 𝑥 +s 1s ) -s 1s ) } |s ∅ ) )
88 87 ex ( 𝑥 ∈ ℕ0s → ( 𝑥 = ( { ( 𝑥 -s 1s ) } |s ∅ ) → ( 𝑥 +s 1s ) = ( { ( ( 𝑥 +s 1s ) -s 1s ) } |s ∅ ) ) )
89 5 10 15 20 30 88 n0sind ( 𝐴 ∈ ℕ0s𝐴 = ( { ( 𝐴 -s 1s ) } |s ∅ ) )