src/HOL/TLA/Memory/MemoryParameters.ML
author wenzelm
Sat, 07 Jan 2006 12:26:33 +0100
changeset 18608 9cdcc2a5c8b3
parent 17309 c43ed29bd197
permissions -rw-r--r--
support nested cases; added apply_case; replaced make/simple by make_common/nested/simple;

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

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

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

val prems = goal (the_context ()) "[| x : MemVal; (x ~= NotAResult ==> P) |] ==> P";
by (resolve_tac prems 1);
by (cut_facts_tac (NotAResultNotVal::prems) 1);
by (Force_tac 1);
qed "MemValNotAResultE";