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 #
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
Note that if r' is the ≤ relation, this theorem will often not be true!
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.
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' := ⋯ }