Book IX · Proposition 32
Each of the numbers which are continually doubled beginning from a dyad is even-times even only.Heath, 1908
'Even-times even only' means a power of two: divisible by two down to two itself and never by an odd number.
Needs: nothing earlier.
Rests on: Def.VII.8
Depth: 0 steps of argument above the first principles. Parallel postulate: not needed.
Nothing. It draws no intersections and reads nothing off the picture.
@proposition("IX.32", THEOREM, sample=lambda rng: (2 ** rng.randint(2, 12),),
note="'Even-times even only' means a power of two: divisible by two "
"down to two itself and never by an odd number.")
def prop_IX_32(number: int) -> Out:
hypothesis("a genuine doubling is asked for", number >= 4, guard=True)
# The doubling is carried out rather than named by an exponent. Written as
# ``number = 2 ** power``, the claim that the number is reached by doubling
# compared it with the expression it was assigned, and a number that is no
# power of two could not have been offered to refute it. Here the chain
# overshoots when it is not, and the claim fails.
chain = [2]
while chain[-1] < number:
chain.append(chain[-1] + chain[-1])
claim("the number is reached by continual doubling from a dyad", "Def.VII.8",
chain[-1] == number and in_continued_proportion(chain))
claim("it is even-times even only, no odd number measuring it", "Def.VII.8",
not any(measures(d, number) for d in range(3, number + 1, 2)))
return Out(number=number)