(****************************************************************)
Parameter Apart : Point -> Line -> Prop.(****************************************************************)

Definition Incident (a : Point) (l : Line) := ~ Apart a l.Record Segment : Set := Seg
  {origin : Point; extremity : Point; Seg_cond : DiPt origin extremity}.Record Segment : Set := Seg
  {origin : Point; extremity : Point; Seg_cond : DiPt origin extremity}.Record Segment : Set := Seg
  {origin : Point; extremity : Point; Seg_cond : DiPt origin extremity}.Record Segment : Set := Seg
  {origin : Point; extremity : Point; Seg_cond : DiPt origin extremity}.Record Segment : Set := Seg
  {origin : Point; extremity : Point; Seg_cond : DiPt origin extremity}.Record Twolines : Set := Twol
  {line1 : Line; line2 : Line; Twol_cond : ConLn line1 line2}.Record Twolines : Set := Twol
  {line1 : Line; line2 : Line; Twol_cond : ConLn line1 line2}.Record Twolines : Set := Twol
  {line1 : Line; line2 : Line; Twol_cond : ConLn line1 line2}.Record Twolines : Set := Twol
  {line1 : Line; line2 : Line; Twol_cond : ConLn line1 line2}.Record Twolines : Set := Twol
  {line1 : Line; line2 : Line; Twol_cond : ConLn line1 line2}.(****************************************************************)

Axiom
  line :
    forall x : Segment,
    {l : Line | Incident (origin x) l /\ Incident (extremity x) l}.Axiom
  point :
    forall x : Twolines,
    {a : Point | Incident a (line1 x) /\ Incident a (line2 x)}.(****************************************************************)

Definition ln : Segment -> Line.Definition pt : Twolines -> Point.

(* Specifications: *)
Theorem inc_ln1 : forall x : Segment, Incident (origin x) (ln x).
Theorem inc_ln2 : forall x : Segment, Incident (extremity x) (ln x).
Theorem inc_pt1 : forall x : Twolines, Incident (pt x) (line1 x).
Theorem inc_pt2 : forall x : Twolines, Incident (pt x) (line2 x).