Documentation

EuclideanGeometry.Foundation.Construction.Polygon.Quadrilateral

Quadrilateral #

In this file we define general quadrilaterals as four points on the plane and convex quadrilaterals.

Important Definitions #

Notation #

Implementation Notes #

Currently, we just defines general quadrilaterals, non-degenerate quadrilateral (adjacent points are not the same, or cyclic-non-degenerate) and convex quadrilaterals. There are classes in between. For example, quadrilateral without self-intersection, quadrilateral of stronger non-degenerate (any two points are not same, we call it alternatively-non-degenerate temporarily). Of course many definitions work on these classes already, but without necessarity in application, we will not formalize these class for present.

theorem EuclidGeom.Quadrilateral.ext {P : Type u_1} :
∀ {inst : EuclidGeom.EuclideanPlane P} (x y : EuclidGeom.Quadrilateral P), x.point₁ = y.point₁x.point₂ = y.point₂x.point₃ = y.point₃x.point₄ = y.point₄x = y
theorem EuclidGeom.Quadrilateral.ext_iff {P : Type u_1} :
∀ {inst : EuclidGeom.EuclideanPlane P} (x y : EuclidGeom.Quadrilateral P), x = y x.point₁ = y.point₁ x.point₂ = y.point₂ x.point₃ = y.point₃ x.point₄ = y.point₄

Class of Quadrilateral: A quadrilateral consists of four points; it is the generalized quadrilateral formed by these four points

  • point₁ : P
  • point₂ : P
  • point₃ : P
  • point₄ : P
