Minimum and maximum w.r.t. a filter and on a set #
Main Definitions #
This file defines six predicates of the form isAB
, where A
is Min
, Max
, or Extr
,
and B
is Filter
or On
.
isMinFilter f l a
means thatf a ≤ f x
in somel
-neighborhood ofa
;isMaxFilter f l a
means thatf x ≤ f a
in somel
-neighborhood ofa
;isExtrFilter f l a
meansisMinFilter f l a
orisMaxFilter f l a
.
Similar predicates with on
suffix are particular cases for l = 𝓟 s
.
Main statements #
Change of the filter (set) argument #
is*Filter.filter_mono
: replace the filter with a smaller one;is*Filter.filter_inf
: replace a filterl
withl ⊓ l'
;is*On.on_subset
: restrict to a smaller set;is*Pn.inter
: replace a sets
withs ∩ t
.
Composition #
is**.comp_mono
: ifx
is an extremum forf
andg
is a monotone function, thenx
is an extremum forg ∘ f
;is**.comp_antitone
: similarly for the case of antitoneg
;is**.bicomp_mono
: ifx
is an extremum of the same type forf
andg
and a binary operationop
is monotone in both arguments, thenx
is an extremum of the same type forfun x => op (f x) (g x)
.is*Filter.comp_tendsto
: ifg x
is an extremum forf
w.r.t.l'
andTendsto g l l'
, thenx
is an extremum forf ∘ g
w.r.t.l
.is*On.on_preimage
: ifg x
is an extremum forf
ons
, thenx
is an extremum forf ∘ g
ong ⁻¹' s
.
Algebraic operations #
is**.add
: ifx
is an extremum of the same type for two functions, then it is an extremum of the same type for their sum;is**.neg
: ifx
is an extremum forf
, then it is an extremum of the opposite type for-f
;is**.sub
: ifx
is a minimum forf
and a maximum forg
, then it is a minimum forf - g
and a maximum forg - f
;is**.max
,is**.min
,is**.sup
,is**.inf
: similarly foris**.add
for pointwisemax
,min
,sup
,inf
, respectively.
Miscellaneous definitions #
is**_const
: any point is both a minimum and maximum for a constant function;isMin/Max*.isExt
: any minimum/maximum point is an extremum;is**.dual
,is**.undual
: conversion between codomainsα
anddual α
;
Missing features (TODO) #
- Multiplication and division;
is**.bicompl
: ifx
is a minimum forf
,y
is a minimum forg
, andop
is a monotone binary operation, then(x, y)
is a minimum foruncurry (bicompl op f g)
. From this point of view,is**.bicomp
is a composition- It would be nice to have a tactic that specializes
comp_(anti)mono
orbicomp_mono
based on a proof of monotonicity of a given (binary) function. The tactic should maintain ameta
list of known (anti)monotone (binary) functions with their names, as well as a list of special types of filters, and define the missing lemmas once one of these two lists grows.
Definitions #
IsMinFilter f l a
means that f a ≤ f x
for all x
in some l
-neighborhood of a
Equations
- IsMinFilter f l a = ∀ᶠ (x : α) in l, f a ≤ f x
Instances For
is_maxFilter f l a
means that f x ≤ f a
for all x
in some l
-neighborhood of a
Equations
- IsMaxFilter f l a = ∀ᶠ (x : α) in l, f x ≤ f a
Instances For
IsExtrFilter f l a
means IsMinFilter f l a
or IsMaxFilter f l a
Equations
- IsExtrFilter f l a = (IsMinFilter f l a ∨ IsMaxFilter f l a)
Instances For
Conversion to IsExtr*
#
Constant function #
Order dual #
Alias of the reverse direction of isMinFilter_dual_iff
.
Alias of the forward direction of isMinFilter_dual_iff
.
Alias of the reverse direction of isMaxFilter_dual_iff
.
Alias of the forward direction of isMaxFilter_dual_iff
.
Alias of the forward direction of isExtrFilter_dual_iff
.
Alias of the reverse direction of isExtrFilter_dual_iff
.
Alias of the reverse direction of isMinOn_dual_iff
.
Alias of the forward direction of isMinOn_dual_iff
.
Alias of the forward direction of isMaxOn_dual_iff
.
Alias of the reverse direction of isMaxOn_dual_iff
.
Alias of the forward direction of isExtrOn_dual_iff
.
Alias of the reverse direction of isExtrOn_dual_iff
.