Intervals as finsets #
This file provides basic results about all the Finset.Ixx
, which are defined in
Order.LocallyFinite
.
In addition, it shows that in a locally finite order ≤
and <
are the transitive closures of,
respectively, ⩿
and ⋖
, which then leads to a characterization of monotone and strictly
functions whose domain is a locally finite order. In particular, this file proves:
le_iff_transGen_wcovBy
:≤
is the transitive closure of⩿
lt_iff_transGen_covBy
:≤
is the transitive closure of⩿
monotone_iff_forall_wcovBy
: Characterization of monotone functionsstrictMono_iff_forall_covBy
: Characterization of strictly monotone functions
TODO #
This file was originally only about Finset.Ico a b
where a b : ℕ
. No care has yet been taken to
generalize these lemmas properly and many lemmas about Icc
, Ioc
, Ioo
are missing. In general,
what's to do is taking the lemmas in Data.X.Intervals
and abstract away the concrete structure.
Complete the API. See https://github.com/leanprover-community/mathlib/pull/14448#discussion_r906109235 for some ideas.
Alias of the reverse direction of Finset.Icc_eq_empty_iff
.
Alias of the reverse direction of Finset.Ico_eq_empty_iff
.
Alias of the reverse direction of Finset.Ioc_eq_empty_iff
.
A set with upper and lower bounds in a locally finite order is a fintype
Equations
- Set.fintypeOfMemBounds ha hb = Set.fintypeSubset (Set.Icc a b) (_ : ∀ x ∈ s, a ≤ x ∧ x ≤ b)
Instances For
Finset.cons
version of Finset.Ico_insert_right
.
Finset.cons
version of Finset.Ioc_insert_left
.
Finset.cons
version of Finset.Ioo_insert_right
.
Finset.cons
version of Finset.Ioo_insert_left
.
Finset.cons
version of Finset.Ioi_insert
.
Finset.cons
version of Finset.Iio_insert
.
A sort of triangle inequality.
⩿
, ⋖
and monotonicity #
In a locally finite preorder, ≤
is the transitive closure of ⩿
.
In a locally finite partial order, ≤
is the reflexive transitive closure of ⋖
.
In a locally finite preorder, <
is the transitive closure of ⋖
.
A function from a locally finite preorder is monotone if and only if it is monotone when
restricted to pairs satisfying a ⩿ b
.
A function from a locally finite partial order is monotone if and only if it is monotone when
restricted to pairs satisfying a ⋖ b
.
A function from a locally finite preorder is strictly monotone if and only if it is strictly
monotone when restricted to pairs satisfying a ⋖ b
.
A function from a locally finite preorder is antitone if and only if it is antitone when
restricted to pairs satisfying a ⩿ b
.
A function from a locally finite partial order is antitone if and only if it is antitone when
restricted to pairs satisfying a ⋖ b
.
A function from a locally finite preorder is strictly antitone if and only if it is strictly
antitone when restricted to pairs satisfying a ⋖ b
.