# HG changeset patch # User paulson # Date 900665428 -7200 # Node ID 21177b8a4d7f4a940a4daf2f719fa159c535fd33 # Parent 40fd46f3d3a16978f691d64633dd61cf120fae0e added comments diff -r 40fd46f3d3a1 -r 21177b8a4d7f src/HOL/UNITY/WFair.thy --- a/src/HOL/UNITY/WFair.thy Fri Jul 17 10:50:01 1998 +0200 +++ b/src/HOL/UNITY/WFair.thy Fri Jul 17 10:50:28 1998 +0200 @@ -12,6 +12,8 @@ constdefs + (*This definition specifies weak fairness. The rest of the theory + is generic to all forms of fairness.*) transient :: "[('a * 'a)set set, 'a set] => bool" "transient Acts A == EX act:Acts. A <= Domain act & act^^A <= Compl A" @@ -32,11 +34,16 @@ Trans "[| leadsTo Acts A B; leadsTo Acts B C |] ==> leadsTo Acts A C" + (*Encoding using powerset of the desired axiom + (!!A. A : S ==> leadsTo Acts A B) ==> leadsTo Acts (Union S) B + *) Union "(UN A:S. {(A,B)}) : Pow (leadsto Acts) ==> leadsTo Acts (Union S) B" monos "[Pow_mono]" + +(*wlt Acts B is the largest set that leads to B*) constdefs wlt :: "[('a * 'a)set set, 'a set] => 'a set" "wlt Acts B == Union {A. leadsTo Acts A B}" diff -r 40fd46f3d3a1 -r 21177b8a4d7f src/Pure/Thy/thm_database.ML --- a/src/Pure/Thy/thm_database.ML Fri Jul 17 10:50:01 1998 +0200 +++ b/src/Pure/Thy/thm_database.ML Fri Jul 17 10:50:28 1998 +0200 @@ -120,6 +120,9 @@ val As = Logic.strip_assums_hyp gi in map (fn A => subst_bounds(frees,A)) As end; +(*returns all those named_thms whose subterm extracted by extract can be + instantiated to obj; the list is sorted according to the number of premises + and the size of the required substitution.*) fun select_match(obj, signobj, named_thms, extract) = let fun matches(prop, tsig) = case extract prop of