Computational realization of filters (experimental) #
This file provides infrastructure to compute with filters.
Main declarations #
A CFilter α σ
is a realization of a filter (base) on α
,
represented by a type σ
together with operations for the top element and
the binary inf
operation.
- f : σ → α
- pt : σ
- inf : σ → σ → σ
- inf_le_left : ∀ (a b : σ), self.f (self.inf a b) ≤ self.f a
- inf_le_right : ∀ (a b : σ), self.f (self.inf a b) ≤ self.f b
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- CFilter.instCoeFunCFilterForAll = { coe := CFilter.f }
Map a CFilter
to an equivalent representation type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A CFilter
realizes the filter it generates.
Equations
- CFilter.toRealizer F = { σ := σ, F := F, eq := (_ : CFilter.toFilter F = CFilter.toFilter F) }
Instances For
Transfer a realizer along an equality of filter. This has better definitional equalities than
the Eq.rec
proof.
Equations
- Filter.Realizer.ofEq e F = { σ := F.σ, F := F.F, eq := (_ : CFilter.toFilter F.F = g) }
Instances For
A filter realizes itself.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Transfer a filter realizer to another realizer on a different base type.
Equations
- Filter.Realizer.ofEquiv F E = { σ := τ, F := CFilter.ofEquiv E F.F, eq := (_ : CFilter.toFilter (CFilter.ofEquiv E F.F) = f) }
Instances For
Unit
is a realizer for the principal filter
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Filter.Realizer.instInhabitedRealizerPrincipal s = { default := Filter.Realizer.principal s }
Unit
is a realizer for the top filter
Equations
- Filter.Realizer.top = Filter.Realizer.ofEq (_ : Filter.principal Set.univ = ⊤) (Filter.Realizer.principal Set.univ)
Instances For
Unit
is a realizer for the bottom filter
Equations
- Filter.Realizer.bot = Filter.Realizer.ofEq (_ : Filter.principal ∅ = ⊥) (Filter.Realizer.principal ∅)
Instances For
Construct a realizer for map m f
given a realizer for f
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a realizer for comap m f
given a realizer for f
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a realizer for the sup of two filters
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a realizer for the inf of two filters
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a realizer for the cofinite filter
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a realizer for filter bind
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a realizer for indexed supremum
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct a realizer for the product of filters
Equations
- Filter.Realizer.prod F G = Filter.Realizer.inf (Filter.Realizer.comap Prod.fst F) (Filter.Realizer.comap Prod.snd G)