diff -r bafd705ee38e -r f3015fd68d66 src/HOLCF/IOA/ex/TrivEx2.thy --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/HOLCF/IOA/ex/TrivEx2.thy Thu Apr 22 11:06:35 1999 +0200 @@ -0,0 +1,71 @@ +(* Title: HOLCF/IOA/TrivEx.thy + ID: $Id$ + Author: Olaf Mueller + Copyright 1995 TU Muenchen + +Trivial Abstraction Example with fairness +*) + +TrivEx2 = Abstraction + IOA + + +datatype action = INC + +consts + +C_asig :: "action signature" +C_trans :: (action, nat)transition set +C_ioa :: (action, nat)ioa +C_live_ioa :: (action, nat)live_ioa + +A_asig :: "action signature" +A_trans :: (action, bool)transition set +A_ioa :: (action, bool)ioa +A_live_ioa :: (action, bool)live_ioa + +h_abs :: "nat => bool" + +defs + +C_asig_def + "C_asig == ({},{INC},{})" + +C_trans_def "C_trans == + {tr. let s = fst(tr); + t = snd(snd(tr)) + in case fst(snd(tr)) + of + INC => t = Suc(s)}" + +C_ioa_def "C_ioa == + (C_asig, {0}, C_trans,{},{})" + +C_live_ioa_def + "C_live_ioa == (C_ioa, WF C_ioa {INC})" + +A_asig_def + "A_asig == ({},{INC},{})" + +A_trans_def "A_trans == + {tr. let s = fst(tr); + t = snd(snd(tr)) + in case fst(snd(tr)) + of + INC => t = True}" + +A_ioa_def "A_ioa == + (A_asig, {False}, A_trans,{},{})" + +A_live_ioa_def + "A_live_ioa == (A_ioa, WF A_ioa {INC})" + + + +h_abs_def + "h_abs n == n~=0" + +rules + +MC_result + "validLIOA (A_ioa,WF A_ioa {INC}) (<>[] <%(b,a,c). b>)" + +end \ No newline at end of file