# Proof: Pythagorean Theorem (Biconditional)

- **Generated:** 2026-03-28
- **Verdict:** PROVED
- **Audit trail:** [proof_audit.md](proof_audit.md) | [proof.py](proof.py)

## Key Findings

- **SC1 (Forward):** If a^2 + b^2 = c^2 in a triangle, then the angle opposite c is exactly 90 degrees -- proved algebraically via the Law of Cosines (A1).
- **SC2 (Converse):** If the angle opposite c is 90 degrees, then a^2 + b^2 = c^2 -- proved algebraically via the Law of Cosines (A2).
- **Numerical cross-check:** 10,000 random triangles tested in each direction with zero failures (A3).
- **Symbolic cross-check:** sympy confirms both directions algebraically (A4).

## Claim Interpretation

**Natural language:** For any triangle with sides a, b, c where a^2 + b^2 = c^2, the angle opposite c is exactly 90 degrees, AND the converse also holds.

**Formal interpretation:** This is a biconditional (if and only if) claim decomposed into two sub-claims:

- **SC1 (Forward):** a^2 + b^2 = c^2 implies angle C = 90 degrees.
- **SC2 (Converse):** angle C = 90 degrees implies a^2 + b^2 = c^2.

Both directions are proved via the Law of Cosines (c^2 = a^2 + b^2 - 2ab*cos(C)), which is an established theorem of Euclidean geometry. The operator `==` reflects that both implications must hold for the biconditional to be true.

*Source: proof.py JSON summary*

## Evidence Summary

| ID | Fact | Verified |
|----|------|----------|
| A1 | SC1 (Forward): a^2 + b^2 = c^2 implies angle C = 90 degrees via Law of Cosines | Computed: True (algebraic derivation yields cos(C) = 0, hence C = 90) |
| A2 | SC2 (Converse): angle C = 90 degrees implies a^2 + b^2 = c^2 via Law of Cosines | Computed: True (cos(90) = 0 eliminates the cross term) |
| A3 | Cross-check: numerical verification with random triangles | Computed: 0 failures in 10,000 trials per direction |
| A4 | Cross-check: symbolic verification using sympy | Computed: True (both directions confirmed symbolically) |

*Source: proof.py JSON summary*

## Proof Logic

The proof uses the **Law of Cosines**, an established theorem of Euclidean geometry:

> c^2 = a^2 + b^2 - 2ab*cos(C)

where C is the angle opposite side c.

### SC1 (Forward): a^2 + b^2 = c^2 implies C = 90 degrees

Assume a^2 + b^2 = c^2. Substituting into the Law of Cosines:

```
a^2 + b^2 = a^2 + b^2 - 2ab*cos(C)
0 = -2ab*cos(C)
```

Since a > 0 and b > 0 (sides of a valid triangle), 2ab is nonzero, so cos(C) = 0. Within the valid range for triangle interior angles (0 < C < 180 degrees), the unique solution is C = 90 degrees (A1).

### SC2 (Converse): C = 90 degrees implies a^2 + b^2 = c^2

Assume C = 90 degrees. Then cos(C) = cos(90) = 0. Substituting into the Law of Cosines:

```
c^2 = a^2 + b^2 - 2ab*0
c^2 = a^2 + b^2
```

This directly yields the Pythagorean relation (A2).

Both directions are independently confirmed by numerical testing with 10,000 random triangles (A3) and symbolic algebra via sympy (A4).

## Counter-Evidence Search

1. **Does this proof depend on Euclidean geometry?** The Law of Cosines takes different forms in non-Euclidean geometries. The Pythagorean theorem as stated is specific to Euclidean geometry, which is the standard interpretation. This does not break the proof.

2. **Degenerate triangles?** A degenerate triangle (a + b = c) has angle C = 180 degrees and a^2 + b^2 < c^2, so it does not satisfy the hypothesis. Excluded by the requirement of being a valid triangle.

3. **Is cos(C) = 0 sufficient for C = 90?** Yes -- within (0, 180) degrees, cos(C) = 0 uniquely determines C = 90 degrees.

4. **Does the converse need extra conditions?** No -- cos(90) = 0 substitutes directly with no additional assumptions beyond valid triangle sides.

*Source: proof.py JSON summary*

## Conclusion

**PROVED.** The Pythagorean theorem is a biconditional: a^2 + b^2 = c^2 if and only if the angle opposite c is exactly 90 degrees. The forward direction (A1) shows that the Pythagorean relation forces cos(C) = 0, uniquely giving C = 90 degrees. The converse (A2) shows that a right angle eliminates the cosine term, recovering a^2 + b^2 = c^2. Both directions are confirmed by numerical verification across 10,000 random triangles (A3) and symbolic algebra (A4). No adversarial checks found counter-evidence.

---
Generated by [proof-engine](https://github.com/yaniv-golan/proof-engine) v0.10.0 on 2026-03-28.
