geometor.knott.identities

Collection 6: Fibonacci-Lucas Identities, Pythagorean Triples, Jigsaw Paradoxes & \(\pi\) (KNOTT-6.1 – KNOTT-6.5).

Catalogs the Fibonacci generator of Pythagorean right triangles, Cassini’s identity and both \(64 \leftrightarrow 65\) (\(+1\) gap) and \(64 \leftrightarrow 63\) (\(-1\) overlap) jigsaw dissections, Binet/Lucas/Catalan/d’Ocagne/Honsberger and Jarden-Fibonomial power identities, Lehmer/Hayashi Fibonacci arctangent telescoping series for \(\pi\), and the Golden Angle parastichy lattice curated by Dr. Ron Knott on pythag.html, fibpuzzles2.html, fibFormulae.html, fibpi.html, and fibnat.html.

Classes

FibonacciPythagoreanRecord

Exact Pythagorean right triangle generated from \((F_n, F_{n+1}, F_{n+2}, F_{n+3})\).

Functions

fibonacci_pythagorean_triple(n) → FibonacciPythagoreanRecord

Generate and verify the Fibonacci Pythagorean triple for index \(n \ge 1\).

construct_fibonacci_pythagorean_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.1: Exact right triangles \((3,4,5)\) & \((5,12,13)\) with incircle.

verify_cassini(n) → int

Verify Cassini's identity \(F_{n-1} F_{n+1} - F_n^2 = (-1)^n\).

construct_fibonacci_jigsaw_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.2: Cassini's \(8 \times 8 = 64 \leftrightarrow 5 \times 13 = 65\) & \(63\) jigsaws.

fibonomial(n, k) → int

Compute the exact integer Fibonomial coefficient \(\binom{n}{k}_F\).

verify_classical_identities() → dict[str, sympy.Expr]

Machine-verify Binet, Lucas, Catalan, d'Ocagne, Honsberger, and Fibonomial identities.

construct_lucas_binet_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.3: Pell-Lucas lattice points \((L_n, F_n)\) & asymptote \(y = x / \sqrt{5}\).

verify_fibonacci_arctan_step(n) → sympy.Expr

Verify Lehmer's step \(\arctan(1/F_{2n}) = \arctan(1/F_{2n+1}) + \arctan(1/F_{2n+2})\).

verify_fibonacci_pi_telescoping([terms]) → sympy.Expr

Verify \(\frac{\pi}{4} = \sum_{k=1}^{N} \arctan\frac{1}{F_{2k+1}} + \arctan\frac{1}{F_{2N+2}}\).

construct_hayashi_arctan_grid_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.4: Ko Hayashi's integer-grid proof of \(\frac{\pi}{4} = \arctan\frac{1}{2} + \arctan\frac{1}{5} + \arctan\frac{1}{8}\).

golden_angle_invariants() → dict[str, sympy.Expr]

Return exact symbolic invariants of the Golden Angle (\(360^\circ / \Phi^2\)).

construct_parastichy_lattice_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.5: Cylindrical Golden-Angle parastichy lattice & opposing Fibonacci spirals.

Module Contents

class geometor.knott.identities.FibonacciPythagoreanRecord

Exact Pythagorean right triangle generated from \((F_n, F_{n+1}, F_{n+2}, F_{n+3})\).

n: int
leg_a: int
leg_b: int
hypotenuse_c: int
area: int
inradius: int
gcd_factor: int
primitive_triple: tuple[int, int, int]
geometor.knott.identities.fibonacci_pythagorean_triple(n: int) → FibonacciPythagoreanRecord

Generate and verify the Fibonacci Pythagorean triple for index \(n \ge 1\).

Uses Euclid’s generator \((m, k) = (F_{n+2}, F_{n+1})\):

  • \(a_n = m^2 - k^2 = (F_{n+2} - F_{n+1})(F_{n+2} + F_{n+1}) = F_n F_{n+3}\);

  • \(b_n = 2 m k = 2 F_{n+1} F_{n+2}\);

  • \(c_n = m^2 + k^2 = F_{n+1}^2 + F_{n+2}^2 = F_{2n+3}\).

Parameters:

n – Positive integer (\(n \ge 1\)).

Returns:

Verified FibonacciPythagoreanRecord.

geometor.knott.identities.construct_fibonacci_pythagorean_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.1: Exact right triangles \((3,4,5)\) & \((5,12,13)\) with incircle.

Constructs the first two Fibonacci Pythagorean right triangles O A1 B1 (\(3, 4, 5\) from \(1, 1, 2, 3\)) and O A2 B2 (\(5, 12, 13\) from \(1, 2, 3, 5\)) sharing right-angle vertex O(0, 0), together with incircle (I2, T2) of exact inradius \(r_2 = F_2 F_3 = 2\) inside \((5, 12, 13)\).

Returns:

Verified GeometricCatalogResult for KNOTT-6.1.

geometor.knott.identities.verify_cassini(n: int) → int

Verify Cassini’s identity \(F_{n-1} F_{n+1} - F_n^2 = (-1)^n\).

Parameters:

n – Integer index.

Returns:

Exact alternating determinant \((-1)^n \in \{-1, +1\}\).

geometor.knott.identities.construct_fibonacci_jigsaw_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.2: Cassini’s \(8 \times 8 = 64 \leftrightarrow 5 \times 13 = 65\) & \(63\) jigsaws.

