src/HOL/Transitive_Closure.thy
changeset 46127 af3b95160b59
parent 45976 9dc0d950baa9
child 46347 54870ad19af4
equal deleted inserted replaced
46126:bab00660539d 46127:af3b95160b59
  1045   "acyclic r \<longleftrightarrow> (!x. (x,x) ~: r^+)"
  1045   "acyclic r \<longleftrightarrow> (!x. (x,x) ~: r^+)"
  1046 
  1046 
  1047 abbreviation acyclicP :: "('a => 'a => bool) => bool" where
  1047 abbreviation acyclicP :: "('a => 'a => bool) => bool" where
  1048   "acyclicP r \<equiv> acyclic {(x, y). r x y}"
  1048   "acyclicP r \<equiv> acyclic {(x, y). r x y}"
  1049 
  1049 
  1050 lemma acyclic_irrefl:
  1050 lemma acyclic_irrefl [code]:
  1051   "acyclic r \<longleftrightarrow> irrefl (r^+)"
  1051   "acyclic r \<longleftrightarrow> irrefl (r^+)"
  1052   by (simp add: acyclic_def irrefl_def)
  1052   by (simp add: acyclic_def irrefl_def)
  1053 
  1053 
  1054 lemma acyclicI: "ALL x. (x, x) ~: r^+ ==> acyclic r"
  1054 lemma acyclicI: "ALL x. (x, x) ~: r^+ ==> acyclic r"
  1055   by (simp add: acyclic_def)
  1055   by (simp add: acyclic_def)