latte-sets.equiv
Equivalence relations
all-disjoint
(all-disjoint [P (powerset T)])
(forall
[s1 s2 (set T)]
(==>
(set-elem s1 P)
(set-elem s2 P)
(not (set-equal s1 s2))
(set-equal (inter s1 s2) (emptyset T))))
Definition: The sets of partition P
are all disjoints
all-nonempty
(all-nonempty [P (powerset T)])
(forall
[s (set T)]
(==> (set-elem s P) (not (set-equal s (emptyset T)))))
Definition:
eqclass
(eqclass [x T] [R (rel T T)] [eqR (equivalence R)])
(lambda [y T] (R x y))
Definition: The equivalence class of element x
wrt. relation R
.
eqclass-eq
(eqclass-eq [x T] [y T] [R (rel T T)] [eqR (equivalence R)])
(==> (R x y) (seteq (eqclass x R eqR) (eqclass y R eqR)))
Theorem:
eqclass-equal
(eqclass-equal [x T] [y T] [R (rel T T)] [eqR (equivalence R)])
(==> (R x y) (set-equal (eqclass x R eqR) (eqclass y R eqR)))
Theorem:
eqclass-mem
(eqclass-mem [x T] [R (rel T T)] [eqR (equivalence R)])
(elem x (eqclass x R eqR))
Theorem:
eqclass-subset
(eqclass-subset [x T] [y T] [R (rel T T)] [eqR (equivalence R)])
(==> (R x y) (subset (eqclass x R eqR) (eqclass y R eqR)))
Theorem:
equiv-refl
(equiv-refl [R (rel T T)] [eqR (equivalence R)])
(reflexive R)
Theorem:
equiv-sym
(equiv-sym [R (rel T T)] [eqR (equivalence R)])
(symmetric R)
Theorem:
equiv-trans
(equiv-trans [R (rel T T)] [eqR (equivalence R)])
(transitive R)
Theorem:
equivalence
(equivalence [R (rel T T)])
(and* (reflexive R) (symmetric R) (transitive R))
Definition: An equivalence relation.
ident-equiv
(ident-equiv [T :type])
(equivalence (rel/identity T))
Theorem: The indentity on T
is an equivalence relation.
partition
(partition [S (set T)] [P (powerset T)])
(and* (all-nonempty P) (partition-member S P) (all-disjoint P))
Definition: P
is a partition of set s
partition-member
(partition-member [s (set T)] [P (powerset T)])
(forall-in
[x s]
(set-ex (lambda [sp (set T)] (and (set-elem sp P) (elem x sp)))))
Definition: The elements of set s
are members of partition P