Main derivation
S01 · definition
Before
\text{bisection with supplied sign data}After
[a_0,b_0]=[1,2],\ m_{n}=\tfrac{a_{n-1}+b_{n-1}}{2}Conditions: none
Rule: mko_bisect · Uses: G1, G2, G3, mko_bisect
Leaf basis: mko_bisect + def_intro
Fix the algorithm and its input data. By the MKO, each step chooses a half using only the explicit endpoint and midpoint signs; this is merely a bracket-data update. The guide keeps two things apart: S02 to S12 concern the algorithm itself (trace, invariant, width, termination), and only S13 and S14 address whether a root exists.
S02 · implies
Before
[1,2],\ s(1)=-,\ s(2)=+
After
\text{valid input: } 1<2,\ \text{opposite endpoint signs}Conditions: none
Rule: and_intro_elim · Uses: G1, G3
Leaf basis: and_intro_elim + numeric_evaluation
A valid input needs two things: an ordered interval (1<2) and opposite endpoint signs (− and +). Both are supplied by G1. Cross-check: f(1)=1−2=−1<0 and f(2)=4−2=2>0 (N1, N2), agreeing with the supplied signs. Equal endpoint signs violate this algorithm's opposite-sign input contract, so its proved invariant update cannot be used directly. This does not rule out finding an opposite-sign subinterval after obtaining a new midpoint sign.
S03 · implies
Before
[a_0,b_0]=[1,2]
After
m_1=\tfrac{1+2}{2}=\tfrac{3}{2},\ 1<\tfrac{3}{2}<2Conditions: a_0<b_0
Rule: L_mid · Uses: S02, G3
Leaf basis: L_mid + numeric_evaluation
Step 1 takes the midpoint m1=(1+2)/2=3/2. By Lemma L_mid the midpoint lies strictly between the ends, and the two halves [1,3/2] and [3/2,2] have equal width 1/2.
S04 · implies
Before
\{s(a),s(b)\}=\{-,+\},\ s(m)\neq 0After
\text{exactly one of }[a,m],\ [m,b]\ \text{has opposite endpoint signs}Conditions: s(m)\neq 0
Rule: L_half · Uses: G3, case_analysis
Leaf basis: case_analysis + and_intro_elim
Prove Lemma L_half: as long as the midpoint sign is not 0, the signs determine uniquely which half to keep. This makes 'keep the half with opposite endpoint signs' well defined at every step. Three sub-steps: two cases, plus the check that the cases cover every possibility.
S05 · implies
Before
[1,2],\ s(\tfrac{3}{2})=+After
[a_1,b_1]=[1,\tfrac{3}{2}]Conditions: s(\tfrac{3}{2})\neq 0
Rule: L_half · Uses: S03, S04, G2
Leaf basis: L_half + numeric_evaluation
The supplied sign is s(3/2)=+=s(2), so by S04.2 keep [1,3/2], whose endpoint signs are − and +. Cross-check: f(3/2)=9/4−2=1/4>0 (N4).
S06 · implies
Before
[1,\tfrac{3}{2}],\ m_2=\tfrac{5}{4},\ s(\tfrac{5}{4})=-After
[a_2,b_2]=[\tfrac{5}{4},\tfrac{3}{2}]Conditions: s(\tfrac{5}{4})\neq 0
Rule: L_half · Uses: S05, S04, G2, L_mid
Leaf basis: L_half + L_mid + numeric_evaluation
m2=(1+3/2)/2=5/4 (N5). The supplied sign is s(5/4)=−=s(1), so by S04.1 keep [5/4,3/2]. Cross-check: f(5/4)=25/16−2=−7/16<0 (N6).
S07 · implies
Before
[\tfrac{5}{4},\tfrac{3}{2}],\ m_3=\tfrac{11}{8},\ s(\tfrac{11}{8})=-After
[a_3,b_3]=[\tfrac{11}{8},\tfrac{3}{2}]Conditions: s(\tfrac{11}{8})\neq 0
Rule: L_half · Uses: S06, S04, G2, L_mid
Leaf basis: L_half + L_mid + numeric_evaluation
m3=(5/4+3/2)/2=11/8 (N7). The supplied sign is s(11/8)=−=s(5/4), so keep [11/8,3/2]. Cross-check: f(11/8)=121/64−2=−7/64<0 (N8).
S08 · implies
Before
[\tfrac{11}{8},\tfrac{3}{2}],\ m_4=\tfrac{23}{16},\ s(\tfrac{23}{16})=+After
[a_4,b_4]=[\tfrac{11}{8},\tfrac{23}{16}]Conditions: s(\tfrac{23}{16})\neq 0
Rule: L_half · Uses: S07, S04, G2, L_mid
Leaf basis: L_half + L_mid + numeric_evaluation
m4=(11/8+3/2)/2=23/16 (N9). The supplied sign is s(23/16)=+=s(3/2), so keep [11/8,23/16]. Cross-check: f(23/16)=529/256−2=17/256>0 (N10). No step observed f(m)=0, so there was no early stop; by G3 the run ends after step 4.
S09 · implies
Before
a_0<b_0,\ s(a_0)=-,\ s(b_0)=+
After
\forall n\le 4:\ a_n<b_n,\ s(a_n)=-,\ s(b_n)=+,\ [a_{n}, b_{n}]\subseteq[a_{n-1},b_{n-1}]\ (n\geq 1)Conditions: none
Rule: nat_induction · Uses: S02, S03.1, S04, nat_induction
Leaf basis: nat_induction + L_mid + L_half
Invariant I(n): a_n<b_n, s(a_n)=− and s(b_n)=+. The base I(0) holds by S02. Induction step: if I(n) holds and s(m)≠0, the new interval is [a_n,m] or [m,b_n]; L_mid gives a_n<m<b_n, so the new interval is still ordered and lies inside the old one; in both cases of L_half the kept half has sign − at its left end and + at its right end (in S04.1 the new left end m has the sign − of a_n; in S04.2 the new right end m has the sign + of b_n). So I(n+1) holds. The trace S05 to S08 agrees with this invariant.
S10 · implies
Before
w_0=b_0-a_0=1
After
w_n=\tfrac{1}{2^n}Conditions: \text{no early stop}
Rule: L_width · Uses: S03.1, S09
Leaf basis: nat_induction + L_mid + power_laws
Prove Lemma L_width: each effective halving halves the width, so after n steps the width is w0/2^n. This is a purely geometric fact, independent of f. Two sub-steps form the induction.
S11 · implies
Before
[a_4,b_4]=[\tfrac{11}{8},\tfrac{23}{16}]After
w_4=\tfrac{1}{16},\ m_5=\tfrac{45}{32},\ |x-m_5|\le\tfrac{1}{32}\ \ \forall x\in[a_4,b_4]Conditions: none
Rule: L_mid · Uses: S08, S10
Leaf basis: L_mid + abs_rules + numeric_evaluation
The final bracket has width 1/16. Its midpoint is m5=(11/8+23/16)/2=45/32 (N16); by L_mid every point of the bracket is within (1/16)/2=1/32 of m5. This is a statement about interval geometry, about any point that lies in the bracket; it does not say that such a root exists.
S12 · implies
Before
\tau>0
After
\exists N:\ \tfrac{1}{2^N}<\tauConditions: \tau>0
Rule: archimedean · Uses: S10, archimedean, nat_induction
Leaf basis: archimedean + nat_induction + order_basics
Width index: provided every requested midpoint sign is available and updates can be performed effectively, with early stopping when a zero is observed, the rule 'stop when the width is ≤τ' terminates after finitely many steps for every τ>0. This is a conditional statement about an extended run; the exercise actually supplies only four midpoint signs. First, 2^n≥n+1 by induction: for n=0, 1≥1; if 2^n≥n+1, then 2^(n+1)=2·2^n≥2n+2≥n+2. Then by the Archimedean property choose a natural number N>1/τ, so 2^N≥N+1>1/τ and w_N=1/2^N<τ. N14 is a finite check for n=0 to 20; the proof itself is the induction above.
S13 · implies
Before
g(x)=\begin{cases}-1 & x<\tfrac{7}{5}\\ 1 & x\ge\tfrac{7}{5}\end{cases}After
g\ \text{gives the same signs and brackets, and}\ g(x)\neq 0\ \forall xConditions: none
Rule: case_analysis · Uses: G1, G2, S05, S06, S07, S08
Leaf basis: case_analysis + numeric_evaluation + exists_intro
Sign data alone do not prove a root. Take the step function g with g(x)=−1 for x<7/5 and g(x)=1 for x≥7/5. Compare 1, 2, 3/2, 5/4, 11/8 and 23/16 with 7/5: 1<7/5, 5/4<7/5 and 11/8<7/5, while the others are ≥7/5 (N17 to N20). So g has exactly the signs of G1 and G2 at these six points and the four steps produce exactly the same brackets, yet g takes only the values −1 and 1 and has no root. The algorithm sees only signs and cannot tell f from g; hence nothing in S02 to S12 by itself yields a root.
S14 · theorem_application
Before
f\ \text{continuous on}\ [\tfrac{11}{8},\tfrac{23}{16}],\ f(\tfrac{11}{8})=-\tfrac{7}{64}<0<\tfrac{17}{256}=f(\tfrac{23}{16})After
\exists c\in[\tfrac{11}{8},\tfrac{23}{16}]:\ f(c)=0,\ |c-\tfrac{45}{32}|\le\tfrac{1}{32}Conditions: f\ \text{continuous on}\ [a_4,b_4]; f(a_4)<0<f(b_4)
Rule: ivt · Uses: G4, poly_continuous, ivt, S07, S08, S11
Leaf basis: ivt + poly_continuous + numeric_evaluation
This is the separate proof obligation for root existence. f is a polynomial and continuous on [11/8,23/16] (G4); exact evaluation gives the endpoint values f(11/8)=−7/64<0 and f(23/16)=17/256>0 (N8, N10). Both hypotheses of the intermediate value theorem (cited, citation_verified) hold, so some c∈[11/8,23/16] has f(c)=0; and by S11, |c−45/32|≤1/32. This c is √2, though the guide does not need that name.
S15 · implies
Before
\text{trace, invariant, width, termination, root duty}After
[a_4,b_4]=[\tfrac{11}{8},\tfrac{23}{16}],\ w_4=\tfrac{1}{16},\ \text{root in}\ [a_4,b_4]\ \text{only via IVT}Conditions: none
Rule: and_intro_elim · Uses: S08, S09, S10, S12, S13, S14
Leaf basis: and_intro_elim
Summary: the four-step trace gives [11/8,23/16] (S08), the invariant keeps opposite endpoint signs (S09), the width is 1/16 (S10), and a width rule always terminates (S12); all of these are properties of bracket data only (S13). That the interval contains a root is a different conclusion, coming from continuity and the intermediate value theorem (S14).
Substeps and lemmas
S03.1 · implies
Before
a<b,\ m=\tfrac{a+b}{2}After
m-a=b-m=\tfrac{b-a}{2}>0Conditions: a<b
Rule: order_basics · Uses: order_basics, frac_rules
Leaf basis: order_basics + frac_rules + distributive
m−a=(a+b)/2−2a/2=(b−a)/2 and b−m=2b/2−(a+b)/2=(b−a)/2 (N12 and N13 are degree-one polynomial identities). From a<b we get b−a>0, and multiplying by the positive number 1/2 keeps it positive, so m−a>0 and b−m>0, that is a<m<b. This proves Lemma L_mid.
S04.1 · implies
Before
s(m)=s(a)
After
[a,m]\ \text{same signs},\ [m,b]\ \text{opposite signs}Conditions: s(a)\neq s(b)
Rule: def_unfold · Uses: G3
Leaf basis: def_unfold + eq_refl_symm_trans
If s(m)=s(a), then [a,m] has equal endpoint signs and cannot be kept; [m,b] has endpoint signs s(m)=s(a) and s(b), and s(a)≠s(b), so they are opposite and [m,b] is kept.
S04.2 · implies
Before
s(m)=s(b)
After
[a,m]\ \text{opposite signs},\ [m,b]\ \text{same signs}Conditions: s(a)\neq s(b)
Rule: def_unfold · Uses: G3
Leaf basis: def_unfold + eq_refl_symm_trans
If s(m)=s(b), symmetrically [m,b] has equal signs, while [a,m] has endpoint signs s(a) and s(m)=s(b), which are opposite, so [a,m] is kept.
S04.3 · case_split
Before
s(m)\in\{-,+\},\ \{s(a),s(b)\}=\{-,+\}After
s(m)=s(a)\ \veebar\ s(m)=s(b)
Conditions: s(m)\neq 0
Rule: case_analysis · Uses: S04.1, S04.2, case_analysis
Leaf basis: case_analysis + and_intro_elim
When s(m)≠0 it is either − or +; exactly one of s(a), s(b) is − and the other +, so s(m) equals exactly one of them. The two cases are exclusive and exhaustive, and with S04.1 and S04.2 exactly one half is kept. S04.1 to S04.3 prove Lemma L_half. If s(m)=0, the algorithm stops at m by G3 and this lemma is not used.
S10.1 · induction_base
Before
n=0
After
w_0=\tfrac{w_0}{2^0}Conditions: none
Rule: nat_induction · Uses: G1
Leaf basis: nat_induction + power_laws
Base: 2^0=1, so w0/2^0=w0.
S10.2 · induction_step
Before
w_n=\tfrac{w_0}{2^n}After
w_{n+1}=\tfrac{w_n}{2}=\tfrac{w_0}{2^{n+1}}Conditions: \text{no early stop}
Rule: nat_induction · Uses: S10.1, S03.1, S04
Leaf basis: nat_induction + frac_rules + power_laws
The new interval is [a_n,m] or [m,b_n], and by S03.1 both have width (b_n−a_n)/2=w_n/2. With the induction hypothesis, w_(n+1)=w0/(2^n·2)=w0/2^(n+1). By induction this proves Lemma L_width. With w0=1 and n=4, w4=1/16, matching 23/16−11/8=1/16 (N11).