src/HOL/Library/Quotient.thy
changeset 29608 564ea783ace8
parent 27487 c8a6ce181805
child 30738 0842e906300c
equal deleted inserted replaced
29586:4f9803829625 29608:564ea783ace8
    19 text {*
    19 text {*
    20  \medskip Type class @{text equiv} models equivalence relations @{text
    20  \medskip Type class @{text equiv} models equivalence relations @{text
    21  "\<sim> :: 'a => 'a => bool"}.
    21  "\<sim> :: 'a => 'a => bool"}.
    22 *}
    22 *}
    23 
    23 
    24 class eqv = type +
    24 class eqv =
    25   fixes eqv :: "'a \<Rightarrow> 'a \<Rightarrow> bool"    (infixl "\<sim>" 50)
    25   fixes eqv :: "'a \<Rightarrow> 'a \<Rightarrow> bool"    (infixl "\<sim>" 50)
    26 
    26 
    27 class equiv = eqv +
    27 class equiv = eqv +
    28   assumes equiv_refl [intro]: "x \<sim> x"
    28   assumes equiv_refl [intro]: "x \<sim> x"
    29   assumes equiv_trans [trans]: "x \<sim> y \<Longrightarrow> y \<sim> z \<Longrightarrow> x \<sim> z"
    29   assumes equiv_trans [trans]: "x \<sim> y \<Longrightarrow> y \<sim> z \<Longrightarrow> x \<sim> z"