Metamath Proof Explorer


Theorem subsfo

Description: Surreal subtraction is an onto function. (Contributed by Scott Fenton, 17-May-2025)

Ref Expression
Assertion subsfo -s : ( No × No ) –onto No

Proof

Step Hyp Ref Expression
1 subsf -s : ( No × No ) ⟶ No
2 0sno 0s No
3 opelxpi ( ( 𝑥 No ∧ 0s No ) → ⟨ 𝑥 , 0s ⟩ ∈ ( No × No ) )
4 2 3 mpan2 ( 𝑥 No → ⟨ 𝑥 , 0s ⟩ ∈ ( No × No ) )
5 subsval ( ( 𝑥 No ∧ 0s No ) → ( 𝑥 -s 0s ) = ( 𝑥 +s ( -us ‘ 0s ) ) )
6 2 5 mpan2 ( 𝑥 No → ( 𝑥 -s 0s ) = ( 𝑥 +s ( -us ‘ 0s ) ) )
7 negs0s ( -us ‘ 0s ) = 0s
8 7 oveq2i ( 𝑥 +s ( -us ‘ 0s ) ) = ( 𝑥 +s 0s )
9 addsrid ( 𝑥 No → ( 𝑥 +s 0s ) = 𝑥 )
10 8 9 eqtrid ( 𝑥 No → ( 𝑥 +s ( -us ‘ 0s ) ) = 𝑥 )
11 6 10 eqtr2d ( 𝑥 No 𝑥 = ( 𝑥 -s 0s ) )
12 fveq2 ( 𝑦 = ⟨ 𝑥 , 0s ⟩ → ( -s𝑦 ) = ( -s ‘ ⟨ 𝑥 , 0s ⟩ ) )
13 df-ov ( 𝑥 -s 0s ) = ( -s ‘ ⟨ 𝑥 , 0s ⟩ )
14 12 13 eqtr4di ( 𝑦 = ⟨ 𝑥 , 0s ⟩ → ( -s𝑦 ) = ( 𝑥 -s 0s ) )
15 14 rspceeqv ( ( ⟨ 𝑥 , 0s ⟩ ∈ ( No × No ) ∧ 𝑥 = ( 𝑥 -s 0s ) ) → ∃ 𝑦 ∈ ( No × No ) 𝑥 = ( -s𝑦 ) )
16 4 11 15 syl2anc ( 𝑥 No → ∃ 𝑦 ∈ ( No × No ) 𝑥 = ( -s𝑦 ) )
17 16 rgen 𝑥 No 𝑦 ∈ ( No × No ) 𝑥 = ( -s𝑦 )
18 dffo3 ( -s : ( No × No ) –onto No ↔ ( -s : ( No × No ) ⟶ No ∧ ∀ 𝑥 No 𝑦 ∈ ( No × No ) 𝑥 = ( -s𝑦 ) ) )
19 1 17 18 mpbir2an -s : ( No × No ) –onto No