Models both classical four-piece dissections of the \(8 \times 8 = 64\) square (two \(3 \times 8\) right triangles of area 12 + two \(5 \times (3, 5)\) right trapezoids of area 20) inside a single exact geometor.model.Model:

  1. Lower figure (:math:`5 times 13 = 65` Hooper/Loyd rectangle): encloses the slender internal parallelogram O P1 Q P2 of exact shoelace area +1;

  2. Upper figure (Sam Loyd Jr. / Dudeney / Knott 63-unit notched block, shifted to ``y >= 7``): two \(5 \times 6 = 30\) wings joined by a \(3 \times 1 = 3\) bridge (apparent outer area 63), concealing an internal overlap parallelogram U0 U1 U2 U3 of exact shoelace area +1 (\(64 - 1 = 63\)).

Returns:

Verified GeometricCatalogResult for KNOTT-6.2.

geometor.knott.identities.fibonomial(n: int, k: int) → int

Compute the exact integer Fibonomial coefficient \(\binom{n}{k}_F\).

Defined on Fibonomials.html and fibFormulae.html#FibonomialFormulae as \(\frac{F_n F_{n-1} \cdots F_{n-k+1}}{F_k F_{k-1} \cdots F_1}\) (with \(\binom{n}{0}_F = \binom{n}{n}_F = 1\)).

Parameters:
  • n – Non-negative upper index.

  • k – Integer lower index.

Returns:

Exact integer Fibonomial coefficient.

geometor.knott.identities.verify_classical_identities() → dict[str, sympy.Expr]

Machine-verify Binet, Lucas, Catalan, d’Ocagne, Honsberger, and Fibonomial identities.

Returns:

Dictionary of representative verified exact quantities.

geometor.knott.identities.construct_lucas_binet_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.3: Pell-Lucas lattice points \((L_n, F_n)\) & asymptote \(y = x / \sqrt{5}\).

Plots exact Pell-Lucas points \(P_n = (L_n, F_n)\) for \(n = 0..4\) (P0(2,0), P1(1,1), P2(3,1), P3(4,2), P4(7,3)) alternating across hyperbolas \(x^2 - 5 y^2 = \pm 4\) around Binet’s asymptote ray [O A] of exact slope \(1 / \sqrt{5}\) (\(A = (8, 8/\sqrt{5})\)).

Returns:

Verified GeometricCatalogResult for KNOTT-6.3.

geometor.knott.identities.verify_fibonacci_arctan_step(n: int) → sympy.Expr

Verify Lehmer’s step \(\arctan(1/F_{2n}) = \arctan(1/F_{2n+1}) + \arctan(1/F_{2n+2})\).

Proves exact equality both via rational tangent-addition algebra \((a + b)/(1 - a b) = 1/F_{2n}\) and via SymPy’s symbolic atan simplification.

Parameters:

n – Positive integer (\(n \ge 1\)).

Returns:

Exact common tangent \(1 / F_{2n}\) as sympy.Rational.

geometor.knott.identities.verify_fibonacci_pi_telescoping(terms: int = 8) → sympy.Expr

Verify \(\frac{\pi}{4} = \sum_{k=1}^{N} \arctan\frac{1}{F_{2k+1}} + \arctan\frac{1}{F_{2N+2}}\).

Parameters:

terms – Number of telescoping steps \(N \ge 1\).

Returns:

Exact symbolic remainder \(\arctan(1 / F_{2N+2})\).

geometor.knott.identities.construct_hayashi_arctan_grid_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.4: Ko Hayashi’s integer-grid proof of \(\frac{\pi}{4} = \arctan\frac{1}{2} + \arctan\frac{1}{5} + \arctan\frac{1}{8}\).

Constructs four integer lattice points O(0,0), E(10,10), M(15,5), and N(16,2) (with horizontal reference X(16,0)):

  • Right triangle O E M has \(s([OE], [EM]) = 1\) and \(Q(E,M)/Q(O,E) = 50/200 = 1/4 = (1/2)^2\), proving \(\angle EOM = \arctan(1/2)\) between \(45^\circ\) ray OE and slope-\(1/3\) ray OM;

  • Right triangle O M N has \(s([OM], [MN]) = 1\) and \(Q(M,N)/Q(O,M) = 10/250 = 1/25 = (1/5)^2\), proving \(\angle MON = \arctan(1/5)\) between slope-\(1/3\) ray OM and slope-\(1/8\) ray ON.

Returns:

Verified GeometricCatalogResult for KNOTT-6.4.

geometor.knott.identities.golden_angle_invariants() → dict[str, sympy.Expr]

Return exact symbolic invariants of the Golden Angle (\(360^\circ / \Phi^2\)).

Returns:

Dictionary of exact turn fractions, radian/degree expressions, and parastichy offsets.

geometor.knott.identities.construct_parastichy_lattice_model() → geometor.knott.flat_geometry.GeometricCatalogResult

Construct KNOTT-6.5: Cylindrical Golden-Angle parastichy lattice & opposing Fibonacci spirals.

Unrolls cylindrical phyllotaxis onto the \((\Delta x, n)\) plane around stem axis [O S] (\(x = 0\)), plotting exact Fibonacci primordia \(P_k = (20 (F_k \phi^2 - F_{k-2}),\; F_k) = (20 (-\phi)^k,\; F_k)\) for \(k = 2..6\) (\(F_2=1, F_3=2, F_4=3, F_5=5, F_6=8\)), plus their vector sum completing fundamental parastichy parallelograms O P3 Q34 P4 and O P4 Q45 P5.

Returns:

Verified GeometricCatalogResult for KNOTT-6.5.