Formal concept analysis #
This file defines concept lattices. A concept of a relation r : α → β → Prop
is a pair of sets
s : Set α
and t : Set β
such that s
is the set of all a : α
that are related to all elements
of t
, and t
is the set of all b : β
that are related to all elements of s
.
Ordering the concepts of a relation r
by inclusion on the first component gives rise to a
concept lattice. Every concept lattice is complete and in fact every complete lattice arises as
the concept lattice of its ≤
.
Implementation notes #
Concept lattices are usually defined from a context, that is the triple (α, β, r)
, but the type
of r
determines α
and β
already, so we do not define contexts as a separate object.
TODO #
Prove the fundamental theorem of concept lattices.
References #
Tags #
concept, formal concept analysis, intent, extend, attribute
Lower and upper polars #
Alias of upperPolar
.
The upper polar of s : Set α
along a relation r : α → β → Prop
is the set of all elements
which r
relates to all elements of s
.
Equations
Instances For
Alias of lowerPolar
.
The lower polar of t : Set β
along a relation r : α → β → Prop
is the set of all elements
which r
relates to all elements of t
.
Equations
Instances For
Alias of subset_upperPolar_iff_subset_lowerPolar
.
Alias of gc_upperPolar_lowerPolar
.
Alias of upperPolar_swap
.
Alias of lowerPolar_swap
.
Alias of upperPolar_empty
.
Alias of lowerPolar_empty
.
Alias of upperPolar_union
.
Alias of lowerPolar_union
.
Alias of upperPolar_iUnion
.
Alias of lowerPolar_iUnion
.
Alias of upperPolar_iUnion₂
.
Alias of lowerPolar_iUnion₂
.
Alias of subset_lowerPolar_upperPolar
.
Alias of subset_upperPolar_lowerPolar
.
Alias of upperPolar_lowerPolar_upperPolar
.
Alias of lowerPolar_upperPolar_lowerPolar
.
Alias of upperPolar_anti
.
Alias of lowerPolar_anti
.
Concepts #
The formal concepts of a relation. A concept of r : α → β → Prop
is a pair of sets s
, t
such that s
is the set of all elements that are r
-related to all of t
and t
is the set of
all elements that are r
-related to all of s
.
- extent : Set α
The extent of a concept.
- intent : Set β
The intent of a concept.
The intent consists of all elements related to all elements of the extent.
The extent consists of all elements related to all elements of the intent.
Instances For
Alias of Concept.extent
.
The extent of a concept.
Equations
Instances For
Alias of Concept.intent
.
The intent of a concept.
Equations
Instances For
Alias of Concept.upperPolar_extent
.
The intent consists of all elements related to all elements of the extent.
Alias of Concept.lowerPolar_intent
.
The extent consists of all elements related to all elements of the intent.
Alias of Concept.extent_injective
.
Alias of Concept.intent_injective
.
Alias of Concept.strictMono_extent
.
Alias of Concept.strictAnti_intent
.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Alias of Concept.extent_top
.
Alias of Concept.intent_top
.
Alias of Concept.extent_bot
.
Alias of Concept.intent_bot
.
Alias of Concept.extent_top
.
Alias of Concept.intent_inf
.
Alias of Concept.extent_sSup
.
Alias of Concept.intent_sInf
.
Swap the sets of a concept to make it a concept of the dual context.
Equations
Instances For
The dual of a concept lattice is isomorphic to the concept lattice of the dual context.
Equations
- Concept.swapEquiv = { toFun := Concept.swap ∘ ⇑OrderDual.ofDual, invFun := ⇑OrderDual.toDual ∘ Concept.swap, left_inv := ⋯, right_inv := ⋯, map_rel_iff' := ⋯ }