# Well-founded orders ```agda module order-theory.well-founded-orders where ``` <details><summary>Imports</summary> ```agda open import foundation.binary-relations open import foundation.cartesian-product-types open import foundation.dependent-pair-types open import foundation.universe-levels open import order-theory.well-founded-relations ``` </details> ## Idea A **well-founded order** is a [transitive](foundation.binary-relations.md) [well-founded relation](order-theory.well-founded-relations.md). ## Definitions ### The predicate of being a well-founded order ```agda module _ {l1 l2 : Level} {X : UU l1} (R : Relation l2 X) where is-well-founded-order-Relation : UU (l1 ⊔ l2) is-well-founded-order-Relation = is-transitive R × is-well-founded-Relation R ``` ### Well-founded orders ```agda Well-Founded-Order : {l1 : Level} (l2 : Level) → UU l1 → UU (l1 ⊔ lsuc l2) Well-Founded-Order l2 X = Σ (Relation l2 X) is-well-founded-order-Relation module _ {l1 l2 : Level} {X : UU l1} (R : Well-Founded-Order l2 X) where rel-Well-Founded-Order : Relation l2 X rel-Well-Founded-Order = pr1 R is-well-founded-order-Well-Founded-Order : is-well-founded-order-Relation rel-Well-Founded-Order is-well-founded-order-Well-Founded-Order = pr2 R is-transitive-Well-Founded-Order : is-transitive rel-Well-Founded-Order is-transitive-Well-Founded-Order = pr1 is-well-founded-order-Well-Founded-Order is-well-founded-relation-Well-Founded-Order : is-well-founded-Relation rel-Well-Founded-Order is-well-founded-relation-Well-Founded-Order = pr2 is-well-founded-order-Well-Founded-Order well-founded-relation-Well-Founded-Order : Well-Founded-Relation l2 X pr1 well-founded-relation-Well-Founded-Order = rel-Well-Founded-Order pr2 well-founded-relation-Well-Founded-Order = is-well-founded-relation-Well-Founded-Order is-asymmetric-Well-Founded-Order : is-asymmetric rel-Well-Founded-Order is-asymmetric-Well-Founded-Order = is-asymmetric-Well-Founded-Relation well-founded-relation-Well-Founded-Order is-irreflexive-Well-Founded-Order : is-irreflexive rel-Well-Founded-Order is-irreflexive-Well-Founded-Order = is-irreflexive-Well-Founded-Relation ( well-founded-relation-Well-Founded-Order) ```