LexicographicOrder (E, C): trait % "Dictionary" order on C assumes Container, StrictTotalOrder (<, E) includes DerivedOrders (C) asserts forall c1, c2: C c1 < c2 == c2 \neq empty /\ (c1 = empty \/ (if head(c1) = head(c2) then tail(c1) < tail(c2) else head(c1) < head(c2))) implies TotalOrder (C) converts <=:C,C->Bool, >=:C,C->Bool, <:C,C->Bool, >:C,C->Bool[Table of Contents] [Index]