Require Export Relation_Definitions.
Section WellOrder.
(* this definition is for the strict order, e.g. the element relation for ordinals of ZFC *)
Variable T:Type.
Definition total_strict_order (R:relation T) : Prop :=
forall x y:T, R x y \/ x = y \/ R y x.
Record well_order (R:relation T) : Prop := {
wo_well_founded: well_founded R;
wo_total_strict_order: total_strict_order R
}.

(* Specifications: *)
Lemma wo_irrefl: forall R:relation T, well_order R ->
(forall x:T, ~ R x x).
Lemma wo_antisym: forall R:relation T, well_order R ->
(forall x y:T, R x y -> ~ R y x).
Lemma wo_transitive: forall R:relation T, well_order R -> transitive R.
End WellOrder.