Metamath Proof Explorer


Theorem subadds

Description: Relationship between addition and subtraction for surreals. (Contributed by Scott Fenton, 3-Feb-2025)

Ref Expression
Assertion subadds Could not format assertion : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( A -s B ) = C <-> ( B +s C ) = A ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 subsval Could not format ( ( A e. No /\ B e. No ) -> ( A -s B ) = ( A +s ( -us ` B ) ) ) : No typesetting found for |- ( ( A e. No /\ B e. No ) -> ( A -s B ) = ( A +s ( -us ` B ) ) ) with typecode |-
2 1 3adant3 Could not format ( ( A e. No /\ B e. No /\ C e. No ) -> ( A -s B ) = ( A +s ( -us ` B ) ) ) : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( A -s B ) = ( A +s ( -us ` B ) ) ) with typecode |-
3 2 eqeq1d Could not format ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( A -s B ) = C <-> ( A +s ( -us ` B ) ) = C ) ) : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( A -s B ) = C <-> ( A +s ( -us ` B ) ) = C ) ) with typecode |-
4 simpl B No C No B No
5 simpr B No C No C No
6 negscl Could not format ( B e. No -> ( -us ` B ) e. No ) : No typesetting found for |- ( B e. No -> ( -us ` B ) e. No ) with typecode |-
7 6 adantr Could not format ( ( B e. No /\ C e. No ) -> ( -us ` B ) e. No ) : No typesetting found for |- ( ( B e. No /\ C e. No ) -> ( -us ` B ) e. No ) with typecode |-
8 4 5 7 adds32d Could not format ( ( B e. No /\ C e. No ) -> ( ( B +s C ) +s ( -us ` B ) ) = ( ( B +s ( -us ` B ) ) +s C ) ) : No typesetting found for |- ( ( B e. No /\ C e. No ) -> ( ( B +s C ) +s ( -us ` B ) ) = ( ( B +s ( -us ` B ) ) +s C ) ) with typecode |-
9 negsid Could not format ( B e. No -> ( B +s ( -us ` B ) ) = 0s ) : No typesetting found for |- ( B e. No -> ( B +s ( -us ` B ) ) = 0s ) with typecode |-
10 9 adantr Could not format ( ( B e. No /\ C e. No ) -> ( B +s ( -us ` B ) ) = 0s ) : No typesetting found for |- ( ( B e. No /\ C e. No ) -> ( B +s ( -us ` B ) ) = 0s ) with typecode |-
11 10 oveq1d Could not format ( ( B e. No /\ C e. No ) -> ( ( B +s ( -us ` B ) ) +s C ) = ( 0s +s C ) ) : No typesetting found for |- ( ( B e. No /\ C e. No ) -> ( ( B +s ( -us ` B ) ) +s C ) = ( 0s +s C ) ) with typecode |-
12 addslid Could not format ( C e. No -> ( 0s +s C ) = C ) : No typesetting found for |- ( C e. No -> ( 0s +s C ) = C ) with typecode |-
13 12 adantl Could not format ( ( B e. No /\ C e. No ) -> ( 0s +s C ) = C ) : No typesetting found for |- ( ( B e. No /\ C e. No ) -> ( 0s +s C ) = C ) with typecode |-
14 8 11 13 3eqtrd Could not format ( ( B e. No /\ C e. No ) -> ( ( B +s C ) +s ( -us ` B ) ) = C ) : No typesetting found for |- ( ( B e. No /\ C e. No ) -> ( ( B +s C ) +s ( -us ` B ) ) = C ) with typecode |-
15 14 3adant1 Could not format ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( B +s C ) +s ( -us ` B ) ) = C ) : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( B +s C ) +s ( -us ` B ) ) = C ) with typecode |-
16 15 eqeq1d Could not format ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( ( B +s C ) +s ( -us ` B ) ) = ( A +s ( -us ` B ) ) <-> C = ( A +s ( -us ` B ) ) ) ) : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( ( B +s C ) +s ( -us ` B ) ) = ( A +s ( -us ` B ) ) <-> C = ( A +s ( -us ` B ) ) ) ) with typecode |-
17 eqcom Could not format ( C = ( A +s ( -us ` B ) ) <-> ( A +s ( -us ` B ) ) = C ) : No typesetting found for |- ( C = ( A +s ( -us ` B ) ) <-> ( A +s ( -us ` B ) ) = C ) with typecode |-
18 16 17 bitrdi Could not format ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( ( B +s C ) +s ( -us ` B ) ) = ( A +s ( -us ` B ) ) <-> ( A +s ( -us ` B ) ) = C ) ) : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( ( B +s C ) +s ( -us ` B ) ) = ( A +s ( -us ` B ) ) <-> ( A +s ( -us ` B ) ) = C ) ) with typecode |-
19 addscl Could not format ( ( B e. No /\ C e. No ) -> ( B +s C ) e. No ) : No typesetting found for |- ( ( B e. No /\ C e. No ) -> ( B +s C ) e. No ) with typecode |-
20 19 3adant1 Could not format ( ( A e. No /\ B e. No /\ C e. No ) -> ( B +s C ) e. No ) : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( B +s C ) e. No ) with typecode |-
21 simp1 A No B No C No A No
22 simp2 A No B No C No B No
23 22 negscld Could not format ( ( A e. No /\ B e. No /\ C e. No ) -> ( -us ` B ) e. No ) : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( -us ` B ) e. No ) with typecode |-
24 20 21 23 addscan2d Could not format ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( ( B +s C ) +s ( -us ` B ) ) = ( A +s ( -us ` B ) ) <-> ( B +s C ) = A ) ) : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( ( B +s C ) +s ( -us ` B ) ) = ( A +s ( -us ` B ) ) <-> ( B +s C ) = A ) ) with typecode |-
25 3 18 24 3bitr2d Could not format ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( A -s B ) = C <-> ( B +s C ) = A ) ) : No typesetting found for |- ( ( A e. No /\ B e. No /\ C e. No ) -> ( ( A -s B ) = C <-> ( B +s C ) = A ) ) with typecode |-