src/ZF/UNITY/WFair.thy
changeset 69587 53982d5ec0bb
parent 65449 c82e63b11b8b
child 76213 e44d86131648
equal deleted inserted replaced
69586:9171d1ce5a35 69587:53982d5ec0bb
    19   transient :: "i=>i"  where
    19   transient :: "i=>i"  where
    20   "transient(A) =={F \<in> program. (\<exists>act\<in>Acts(F). A<=domain(act) &
    20   "transient(A) =={F \<in> program. (\<exists>act\<in>Acts(F). A<=domain(act) &
    21                                act``A \<subseteq> state-A) & st_set(A)}"
    21                                act``A \<subseteq> state-A) & st_set(A)}"
    22 
    22 
    23 definition
    23 definition
    24   ensures :: "[i,i] => i"       (infixl "ensures" 60)  where
    24   ensures :: "[i,i] => i"       (infixl \<open>ensures\<close> 60)  where
    25   "A ensures B == ((A-B) co (A \<union> B)) \<inter> transient(A-B)"
    25   "A ensures B == ((A-B) co (A \<union> B)) \<inter> transient(A-B)"
    26 
    26 
    27 consts
    27 consts
    28 
    28 
    29   (*LEADS-TO constant for the inductive definition*)
    29   (*LEADS-TO constant for the inductive definition*)
    41   monos        Pow_mono
    41   monos        Pow_mono
    42   type_intros  Union_Pow_iff [THEN iffD2] UnionI PowI
    42   type_intros  Union_Pow_iff [THEN iffD2] UnionI PowI
    43 
    43 
    44 definition
    44 definition
    45   (* The Visible version of the LEADS-TO relation*)
    45   (* The Visible version of the LEADS-TO relation*)
    46   leadsTo :: "[i, i] => i"       (infixl "\<longmapsto>" 60)  where
    46   leadsTo :: "[i, i] => i"       (infixl \<open>\<longmapsto>\<close> 60)  where
    47   "A \<longmapsto> B == {F \<in> program. <A,B>:leads(state, F)}"
    47   "A \<longmapsto> B == {F \<in> program. <A,B>:leads(state, F)}"
    48 
    48 
    49 definition
    49 definition
    50   (* wlt(F, B) is the largest set that leads to B*)
    50   (* wlt(F, B) is the largest set that leads to B*)
    51   wlt :: "[i, i] => i"  where
    51   wlt :: "[i, i] => i"  where