@@ -918,6 +918,46 @@ Non-backwards compatible changes
918918
919919* The old names (and the names of all proofs about these functions) have been deprecated appropriately.
920920
921+ ### Changes to definition of ` IsStrictTotalOrder `
922+
923+ * The previous definition of the record ` IsStrictTotalOrder ` did not build upon ` IsStrictPartialOrder `
924+ as would be expected. Instead it omitted several fields like irreflexivity as they were derivable from the
925+ proof of trichotomy. However, this led to problems further up the hierarchy where bundles such as ` StrictTotalOrder `
926+ which contained multiple distinct proofs of ` IsStrictPartialOrder ` .
927+
928+ * To remedy this the definition of ` IsStrictTotalOrder ` has been changed to so that it builds upon
929+ ` IsStrictPartialOrder ` as would be expected.
930+
931+ * To aid migration, the old record definition has been moved to ` Relation.Binary.Structures.Biased `
932+ which contains the ` isStrictTotalOrderᶜ ` smart constructor (which is re-exported by ` Relation.Binary ` ) .
933+ Therefore the old code:
934+ ``` agda
935+ <-isStrictTotalOrder : IsStrictTotalOrder _≡_ _<_
936+ <-isStrictTotalOrder = record
937+ { isEquivalence = isEquivalence
938+ ; trans = <-trans
939+ ; compare = <-cmp
940+ }
941+ ```
942+ can be migrated either by updating to the new record fields if you have a proof of ` IsStrictPartialOrder `
943+ available:
944+ ``` agda
945+ <-isStrictTotalOrder : IsStrictTotalOrder _≡_ _<_
946+ <-isStrictTotalOrder = record
947+ { isStrictPartialOrder = <-isStrictPartialOrder
948+ ; compare = <-cmp
949+ }
950+ ```
951+ or simply applying the smart constructor to the record definition as follows:
952+ ``` agda
953+ <-isStrictTotalOrder : IsStrictTotalOrder _≡_ _<_
954+ <-isStrictTotalOrder = isStrictTotalOrderᶜ record
955+ { isEquivalence = isEquivalence
956+ ; trans = <-trans
957+ ; compare = <-cmp
958+ }
959+ ```
960+
921961### Changes to triple reasoning interface
922962
923963* The module ` Relation.Binary.Reasoning.Base.Triple ` now takes an extra proof that the strict
0 commit comments