#!/usr/bin/env python3 """Verify Fibonacci computation mathematically.""" # Compute Fibonacci sequence fibs = [0, 1] for i in range(18): fibs.append(fibs[-1] + fibs[-2]) # Property 1: Sum of first n Fibonacci numbers = F(n+2) - 1 # For first 20 (F0 to F19): sum = F(21) - 1 # We need to compute F(20) and F(21) f20 = fibs[-1] + fibs[-2] # F(20) f21 = f20 + fibs[-1] # F(21) calc_sum = f21 - 1 # Verify F(21) = 10946 # F(19)=4181, F(20)=6765, F(21)=10946 # So sum = 10946 - 1 = 10945 # Property 2: Direct sum direct_sum = sum(fibs) # Write verification results with open("/root/.hermes/wizard-outputs/spark/math_verification.txt", "w") as f: f.write(f"Sequence length: {len(fibs)}\n") f.write(f"Sum (direct calculation): {direct_sum}\n") f.write(f"Sum (F(n+2)-1 formula): {calc_sum}\n") f.write(f"Formula matches direct: {direct_sum == calc_sum}\n") f.write(f"Last number (F19): {fibs[19]}\n") f.write(f"Last number is correct (4181): {fibs[19] == 4181}\n") f.write(f"All consecutive pairs valid: {all(fibs[i] == fibs[i-1] + fibs[i-2] for i in range(2, len(fibs)))}\n") print(f"Direct sum: {direct_sum}") print(f"Formula sum: {calc_sum}") print(f"All checks pass: {direct_sum == calc_sum and fibs[19] == 4181}")