Lattices can be introduced in algebraic way as commutative idempotent (
We start with a relation
A partially ordered
definition
A partially ordered
definition
A partially ordered
definition
Join is a binary operation whose value on a pair
definition
Meet is a binary operation whose value on a pair
definition
Linear order is a lattice.
lemma lin_is_latt:
assumes
In a join-semilattice join is indeed a binary operation.
lemma join_is_binop:
assumes
The value of
lemma join_val:
assumes
defines
In a meet-semilattice meet is indeed a binary operation.
lemma meet_is_binop:
assumes
The value of
lemma meet_val:
assumes
defines
In a (nonempty) meet semi-lattice the relation down-directs the set.
lemma meet_down_directs:
assumes
In a (nonempty) join semi-lattice the relation up-directs the set.
lemma join_up_directs:
assumes
The next locale defines a a notation for join-semilattice. We will use the
locale join_semilatt
assumes joinLatt:
defines
defines
Join of the elements of the lattice is in the lattice.
lemma (in join_semilatt) join_props:
assumes
Join is associative.
lemma (in join_semilatt) join_assoc:
assumes
Join is idempotent.
lemma (in join_semilatt) join_idempotent:
assumes
The meet_semilatt locale is the dual of the join-semilattice locale defined above.
We will use the
locale meet_semilatt
assumes meetLatt:
defines
defines
Meet of the elements of the lattice is in the lattice.
lemma (in meet_semilatt) meet_props:
assumes
Meet is associative.
lemma (in meet_semilatt) meet_assoc:
assumes
Meet is idempotent.
lemma (in meet_semilatt) meet_idempotent:
assumes