src/HOL/Relation.thy
changeset 3499 ce1664057431
parent 3439 54785105178c
child 4528 ff22e16c5f2f
equal deleted inserted replaced
3498:807549666b9c 3499:ce1664057431
     7 Relation = Prod +
     7 Relation = Prod +
     8 consts
     8 consts
     9     id          :: "('a * 'a)set"               (*the identity relation*)
     9     id          :: "('a * 'a)set"               (*the identity relation*)
    10     O           :: "[('b * 'c)set, ('a * 'b)set] => ('a * 'c)set" (infixr 60)
    10     O           :: "[('b * 'c)set, ('a * 'b)set] => ('a * 'c)set" (infixr 60)
    11     trans       :: "('a * 'a)set => bool"       (*transitivity predicate*)
    11     trans       :: "('a * 'a)set => bool"       (*transitivity predicate*)
    12     inverse    :: "('a*'b) set => ('b*'a) set"     ("(_^-1)" [1000] 1000)
    12     inverse    :: "('a*'b) set => ('b*'a) set"     ("(_^-1)" [1000] 999)
    13     "^^"        :: "[('a*'b) set,'a set] => 'b set" (infixl 90)
    13     "^^"        :: "[('a*'b) set,'a set] => 'b set" (infixl 90)
    14     Domain      :: "('a*'b) set => 'a set"
    14     Domain      :: "('a*'b) set => 'a set"
    15     Range       :: "('a*'b) set => 'b set"
    15     Range       :: "('a*'b) set => 'b set"
    16 defs
    16 defs
    17     id_def        "id == {p. ? x. p = (x,x)}"
    17     id_def        "id == {p. ? x. p = (x,x)}"