src/Sequents/Modal0.ML
changeset 2073 fb0655539d05
child 17481 75166ebb619b
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/Sequents/Modal0.ML	Wed Oct 09 13:32:33 1996 +0200
     1.3 @@ -0,0 +1,30 @@
     1.4 +(*  Title:      Modal/modal0
     1.5 +    ID:         $Id$
     1.6 +    Author:     Martin Coen
     1.7 +    Copyright   1991  University of Cambridge
     1.8 +*)
     1.9 +
    1.10 +structure Modal0_rls = 
    1.11 +struct
    1.12 +
    1.13 +val rewrite_rls = [Modal0.strimp_def,Modal0.streqv_def];
    1.14 +
    1.15 +local
    1.16 +  val iffR = prove_goal thy 
    1.17 +      "[| $H,P |- $E,Q,$F;  $H,Q |- $E,P,$F |] ==> $H |- $E, P <-> Q, $F"
    1.18 +   (fn prems=>
    1.19 +    [ (rewtac iff_def),
    1.20 +      (REPEAT (resolve_tac (prems@[conjR,impR]) 1)) ]);
    1.21 +
    1.22 +  val iffL = prove_goal thy 
    1.23 +     "[| $H,$G |- $E,P,Q;  $H,Q,P,$G |- $E |] ==> $H, P <-> Q, $G |- $E"
    1.24 +   (fn prems=>
    1.25 +    [ rewtac iff_def,
    1.26 +      (REPEAT (resolve_tac (prems@[conjL,impL,basic]) 1)) ])
    1.27 +in
    1.28 +val safe_rls   = [basic,conjL,conjR,disjL,disjR,impL,impR,notL,notR,iffL,iffR];
    1.29 +val unsafe_rls = [allR,exL];
    1.30 +val bound_rls  = [allL,exR];
    1.31 +end
    1.32 +
    1.33 +end;