Instances For

    For four points $A$ $B$ $C$ $D$ on a plane, instead of writing Quadrilateral.mk $A$ $B$ $C$ $D$ for the quadrilateral formed by $A$ $B$ $C$ $D$, we use QDR $A$ $B$ $C$ $D$ to denote such a quadrilateral.

    Equations
    Instances For

      Given a quadrilateral qdr, qdr.edge₁₂ is the edge from the first point to the second point of a quadrilateral.

      Equations
      • EuclidGeom.Quadrilateral.edge₁₂ = { source := qdr.point₁, target := qdr.point₂ }
      Instances For

        The edge from the second point to the third point of a quadrilateral

        Equations
        • EuclidGeom.Quadrilateral.edge₂₃ = { source := qdr.point₂, target := qdr.point₃ }
        Instances For

          The edge from the third point to the fourth point of a quadrilateral

          Equations
          • EuclidGeom.Quadrilateral.edge₃₄ = { source := qdr.point₃, target := qdr.point₄ }
          Instances For

            The edge from the 1st point to the 4th point of a quadrilateral

            Equations
            • EuclidGeom.Quadrilateral.edge₁₄ = { source := qdr.point₁, target := qdr.point₄ }
            Instances For

              The diagonal from the first point to the third point of a quadrilateral

              Equations
              • EuclidGeom.Quadrilateral.diag₁₃ = { source := qdr.point₁, target := qdr.point₃ }
              Instances For

                The diagonal from the second point to the fourth point of a quadrilateral

                Equations
                • EuclidGeom.Quadrilateral.diag₂₄ = { source := qdr.point₂, target := qdr.point₄ }
                Instances For

                  The perm quadrilateral, the first point of the perm is the second point of the origin, etc.

                  Equations
                  • EuclidGeom.Quadrilateral.perm = { point₁ := qdr.point₂, point₂ := qdr.point₃, point₃ := qdr.point₄, point₄ := qdr.point₁ }
                  Instances For

                    The flip quadrilateral, exchanged the second point and the fourth.

                    Equations
                    • EuclidGeom.Quadrilateral.flip = { point₁ := qdr.point₁, point₂ := qdr.point₄, point₃ := qdr.point₃, point₄ := qdr.point₂ }
                    Instances For
                      @[simp]
                      theorem EuclidGeom.Quadrilateral.edge₁₂_simp {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) :
                      EuclidGeom.Quadrilateral.edge₁₂ = { source := A, target := B }
                      @[simp]
                      theorem EuclidGeom.Quadrilateral.edge₂₃_simp {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) :
                      EuclidGeom.Quadrilateral.edge₂₃ = { source := B, target := C }
                      @[simp]
                      theorem EuclidGeom.Quadrilateral.edge₃₄_simp {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) :
                      EuclidGeom.Quadrilateral.edge₃₄ = { source := C, target := D }
                      @[simp]
                      theorem EuclidGeom.Quadrilateral.edge₁₄_simp {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) :
                      EuclidGeom.Quadrilateral.edge₁₄ = { source := A, target := D }
                      @[simp]
                      theorem EuclidGeom.Quadrilateral.diag₁₃_simp {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) :
                      EuclidGeom.Quadrilateral.diag₁₃ = { source := A, target := C }
                      @[simp]
                      theorem EuclidGeom.Quadrilateral.diag₂₄_simp {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) :
                      EuclidGeom.Quadrilateral.diag₂₄ = { source := B, target := D }
                      @[simp]
                      theorem EuclidGeom.Quadrilateral.perm_simp {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) :
                      EuclidGeom.Quadrilateral.perm = { point₁ := B, point₂ := C, point₃ := D, point₄ := A }
                      @[simp]
                      theorem EuclidGeom.Quadrilateral.flip_simp {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) :
                      EuclidGeom.Quadrilateral.flip = { point₁ := A, point₂ := D, point₃ := C, point₄ := B }

                      A quadrilateral is called non-degenerate if the points that adjacent is not same

                      • nd₁₂ : qdr.point₂ qdr.point₁
                      • nd₂₃ : qdr.point₃ qdr.point₂
                      • nd₃₄ : qdr.point₄ qdr.point₃
                      • nd₁₄ : qdr.point₄ qdr.point₁
                      Instances For
                        theorem EuclidGeom.QuadrilateralND.ext {P : Type u_1} :
                        ∀ {inst : EuclidGeom.EuclideanPlane P} (x y : EuclidGeom.QuadrilateralND P), x.point₁ = y.point₁x.point₂ = y.point₂x.point₃ = y.point₃x.point₄ = y.point₄x = y
                        theorem EuclidGeom.QuadrilateralND.ext_iff {P : Type u_1} :
                        ∀ {inst : EuclidGeom.EuclideanPlane P} (x y : EuclidGeom.QuadrilateralND P), x = y x.point₁ = y.point₁ x.point₂ = y.point₂ x.point₃ = y.point₃ x.point₄ = y.point₄

                        Class of nd Quadrilateral: A nd quadrilateral is quadrilateral with the property of nd.

                        • point₁ : P
                        • point₂ : P
                        • point₃ : P
                        • point₄ : P
                        • nd : s.IsND
                        Instances For
                          def EuclidGeom.QuadrilateralND.mk_pt_pt_pt_pt_nd {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) (h : { point₁ := A, point₂ := B, point₃ := C, point₄ := D }.IsND) :
                          Equations
                          Instances For

                            Given a property that a quadrilateral qdr is nd, this function returns qdr itself as an object in the class of nd quadrilateral

                            Equations
                            Instances For

                              A quadrilateral satisfies InGPos if every 3 vertices are not collinear.

                              Instances For
                                instance EuclidGeom.QuadrilateralND.nd₁₂ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                EuclidGeom.PtNe qdr_nd.point₂ qdr_nd.point₁

                                The edge from the first point to the second point of a QuadrilateralND is non-degenerate.

                                Equations
                                instance EuclidGeom.QuadrilateralND.nd₂₃ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                EuclidGeom.PtNe qdr_nd.point₃ qdr_nd.point₂

                                The edge from the first point to the second point of a QuadrilateralND is non-degenerate.

                                Equations
                                instance EuclidGeom.QuadrilateralND.nd₃₄ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                EuclidGeom.PtNe qdr_nd.point₄ qdr_nd.point₃

                                The edge from the first point to the second point of a QuadrilateralND is non-degenerate.

                                Equations
                                instance EuclidGeom.QuadrilateralND.nd₁₄ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                EuclidGeom.PtNe qdr_nd.point₄ qdr_nd.point₁

                                The edge from the first point to the second point of a QuadrilateralND is non-degenerate.

                                Equations

                                The edge from the first point to the second point of a quadrilateral

                                Equations
                                • qdr_nd.edgeND₁₂ = SEG_nd qdr_nd.point₁ qdr_nd.point₂ (_ : qdr_nd.point₂ qdr_nd.point₁)
                                Instances For

                                  The edge from the second point to the third point of a quadrilateral

                                  Equations
                                  • qdr_nd.edgeND₂₃ = SEG_nd qdr_nd.point₂ qdr_nd.point₃ (_ : qdr_nd.point₃ qdr_nd.point₂)
                                  Instances For

                                    The edge from the third point to the fourth point of a quadrilateral

                                    Equations
                                    • qdr_nd.edgeND₃₄ = SEG_nd qdr_nd.point₃ qdr_nd.point₄ (_ : qdr_nd.point₄ qdr_nd.point₃)
                                    Instances For

                                      The edge from the fourth point to the first point of a quadrilateral

                                      Equations
                                      • qdr_nd.edgeND₄₁ = SEG_nd qdr_nd.point₄ qdr_nd.point₁ (_ : qdr_nd.point₁ qdr_nd.point₄)
                                      Instances For

                                        angle at point₁ of qdr_nd

                                        Equations
                                        • qdr_nd.angle₁ = ANG qdr_nd.point₄ qdr_nd.point₁ qdr_nd.point₂ (_ : qdr_nd.point₄ qdr_nd.point₁) (_ : qdr_nd.point₂ qdr_nd.point₁)
                                        Instances For

                                          angle at point₂ of qdr_nd

                                          Equations
                                          • qdr_nd.angle₂ = ANG qdr_nd.point₁ qdr_nd.point₂ qdr_nd.point₃ (_ : qdr_nd.point₁ qdr_nd.point₂) (_ : qdr_nd.point₃ qdr_nd.point₂)
                                          Instances For

                                            angle at point₃ of qdr_nd

                                            Equations
                                            • qdr_nd.angle₃ = ANG qdr_nd.point₂ qdr_nd.point₃ qdr_nd.point₄ (_ : qdr_nd.point₂ qdr_nd.point₃) (_ : qdr_nd.point₄ qdr_nd.point₃)
                                            Instances For

                                              angle at point₄ of qdr_nd

                                              Equations
                                              • qdr_nd.angle₄ = ANG qdr_nd.point₃ qdr_nd.point₄ qdr_nd.point₁ (_ : qdr_nd.point₃ qdr_nd.point₄) (_ : qdr_nd.point₁ qdr_nd.point₄)
                                              Instances For

                                                triangle point₄ point₁ point₂, which includes angle₁

                                                Equations
                                                • qdr_nd.triangle₁ = { point₁ := qdr_nd.point₄, point₂ := qdr_nd.point₁, point₃ := qdr_nd.point₂ }
                                                Instances For

                                                  triangle point₁ point₂ point₃, which includes angle₂

                                                  Equations
                                                  • qdr_nd.triangle₂ = { point₁ := qdr_nd.point₁, point₂ := qdr_nd.point₂, point₃ := qdr_nd.point₃ }
                                                  Instances For

                                                    triangle point₂ point₃ point₄, which includes angle₃

                                                    Equations
                                                    • qdr_nd.triangle₃ = { point₁ := qdr_nd.point₂, point₂ := qdr_nd.point₃, point₃ := qdr_nd.point₄ }
                                                    Instances For

                                                      triangle point₃ point₄ point₁, which includes angle₄

                                                      Equations
                                                      • qdr_nd.triangle₄ = { point₁ := qdr_nd.point₃, point₂ := qdr_nd.point₄, point₃ := qdr_nd.point₁ }
                                                      Instances For
                                                        theorem EuclidGeom.QuadrilateralND.perm_is_nd {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                                        EuclidGeom.Quadrilateral.perm.IsND

                                                        The perm of QuadrilateralND is also QuadrilateralND.

                                                        The perm QuadrilateralND, the first point of the perm is the second point of the origin, etc.

                                                        Equations
                                                        Instances For
                                                          theorem EuclidGeom.QuadrilateralND.flip_is_nd {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                                          EuclidGeom.Quadrilateral.flip.IsND

                                                          The flip of QuadrilateralND is also QuadrilateralND.

                                                          The flip QuadrilateralND, exchanged the second point and the fourth.

                                                          Equations
                                                          Instances For
                                                            theorem EuclidGeom.QuadrilateralND.flip_angle₁_value_eq_neg_angle₁ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                                            qdr_nd.flip.angle₁.value = -qdr_nd.angle₁.value
                                                            theorem EuclidGeom.QuadrilateralND.flip_angle₂_value_eq_neg_angle₄ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                                            qdr_nd.flip.angle₂.value = -qdr_nd.angle₄.value
                                                            theorem EuclidGeom.QuadrilateralND.flip_angle₃_value_eq_neg_angle₃ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                                            qdr_nd.flip.angle₃.value = -qdr_nd.angle₃.value
                                                            theorem EuclidGeom.QuadrilateralND.flip_angle₄_value_eq_neg_angle₂ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                                            qdr_nd.flip.angle₄.value = -qdr_nd.angle₂.value
                                                            theorem EuclidGeom.QuadrilateralND.nd_of_gpos {P : Type u_1} [EuclidGeom.EuclideanPlane P] {qdr : EuclidGeom.Quadrilateral P} (InGPos : qdr.InGPos) :
                                                            qdr.IsND

                                                            A Quadrilateral which satisfies InGPos satisfies IsND.

                                                            Equations
                                                            • EuclidGeom.QuadrilateralND.instCoeInGPosIsND = { coe := (_ : qdr.InGPosqdr.IsND) }

                                                            A Quadrilateral is called convex if it's ND and four angles have the same sign.

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              instance EuclidGeom.instCoeIsConvexIsND {P : Type u_1} [EuclidGeom.EuclideanPlane P] {qdr : EuclidGeom.Quadrilateral P} :
                                                              Coe qdr.IsConvex qdr.IsND
                                                              Equations
                                                              • EuclidGeom.instCoeIsConvexIsND = { coe := (_ : qdr.IsConvexqdr.IsND) }
                                                              theorem EuclidGeom.Quadrilateral.nd_cvx_iff_cvx {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_nd : EuclidGeom.QuadrilateralND P) :
                                                              qdr_nd.IsConvex qdr_nd.angle₁.value.IsPos qdr_nd.angle₂.value.IsPos qdr_nd.angle₃.value.IsPos qdr_nd.angle₄.value.IsPos qdr_nd.angle₁.value.IsNeg qdr_nd.angle₂.value.IsNeg qdr_nd.angle₃.value.IsNeg qdr_nd.angle₄.value.IsNeg
                                                              instance EuclidGeom.instCoeIsConvexToQuadrilateral {P : Type u_1} [EuclidGeom.EuclideanPlane P] {qdr_nd : EuclidGeom.QuadrilateralND P} :
                                                              Coe qdr_nd.IsConvex qdr_nd.IsConvex
                                                              Equations
                                                              • EuclidGeom.instCoeIsConvexToQuadrilateral = { coe := (_ : qdr_nd.IsConvexqdr_nd.IsConvex) }
                                                              instance EuclidGeom.instCoeIsConvexToQuadrilateral_1 {P : Type u_1} [EuclidGeom.EuclideanPlane P] {qdr_nd : EuclidGeom.QuadrilateralND P} :
                                                              Coe qdr_nd.IsConvex qdr_nd.IsConvex
                                                              Equations
                                                              • EuclidGeom.instCoeIsConvexToQuadrilateral_1 = { coe := (_ : qdr_nd.IsConvexqdr_nd.IsConvex) }
                                                              theorem EuclidGeom.Quadrilateral_cvx.ext_iff {P : Type u_1} :
                                                              ∀ {inst : EuclidGeom.EuclideanPlane P} (x y : EuclidGeom.Quadrilateral_cvx P), x = y x.point₁ = y.point₁ x.point₂ = y.point₂ x.point₃ = y.point₃ x.point₄ = y.point₄
                                                              theorem EuclidGeom.Quadrilateral_cvx.ext {P : Type u_1} :
                                                              ∀ {inst : EuclidGeom.EuclideanPlane P} (x y : EuclidGeom.Quadrilateral_cvx P), x.point₁ = y.point₁x.point₂ = y.point₂x.point₃ = y.point₃x.point₄ = y.point₄x = y

                                                              Class of Convex Quadrilateral: A convex quadrilateral is quadrilateral with the property of convex.

                                                              • point₁ : P
                                                              • point₂ : P
                                                              • point₃ : P
                                                              • point₄ : P
                                                              • nd : s.IsND
                                                              • convex : s.IsConvex
                                                              Instances For
                                                                def EuclidGeom.Quadrilateral_cvx.mk_pt_pt_pt_pt_convex {P : Type u_1} [EuclidGeom.EuclideanPlane P] (A : P) (B : P) (C : P) (D : P) (h : { point₁ := A, point₂ := B, point₃ := C, point₄ := D }.IsConvex) :
                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For
                                                                  Equations
                                                                  Instances For
                                                                    Instances For
                                                                      theorem EuclidGeom.Quadrilateral_cvx.is_convex_of_three_sides_of_same_side {P : Type u_1} [EuclidGeom.EuclideanPlane P] (p : EuclidGeom.Quadrilateral_cvx.is_convex_of_three_sides_of_same_side') :
                                                                      p.qdr_nd.IsConvex
                                                                      Instances For
                                                                        theorem EuclidGeom.Quadrilateral_cvx.is_convex_of_diag_inx_lies_int {P : Type u_1} [EuclidGeom.EuclideanPlane P] (p : EuclidGeom.Quadrilateral_cvx.is_convex_of_diag_inx_lies_int') :
                                                                        p.qdr.IsConvex

                                                                        The perm of quadrilateral_cvx is also quadrilateral_cvx.

                                                                        The perm quadrilateral_cvx, the first point of the perm is the second point of the origin, etc.

                                                                        Equations
                                                                        Instances For
                                                                          theorem EuclidGeom.Quadrilateral_cvx.perm_is_convex' {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                          { point₁ := qdr_cvx.point₂, point₂ := qdr_cvx.point₃, point₃ := qdr_cvx.point₄, point₄ := qdr_cvx.point₁ }.IsConvex

                                                                          Given a convex quadrilateral qdr_cvx ABCD, quadrilateral QDR BCDA is also convex.

                                                                          The flip of quadrilateral_cvx is also quadrilateral_cvx.

                                                                          instance EuclidGeom.Quadrilateral_cvx.nd₁₃ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                          EuclidGeom.PtNe qdr_cvx.point₃ qdr_cvx.point₁

                                                                          Given a convex quadrilateral qdr_cvx, diagonal from the first point to the second point is not degenerate, i.e. the second point is not equal to the first point.

                                                                          Equations
                                                                          instance EuclidGeom.Quadrilateral_cvx.nd₂₄ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                          EuclidGeom.PtNe qdr_cvx.point₄ qdr_cvx.point₂

                                                                          Given a convex quadrilateral qdr_cvx, diagonal from the first point to the second point is not degenerate, i.e. the second point is not equal to the first point.

                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.

                                                                          The non-degenerate diagonal from the first point and third point of a convex quadrilateral

                                                                          Equations
                                                                          Instances For

                                                                            The non-degenerate diagonal from the second point and fourth point of a convex quadrilateral

                                                                            Equations
                                                                            Instances For

                                                                              The intersection point of two diagonals

                                                                              Equations
                                                                              • One or more equations did not get rendered due to their size.
                                                                              Instances For

                                                                                The interior of two diagonals intersect at one point, i.e. the intersection point of the underlying lines of the diagonals lies in the interior of both diagonals.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₁₂₃ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₁ qdr_cvx.point₂ qdr_cvx.point₃

                                                                                Given a convex quadrilateral qdr_cvx, its 1st, 2nd and 3rd points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₁ point₂}$ is not the same as the projective direction of the vector $\overrightarrow{point₁ point₃}$.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₂₃₄ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₂ qdr_cvx.point₃ qdr_cvx.point₄

                                                                                Given a convex quadrilateral qdr_cvx, its 2nd, 3rd and 4th points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₂ point₃}$ is not the same as the projective direction of the vector $\overrightarrow{point₂ point₄}$.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₃₄₁ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₃ qdr_cvx.point₄ qdr_cvx.point₁

                                                                                Given a convex quadrilateral qdr_cvx, its 3rd, 4th and 1st points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₃ point₄}$ is not the same as the projective direction of the vector $\overrightarrow{point₃ point₁}$.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₄₁₃ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₄ qdr_cvx.point₁ qdr_cvx.point₃

                                                                                Given a convex quadrilateral qdr_cvx, its 4th, 1st and 3rd points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₃ point₄}$ is not the same as the projective direction of the vector $\overrightarrow{point₃ point₁}$.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₄₃₁ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₄ qdr_cvx.point₃ qdr_cvx.point₁

                                                                                Given a convex quadrilateral qdr_cvx, its 4th, 3rd and 1st points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₃ point₄}$ is not the same as the projective direction of the vector $\overrightarrow{point₃ point₁}$.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₁₄₃ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₁ qdr_cvx.point₄ qdr_cvx.point₃

                                                                                Given a convex quadrilateral qdr_cvx, its 1st, 4th and 3rd points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₃ point₄}$ is not the same as the projective direction of the vector $\overrightarrow{point₃ point₁}$.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₄₁₂ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₄ qdr_cvx.point₁ qdr_cvx.point₂

                                                                                Given a convex quadrilateral qdr_cvx, its 4th, 1st and 2nd points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₄ point₁}$ is not the same as the projective direction of the vector $\overrightarrow{point₄ point₂}$.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₂₁₄ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₂ qdr_cvx.point₁ qdr_cvx.point₄

                                                                                Given a convex quadrilateral qdr_cvx, its 2nd, 1st and 4th points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₄ point₁}$ is not the same as the projective direction of the vector $\overrightarrow{point₄ point₂}$.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₁₄₂ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₁ qdr_cvx.point₄ qdr_cvx.point₂

                                                                                Given a convex quadrilateral qdr_cvx, its 1st, 4th and 2nd points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₄ point₁}$ is not the same as the projective direction of the vector $\overrightarrow{point₄ point₂}$.

                                                                                theorem EuclidGeom.Quadrilateral_cvx.not_collinear₁₂₄ {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                ¬EuclidGeom.Collinear qdr_cvx.point₁ qdr_cvx.point₂ qdr_cvx.point₄

                                                                                Given a convex quadrilateral qdr_cvx, its 1st, 2nd and 4th points are not collinear, i.e. the projective direction of the vector $\overrightarrow{point₄ point₁}$ is not the same as the projective direction of the vector $\overrightarrow{point₄ point₂}$.

                                                                                triangle point₄ point₁ point₂, which includes angle₁

                                                                                Equations
                                                                                • qdr_cvx.triangle_nd₁ = { val := qdr_cvx.triangle₁, property := (_ : ¬EuclidGeom.Collinear qdr_cvx.point₄ qdr_cvx.point₁ qdr_cvx.point₂) }
                                                                                Instances For

                                                                                  triangle point₁ point₂ point₃, which includes angle₂

                                                                                  Equations
                                                                                  • qdr_cvx.triangle_nd₂ = { val := qdr_cvx.triangle₂, property := (_ : ¬EuclidGeom.Collinear qdr_cvx.point₁ qdr_cvx.point₂ qdr_cvx.point₃) }
                                                                                  Instances For

                                                                                    triangle point₂ point₃ point₄, which includes angle₃

                                                                                    Equations
                                                                                    • qdr_cvx.triangle_nd₃ = { val := qdr_cvx.triangle₃, property := (_ : ¬EuclidGeom.Collinear qdr_cvx.point₂ qdr_cvx.point₃ qdr_cvx.point₄) }
                                                                                    Instances For

                                                                                      triangle point₃ point₄ point₁, which includes angle₄

                                                                                      Equations
                                                                                      • qdr_cvx.triangle_nd₄ = { val := qdr_cvx.triangle₄, property := (_ : ¬EuclidGeom.Collinear qdr_cvx.point₃ qdr_cvx.point₄ qdr_cvx.point₁) }
                                                                                      Instances For
                                                                                        theorem EuclidGeom.Quadrilateral_cvx.cclock_eq {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                        qdr_cvx.triangle_nd₁.is_cclock qdr_cvx.triangle_nd₃.is_cclock
                                                                                        theorem EuclidGeom.Quadrilateral_cvx.cclock_eq' {P : Type u_1} [EuclidGeom.EuclideanPlane P] (qdr_cvx : EuclidGeom.Quadrilateral_cvx P) :
                                                                                        qdr_cvx.triangle_nd₂.is_cclock qdr_cvx.triangle_nd₄.is_cclock