Metamath Proof Explorer


Theorem halfcut

Description: Relate the cut of twice of two numbers to the cut of the numbers. Lemma 4.2 of Gonshor p. 28. (Contributed by Scott Fenton, 7-Aug-2025) Avoid the axiom of infinity. (Proof modified by Scott Fenton, 6-Sep-2025.)

Ref Expression
Hypotheses halfcut.1 φ A No
halfcut.2 φ B No
halfcut.3 φ A < s B
halfcut.4 No typesetting found for |- ( ph -> ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) = ( A +s B ) ) with typecode |-
halfcut.5 C = A | s B
Assertion halfcut Could not format assertion : No typesetting found for |- ( ph -> C = ( ( A +s B ) /su 2s ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 halfcut.1 φ A No
2 halfcut.2 φ B No
3 halfcut.3 φ A < s B
4 halfcut.4 Could not format ( ph -> ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) = ( A +s B ) ) : No typesetting found for |- ( ph -> ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) = ( A +s B ) ) with typecode |-
5 halfcut.5 C = A | s B
6 1 2 3 ssltsn φ A s B
7 6 scutcld φ A | s B No
8 5 7 eqeltrid φ C No
9 no2times Could not format ( C e. No -> ( 2s x.s C ) = ( C +s C ) ) : No typesetting found for |- ( C e. No -> ( 2s x.s C ) = ( C +s C ) ) with typecode |-
10 8 9 syl Could not format ( ph -> ( 2s x.s C ) = ( C +s C ) ) : No typesetting found for |- ( ph -> ( 2s x.s C ) = ( C +s C ) ) with typecode |-
11 5 a1i φ C = A | s B
12 6 6 11 11 addsunif φ C + s C = x | y A x = y + s C x | y A x = C + s y | s x | y B x = y + s C x | y B x = C + s y
13 oveq1 y = A y + s C = A + s C
14 13 eqeq2d y = A x = y + s C x = A + s C
15 14 rexsng A No y A x = y + s C x = A + s C
16 1 15 syl φ y A x = y + s C x = A + s C
17 16 abbidv φ x | y A x = y + s C = x | x = A + s C
18 oveq2 y = A C + s y = C + s A
19 18 eqeq2d y = A x = C + s y x = C + s A
20 19 rexsng A No y A x = C + s y x = C + s A
21 1 20 syl φ y A x = C + s y x = C + s A
22 8 1 addscomd φ C + s A = A + s C
23 22 eqeq2d φ x = C + s A x = A + s C
24 21 23 bitrd φ y A x = C + s y x = A + s C
25 24 abbidv φ x | y A x = C + s y = x | x = A + s C
26 17 25 uneq12d φ x | y A x = y + s C x | y A x = C + s y = x | x = A + s C x | x = A + s C
27 df-sn A + s C = x | x = A + s C
28 unidm x | x = A + s C x | x = A + s C = x | x = A + s C
29 27 28 eqtr4i A + s C = x | x = A + s C x | x = A + s C
30 26 29 eqtr4di φ x | y A x = y + s C x | y A x = C + s y = A + s C
31 oveq1 y = B y + s C = B + s C
32 31 eqeq2d y = B x = y + s C x = B + s C
33 32 rexsng B No y B x = y + s C x = B + s C
34 2 33 syl φ y B x = y + s C x = B + s C
35 34 abbidv φ x | y B x = y + s C = x | x = B + s C
36 oveq2 y = B C + s y = C + s B
37 36 eqeq2d y = B x = C + s y x = C + s B
38 37 rexsng B No y B x = C + s y x = C + s B
39 2 38 syl φ y B x = C + s y x = C + s B
40 8 2 addscomd φ C + s B = B + s C
41 40 eqeq2d φ x = C + s B x = B + s C
42 39 41 bitrd φ y B x = C + s y x = B + s C
43 42 abbidv φ x | y B x = C + s y = x | x = B + s C
44 35 43 uneq12d φ x | y B x = y + s C x | y B x = C + s y = x | x = B + s C x | x = B + s C
45 df-sn B + s C = x | x = B + s C
46 unidm x | x = B + s C x | x = B + s C = x | x = B + s C
47 45 46 eqtr4i B + s C = x | x = B + s C x | x = B + s C
48 44 47 eqtr4di φ x | y B x = y + s C x | y B x = C + s y = B + s C
49 30 48 oveq12d φ x | y A x = y + s C x | y A x = C + s y | s x | y B x = y + s C x | y B x = C + s y = A + s C | s B + s C
50 2sno Could not format 2s e. No : No typesetting found for |- 2s e. No with typecode |-
51 50 a1i Could not format ( ph -> 2s e. No ) : No typesetting found for |- ( ph -> 2s e. No ) with typecode |-
52 51 1 mulscld Could not format ( ph -> ( 2s x.s A ) e. No ) : No typesetting found for |- ( ph -> ( 2s x.s A ) e. No ) with typecode |-
53 51 2 mulscld Could not format ( ph -> ( 2s x.s B ) e. No ) : No typesetting found for |- ( ph -> ( 2s x.s B ) e. No ) with typecode |-
54 2nns Could not format 2s e. NN_s : No typesetting found for |- 2s e. NN_s with typecode |-
55 nnsgt0 Could not format ( 2s e. NN_s -> 0s 0s
56 54 55 mp1i Could not format ( ph -> 0s 0s
57 1 2 51 56 sltmul2d Could not format ( ph -> ( A ( 2s x.s A ) ( A ( 2s x.s A )
58 3 57 mpbid Could not format ( ph -> ( 2s x.s A ) ( 2s x.s A )
59 52 53 58 ssltsn Could not format ( ph -> { ( 2s x.s A ) } < { ( 2s x.s A ) } <
60 no2times Could not format ( A e. No -> ( 2s x.s A ) = ( A +s A ) ) : No typesetting found for |- ( A e. No -> ( 2s x.s A ) = ( A +s A ) ) with typecode |-
61 1 60 syl Could not format ( ph -> ( 2s x.s A ) = ( A +s A ) ) : No typesetting found for |- ( ph -> ( 2s x.s A ) = ( A +s A ) ) with typecode |-
62 slerflex A No A s A
63 1 62 syl φ A s A
64 breq2 x = A A s x A s A
65 64 rexsng A No x A A s x A s A
66 1 65 syl φ x A A s x A s A
67 63 66 mpbird φ x A A s x
68 67 orcd φ x A A s x y R A y s C
69 lltropt L A s R A
70 69 a1i φ L A s R A
71 lrcut A No L A | s R A = A
72 1 71 syl φ L A | s R A = A
73 72 eqcomd φ A = L A | s R A
74 70 6 73 11 sltrecd φ A < s C x A A s x y R A y s C
75 68 74 mpbird φ A < s C
76 1 8 75 sltled φ A s C
77 1 8 1 sleadd2d φ A s C A + s A s A + s C
78 76 77 mpbid φ A + s A s A + s C
79 61 78 eqbrtrd Could not format ( ph -> ( 2s x.s A ) <_s ( A +s C ) ) : No typesetting found for |- ( ph -> ( 2s x.s A ) <_s ( A +s C ) ) with typecode |-
80 ovex Could not format ( 2s x.s A ) e. _V : No typesetting found for |- ( 2s x.s A ) e. _V with typecode |-
81 breq1 Could not format ( x = ( 2s x.s A ) -> ( x <_s y <-> ( 2s x.s A ) <_s y ) ) : No typesetting found for |- ( x = ( 2s x.s A ) -> ( x <_s y <-> ( 2s x.s A ) <_s y ) ) with typecode |-
82 81 rexbidv Could not format ( x = ( 2s x.s A ) -> ( E. y e. { ( A +s C ) } x <_s y <-> E. y e. { ( A +s C ) } ( 2s x.s A ) <_s y ) ) : No typesetting found for |- ( x = ( 2s x.s A ) -> ( E. y e. { ( A +s C ) } x <_s y <-> E. y e. { ( A +s C ) } ( 2s x.s A ) <_s y ) ) with typecode |-
83 80 82 ralsn Could not format ( A. x e. { ( 2s x.s A ) } E. y e. { ( A +s C ) } x <_s y <-> E. y e. { ( A +s C ) } ( 2s x.s A ) <_s y ) : No typesetting found for |- ( A. x e. { ( 2s x.s A ) } E. y e. { ( A +s C ) } x <_s y <-> E. y e. { ( A +s C ) } ( 2s x.s A ) <_s y ) with typecode |-
84 ovex A + s C V
85 breq2 Could not format ( y = ( A +s C ) -> ( ( 2s x.s A ) <_s y <-> ( 2s x.s A ) <_s ( A +s C ) ) ) : No typesetting found for |- ( y = ( A +s C ) -> ( ( 2s x.s A ) <_s y <-> ( 2s x.s A ) <_s ( A +s C ) ) ) with typecode |-
86 84 85 rexsn Could not format ( E. y e. { ( A +s C ) } ( 2s x.s A ) <_s y <-> ( 2s x.s A ) <_s ( A +s C ) ) : No typesetting found for |- ( E. y e. { ( A +s C ) } ( 2s x.s A ) <_s y <-> ( 2s x.s A ) <_s ( A +s C ) ) with typecode |-
87 83 86 bitri Could not format ( A. x e. { ( 2s x.s A ) } E. y e. { ( A +s C ) } x <_s y <-> ( 2s x.s A ) <_s ( A +s C ) ) : No typesetting found for |- ( A. x e. { ( 2s x.s A ) } E. y e. { ( A +s C ) } x <_s y <-> ( 2s x.s A ) <_s ( A +s C ) ) with typecode |-
88 79 87 sylibr Could not format ( ph -> A. x e. { ( 2s x.s A ) } E. y e. { ( A +s C ) } x <_s y ) : No typesetting found for |- ( ph -> A. x e. { ( 2s x.s A ) } E. y e. { ( A +s C ) } x <_s y ) with typecode |-
89 slerflex B No B s B
90 2 89 syl φ B s B
91 breq1 y = B y s B B s B
92 91 rexsng B No y B y s B B s B
93 2 92 syl φ y B y s B B s B
94 90 93 mpbird φ y B y s B
95 94 olcd φ x L B C s x y B y s B
96 lltropt L B s R B
97 96 a1i φ L B s R B
98 lrcut B No L B | s R B = B
99 2 98 syl φ L B | s R B = B
100 99 eqcomd φ B = L B | s R B
101 6 97 11 100 sltrecd φ C < s B x L B C s x y B y s B
102 95 101 mpbird φ C < s B
103 8 2 102 sltled φ C s B
104 8 2 2 sleadd2d φ C s B B + s C s B + s B
105 103 104 mpbid φ B + s C s B + s B
106 no2times Could not format ( B e. No -> ( 2s x.s B ) = ( B +s B ) ) : No typesetting found for |- ( B e. No -> ( 2s x.s B ) = ( B +s B ) ) with typecode |-
107 2 106 syl Could not format ( ph -> ( 2s x.s B ) = ( B +s B ) ) : No typesetting found for |- ( ph -> ( 2s x.s B ) = ( B +s B ) ) with typecode |-
108 105 107 breqtrrd Could not format ( ph -> ( B +s C ) <_s ( 2s x.s B ) ) : No typesetting found for |- ( ph -> ( B +s C ) <_s ( 2s x.s B ) ) with typecode |-
109 ovex Could not format ( 2s x.s B ) e. _V : No typesetting found for |- ( 2s x.s B ) e. _V with typecode |-
110 breq2 Could not format ( x = ( 2s x.s B ) -> ( y <_s x <-> y <_s ( 2s x.s B ) ) ) : No typesetting found for |- ( x = ( 2s x.s B ) -> ( y <_s x <-> y <_s ( 2s x.s B ) ) ) with typecode |-
111 110 rexbidv Could not format ( x = ( 2s x.s B ) -> ( E. y e. { ( B +s C ) } y <_s x <-> E. y e. { ( B +s C ) } y <_s ( 2s x.s B ) ) ) : No typesetting found for |- ( x = ( 2s x.s B ) -> ( E. y e. { ( B +s C ) } y <_s x <-> E. y e. { ( B +s C ) } y <_s ( 2s x.s B ) ) ) with typecode |-
112 109 111 ralsn Could not format ( A. x e. { ( 2s x.s B ) } E. y e. { ( B +s C ) } y <_s x <-> E. y e. { ( B +s C ) } y <_s ( 2s x.s B ) ) : No typesetting found for |- ( A. x e. { ( 2s x.s B ) } E. y e. { ( B +s C ) } y <_s x <-> E. y e. { ( B +s C ) } y <_s ( 2s x.s B ) ) with typecode |-
113 ovex B + s C V
114 breq1 Could not format ( y = ( B +s C ) -> ( y <_s ( 2s x.s B ) <-> ( B +s C ) <_s ( 2s x.s B ) ) ) : No typesetting found for |- ( y = ( B +s C ) -> ( y <_s ( 2s x.s B ) <-> ( B +s C ) <_s ( 2s x.s B ) ) ) with typecode |-
115 113 114 rexsn Could not format ( E. y e. { ( B +s C ) } y <_s ( 2s x.s B ) <-> ( B +s C ) <_s ( 2s x.s B ) ) : No typesetting found for |- ( E. y e. { ( B +s C ) } y <_s ( 2s x.s B ) <-> ( B +s C ) <_s ( 2s x.s B ) ) with typecode |-
116 112 115 bitri Could not format ( A. x e. { ( 2s x.s B ) } E. y e. { ( B +s C ) } y <_s x <-> ( B +s C ) <_s ( 2s x.s B ) ) : No typesetting found for |- ( A. x e. { ( 2s x.s B ) } E. y e. { ( B +s C ) } y <_s x <-> ( B +s C ) <_s ( 2s x.s B ) ) with typecode |-
117 108 116 sylibr Could not format ( ph -> A. x e. { ( 2s x.s B ) } E. y e. { ( B +s C ) } y <_s x ) : No typesetting found for |- ( ph -> A. x e. { ( 2s x.s B ) } E. y e. { ( B +s C ) } y <_s x ) with typecode |-
118 1 8 addscld φ A + s C No
119 1 2 addscld φ A + s B No
120 8 2 1 sltadd2d φ C < s B A + s C < s A + s B
121 102 120 mpbid φ A + s C < s A + s B
122 118 119 121 ssltsn φ A + s C s A + s B
123 4 sneqd Could not format ( ph -> { ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) } = { ( A +s B ) } ) : No typesetting found for |- ( ph -> { ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) } = { ( A +s B ) } ) with typecode |-
124 122 123 breqtrrd Could not format ( ph -> { ( A +s C ) } < { ( A +s C ) } <
125 2 8 addscld φ B + s C No
126 2 1 addscomd φ B + s A = A + s B
127 1 8 2 sltadd2d φ A < s C B + s A < s B + s C
128 75 127 mpbid φ B + s A < s B + s C
129 126 128 eqbrtrrd φ A + s B < s B + s C
130 119 125 129 ssltsn φ A + s B s B + s C
131 123 130 eqbrtrd Could not format ( ph -> { ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) } < { ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) } <
132 59 88 117 124 131 cofcut1d Could not format ( ph -> ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) = ( { ( A +s C ) } |s { ( B +s C ) } ) ) : No typesetting found for |- ( ph -> ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) = ( { ( A +s C ) } |s { ( B +s C ) } ) ) with typecode |-
133 49 132 4 3eqtr2d φ x | y A x = y + s C x | y A x = C + s y | s x | y B x = y + s C x | y B x = C + s y = A + s B
134 12 133 eqtrd φ C + s C = A + s B
135 10 134 eqtrd Could not format ( ph -> ( 2s x.s C ) = ( A +s B ) ) : No typesetting found for |- ( ph -> ( 2s x.s C ) = ( A +s B ) ) with typecode |-
136 2ne0s Could not format 2s =/= 0s : No typesetting found for |- 2s =/= 0s with typecode |-
137 136 a1i Could not format ( ph -> 2s =/= 0s ) : No typesetting found for |- ( ph -> 2s =/= 0s ) with typecode |-
138 0sno 0 s No
139 138 a1i 0 s No
140 1sno 1 s No
141 140 a1i 1 s No
142 0slt1s 0 s < s 1 s
143 142 a1i 0 s < s 1 s
144 139 141 143 ssltsn 0 s s 1 s
145 144 scutcld 0 s | s 1 s No
146 145 mptru 0 s | s 1 s No
147 twocut Could not format ( 2s x.s ( { 0s } |s { 1s } ) ) = 1s : No typesetting found for |- ( 2s x.s ( { 0s } |s { 1s } ) ) = 1s with typecode |-
148 oveq2 Could not format ( x = ( { 0s } |s { 1s } ) -> ( 2s x.s x ) = ( 2s x.s ( { 0s } |s { 1s } ) ) ) : No typesetting found for |- ( x = ( { 0s } |s { 1s } ) -> ( 2s x.s x ) = ( 2s x.s ( { 0s } |s { 1s } ) ) ) with typecode |-
149 148 eqeq1d Could not format ( x = ( { 0s } |s { 1s } ) -> ( ( 2s x.s x ) = 1s <-> ( 2s x.s ( { 0s } |s { 1s } ) ) = 1s ) ) : No typesetting found for |- ( x = ( { 0s } |s { 1s } ) -> ( ( 2s x.s x ) = 1s <-> ( 2s x.s ( { 0s } |s { 1s } ) ) = 1s ) ) with typecode |-
150 149 rspcev Could not format ( ( ( { 0s } |s { 1s } ) e. No /\ ( 2s x.s ( { 0s } |s { 1s } ) ) = 1s ) -> E. x e. No ( 2s x.s x ) = 1s ) : No typesetting found for |- ( ( ( { 0s } |s { 1s } ) e. No /\ ( 2s x.s ( { 0s } |s { 1s } ) ) = 1s ) -> E. x e. No ( 2s x.s x ) = 1s ) with typecode |-
151 146 147 150 mp2an Could not format E. x e. No ( 2s x.s x ) = 1s : No typesetting found for |- E. x e. No ( 2s x.s x ) = 1s with typecode |-
152 151 a1i Could not format ( ph -> E. x e. No ( 2s x.s x ) = 1s ) : No typesetting found for |- ( ph -> E. x e. No ( 2s x.s x ) = 1s ) with typecode |-
153 119 8 51 137 152 divsmulwd Could not format ( ph -> ( ( ( A +s B ) /su 2s ) = C <-> ( 2s x.s C ) = ( A +s B ) ) ) : No typesetting found for |- ( ph -> ( ( ( A +s B ) /su 2s ) = C <-> ( 2s x.s C ) = ( A +s B ) ) ) with typecode |-
154 135 153 mpbird Could not format ( ph -> ( ( A +s B ) /su 2s ) = C ) : No typesetting found for |- ( ph -> ( ( A +s B ) /su 2s ) = C ) with typecode |-
155 154 eqcomd Could not format ( ph -> C = ( ( A +s B ) /su 2s ) ) : No typesetting found for |- ( ph -> C = ( ( A +s B ) /su 2s ) ) with typecode |-