Shortlex ordering of lists. #
Given a relation r on α, the shortlex order on List α is defined by L < M iff
L.length < M.lengthL.length = M.lengthandL < Munder the lexicographic ordering overron lists
Main results #
We show that if r is well-founded, so too is the shortlex order over r
See also #
Related files are:
Mathlib/Data/List/Lex.lean: Lexicographic order onList α.Mathlib/Data/DFinsupp/WellFounded.lean: Well-foundedness of lexicographic orders onDFinsuppandPi.
shortlex ordering #
Given a relation r on α, the shortlex order on List α, for which
[a0, ..., an] < [b0, ..., b_k] if n < k or n = k and [a0, ..., an] < [b0, ..., bk]
under the lexicographic order induced by r.
Equations
Instances For
theorem List.Shortlex.of_lex {α : Type u_1} {r : α → α → Prop} {s t : List α} (len_eq : s.length = t.length) (h_lex : Lex r s t) :
Shortlex r s t
If two lists s and t have the same length, s is smaller than t under the shortlex order
over a relation r when s is smaller than t under the lexicographic order over r
theorem List.Shortlex.cons {α : Type u_1} {r : α → α → Prop} [Std.Irrefl r] {a : α} {s t : List α} :
Alias of the reverse direction of List.shortlex_cons_iff.
theorem List.Shortlex.of_cons {α : Type u_1} {r : α → α → Prop} [Std.Irrefl r] {a : α} {s t : List α} :
Alias of the forward direction of List.shortlex_cons_iff.
theorem List.Shortlex.wf {α : Type u_1} {r : α → α → Prop} (h : WellFounded r) :
WellFounded (Shortlex r)