author | paulson |
Mon, 27 Jan 1997 15:06:21 +0100 | |
changeset 2559 | 06b6a499f8ae |
parent 1916 | 43521f79f016 |
child 3499 | ce1664057431 |
permissions | -rw-r--r-- |
1475 | 1 |
(* Title: HOL/Trancl.thy |
923 | 2 |
ID: $Id$ |
1475 | 3 |
Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
923 | 4 |
Copyright 1992 University of Cambridge |
5 |
||
1128
64b30e3cc6d4
Trancl is now based on Relation which used to be in Integ.
nipkow
parents:
972
diff
changeset
|
6 |
Relfexive and Transitive closure of a relation |
923 | 7 |
|
1642 | 8 |
rtrancl is reflexive/transitive closure; |
9 |
trancl is transitive closure |
|
10 |
reflcl is reflexive closure |
|
1916
43521f79f016
Changed precedences to remove ambiguities in r^+ notation
paulson
parents:
1642
diff
changeset
|
11 |
|
43521f79f016
Changed precedences to remove ambiguities in r^+ notation
paulson
parents:
1642
diff
changeset
|
12 |
These postfix operators have MAXIMUM PRIORITY, forcing their operands to be |
43521f79f016
Changed precedences to remove ambiguities in r^+ notation
paulson
parents:
1642
diff
changeset
|
13 |
atomic. |
923 | 14 |
*) |
15 |
||
1128
64b30e3cc6d4
Trancl is now based on Relation which used to be in Integ.
nipkow
parents:
972
diff
changeset
|
16 |
Trancl = Lfp + Relation + |
1558 | 17 |
|
18 |
constdefs |
|
1916
43521f79f016
Changed precedences to remove ambiguities in r^+ notation
paulson
parents:
1642
diff
changeset
|
19 |
rtrancl :: "('a * 'a)set => ('a * 'a)set" ("(_^*)" [1000] 1000) |
1558 | 20 |
"r^* == lfp(%s. id Un (r O s))" |
21 |
||
1916
43521f79f016
Changed precedences to remove ambiguities in r^+ notation
paulson
parents:
1642
diff
changeset
|
22 |
trancl :: "('a * 'a)set => ('a * 'a)set" ("(_^+)" [1000] 1000) |
1558 | 23 |
"r^+ == r O rtrancl(r)" |
24 |
||
1301 | 25 |
syntax |
1916
43521f79f016
Changed precedences to remove ambiguities in r^+ notation
paulson
parents:
1642
diff
changeset
|
26 |
reflcl :: "('a*'a)set => ('a*'a)set" ("(_^=)" [1000] 1000) |
1558 | 27 |
|
1301 | 28 |
translations |
1558 | 29 |
"r^=" == "r Un id" |
30 |
||
923 | 31 |
end |