Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Signed area and oriented angle have the same sign

Proved
Problem97.signedArea2_sign_eq_oangle_sign

by mysticflounder · Sep 8, 2026 · Mathlib 0df444a (Lean v4.33.1)

convex-geometrycyclic-ordererdos-97-96-countinglean-formalizationoriented-anglesigned-area

Let v,vj,vkv,v_j,v_kv,vj​,vk​ be planar points with vj≠vv_j\ne vvj​=v and vk≠vv_k\ne vvk​=v. The sign of the doubled signed area of (v,vj,vk)(v,v_j,v_k)(v,vj​,vk​) is the sign of the standard counterclockwise oriented angle from vj−vv_j-vvj​−v to vk−vv_k-vvk​−v. This bridge lets the proof translate between chord-side inequalities and angular order around an interior center.

Preamble
/- Generated theorem stub from Erdos9796Proof.P97.SignedAreaOangle by Stage 2 proof cut; source SHA-256 b3d7d5da8bb313997dd505e15b0ba2823db075ab8d863e995246ecbcce8f4fa9 -/
import Definitions.Def_Erdos9796Counting_Adapter
import Definitions.Def_Erdos9796Counting_Foundation
import Definitions.Def_Erdos9796Counting_SignedAreaOangle
import Mathlib.Analysis.InnerProductSpace.PiL2
import Mathlib.Geometry.Euclidean.Angle.Oriented.Basic
open Problem97



/-!
# Bridge: algebraic `signedArea2` ↔ Mathlib oriented angle sign

This module supplies the foundational bridge consumed by the MEC arc–angle
chain (sub-obligation `p97-signed-area-eq-oangle-sign`, alias A.1). The
algebraic predicate `Problem97.signedArea2` defined in `Foundation` is the
chord-side / signed-area form used by the cap-witness machinery. The MEC
parametrization, in contrast, needs Mathlib's oriented angle
`Orientation.oangle` on the standard counter-clockwise orientation of
`ℝ² = EuclideanSpace ℝ (Fin 2)`. Both quantities carry the *same sign* by a
direct computation: `signedArea2` is exactly the area form of the standard
orientation evaluated on the two chord vectors, and `oangle` is the
`Complex.arg` of the Kähler form whose imaginary part is that area form.

The single externally-used result is `signedArea2_sign_eq_oangle_sign`
(plus its `Real.sign` cast variant). All proofs are by direct Mathlib
manipulation; no new axioms are introduced.
-/

open scoped EuclideanGeometry
Formal statement
theorem Problem97.signedArea2_sign_eq_oangle_sign
    (v vj vk : ℝ²) (hj : vj ≠ v) (hk : vk ≠ v) :
    SignType.sign (Problem97.signedArea2 v vj vk) =
      (stdOrientation.oangle (vj - v) (vk - v)).sign := by sorry
Source
https://github.com/mysticflounder/erdos-97-96-formalization/blob/88d43fbd49e26dd52753787835044facf1ed91e5/prove2me/submissions/counting-transfer/platform/Theorems/Thm_Problem97_signedArea2_sign_eq_oangle_sign.lean#L1-L48

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me