src/HOL/TLA/Memory/MemoryParameters.ML
author wenzelm
Tue, 24 Aug 1999 11:50:58 +0200
changeset 7333 6cb15c6f1d9f
parent 6255 db63752140c7
child 9517 f58863b1406a
permissions -rw-r--r--
isar: no_pos flag;

(* 
    File:        MemoryParameters.ML
    Author:      Stephan Merz
    Copyright:   1997 University of Munich

    RPC-Memory example: memory parameters (ML file)
*)

(*
val MP_simps = [BadArgNoMemVal,MemFailNoMemVal,InitValMemVal,NotAResultNotVal,
                  NotAResultNotOK, NotAResultNotBA, NotAResultNotMF]
               @ (map (fn x => x RS not_sym) 
                      [NotAResultNotOK, NotAResultNotBA, NotAResultNotMF]);
*)

Addsimps ([BadArgNoMemVal,MemFailNoMemVal,InitValMemVal,NotAResultNotVal,
                  NotAResultNotOK, NotAResultNotBA, NotAResultNotMF]
               @ (map (fn x => x RS not_sym) 
                      [NotAResultNotOK, NotAResultNotBA, NotAResultNotMF]));

(* Auxiliary rules *)

qed_goal "MemValNotAResultE" MemoryParameters.thy
   "[| x : MemVal; (x ~= NotAResult ==> P) |] ==> P"
   (fn prems => [resolve_tac prems 1,
                 cut_facts_tac (NotAResultNotVal::prems) 1,
                 Force_tac 1
                ]);