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 sltrec L A s R A A s B A = L A | s R A C = A | s B A < s C x A A s x y R A y s C
75 70 6 73 11 74 syl22anc φ A < s C x A A s x y R A y s C
76 68 75 mpbird φ A < s C
77 1 8 76 sltled φ A s C
78 1 8 1 sleadd2d φ A s C A + s A s A + s C
79 77 78 mpbid φ A + s A s A + s C
80 61 79 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 |-
81 ovex Could not format ( 2s x.s A ) e. _V : No typesetting found for |- ( 2s x.s A ) e. _V with typecode |-
82 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 |-
83 82 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 |-
84 81 83 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 |-
85 ovex A + s C V
86 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 |-
87 85 86 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 |-
88 84 87 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 |-
89 80 88 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 |-
90 slerflex B No B s B
91 2 90 syl φ B s B
92 breq1 y = B y s B B s B
93 92 rexsng B No y B y s B B s B
94 2 93 syl φ y B y s B B s B
95 91 94 mpbird φ y B y s B
96 95 olcd φ x L B C s x y B y s B
97 lltropt L B s R B
98 97 a1i φ L B s R B
99 lrcut B No L B | s R B = B
100 2 99 syl φ L B | s R B = B
101 100 eqcomd φ B = L B | s R B
102 sltrec A s B L B s R B C = A | s B B = L B | s R B C < s B x L B C s x y B y s B
103 6 98 11 101 102 syl22anc φ C < s B x L B C s x y B y s B
104 96 103 mpbird φ C < s B
105 8 2 104 sltled φ C s B
106 8 2 2 sleadd2d φ C s B B + s C s B + s B
107 105 106 mpbid φ B + s C s B + s B
108 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 |-
109 2 108 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 |-
110 107 109 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 |-
111 ovex Could not format ( 2s x.s B ) e. _V : No typesetting found for |- ( 2s x.s B ) e. _V with typecode |-
112 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 |-
113 112 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 |-
114 111 113 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 |-
115 ovex B + s C V
116 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 |-
117 115 116 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 |-
118 114 117 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 |-
119 110 118 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 |-
120 1 8 addscld φ A + s C No
121 1 2 addscld φ A + s B No
122 8 2 1 sltadd2d φ C < s B A + s C < s A + s B
123 104 122 mpbid φ A + s C < s A + s B
124 120 121 123 ssltsn φ A + s C s A + s B
125 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 |-
126 124 125 breqtrrd Could not format ( ph -> { ( A +s C ) } < { ( A +s C ) } <
127 2 8 addscld φ B + s C No
128 2 1 addscomd φ B + s A = A + s B
129 1 8 2 sltadd2d φ A < s C B + s A < s B + s C
130 76 129 mpbid φ B + s A < s B + s C
131 128 130 eqbrtrrd φ A + s B < s B + s C
132 121 127 131 ssltsn φ A + s B s B + s C
133 125 132 eqbrtrd Could not format ( ph -> { ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) } < { ( { ( 2s x.s A ) } |s { ( 2s x.s B ) } ) } <
134 59 89 119 126 133 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 |-
135 49 134 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
136 12 135 eqtrd φ C + s C = A + s B
137 10 136 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 |-
138 2ne0s Could not format 2s =/= 0s : No typesetting found for |- 2s =/= 0s with typecode |-
139 138 a1i Could not format ( ph -> 2s =/= 0s ) : No typesetting found for |- ( ph -> 2s =/= 0s ) with typecode |-
140 0sno 0 s No
141 140 a1i 0 s No
142 1sno 1 s No
143 142 a1i 1 s No
144 0slt1s 0 s < s 1 s
145 144 a1i 0 s < s 1 s
146 141 143 145 ssltsn 0 s s 1 s
147 146 scutcld 0 s | s 1 s No
148 147 mptru 0 s | s 1 s No
149 twocut Could not format ( 2s x.s ( { 0s } |s { 1s } ) ) = 1s : No typesetting found for |- ( 2s x.s ( { 0s } |s { 1s } ) ) = 1s with typecode |-
150 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 |-
151 150 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 |-
152 151 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 |-
153 148 149 152 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 |-
154 153 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 |-
155 121 8 51 139 154 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 |-
156 137 155 mpbird Could not format ( ph -> ( ( A +s B ) /su 2s ) = C ) : No typesetting found for |- ( ph -> ( ( A +s B ) /su 2s ) = C ) with typecode |-
157 156 eqcomd Could not format ( ph -> C = ( ( A +s B ) /su 2s ) ) : No typesetting found for |- ( ph -> C = ( ( A +s B ) /su 2s ) ) with typecode |-