src/Modal/ROOT.ML
changeset 1461 6bcb44e4d6e5
parent 1361 90d615b599d9
equal deleted inserted replaced
1460:5a6f2aabd538 1461:6bcb44e4d6e5
     1 (*  Title: 	91/Modal/ROOT
     1 (*  Title:      91/Modal/ROOT
     2     ID:         $Id$
     2     ID:         $Id$
     3     Author: 	Martin Coen
     3     Author:     Martin Coen
     4     Copyright   1991  University of Cambridge
     4     Copyright   1991  University of Cambridge
     5 *)
     5 *)
     6 
     6 
     7 val banner = "Modal Logic (over LK)";
     7 val banner = "Modal Logic (over LK)";
     8 writeln banner;
     8 writeln banner;
    16 
    16 
    17 local
    17 local
    18   val iffR = prove_goal thy 
    18   val iffR = prove_goal thy 
    19       "[| $H,P |- $E,Q,$F;  $H,Q |- $E,P,$F |] ==> $H |- $E, P <-> Q, $F"
    19       "[| $H,P |- $E,Q,$F;  $H,Q |- $E,P,$F |] ==> $H |- $E, P <-> Q, $F"
    20    (fn prems=>
    20    (fn prems=>
    21     [ (rewrite_goals_tac [iff_def]),
    21     [ (rewtac iff_def),
    22       (REPEAT (resolve_tac (prems@[conjR,impR]) 1)) ]);
    22       (REPEAT (resolve_tac (prems@[conjR,impR]) 1)) ]);
    23 
    23 
    24   val iffL = prove_goal thy 
    24   val iffL = prove_goal thy 
    25      "[| $H,$G |- $E,P,Q;  $H,Q,P,$G |- $E |] ==> $H, P <-> Q, $G |- $E"
    25      "[| $H,$G |- $E,P,Q;  $H,Q,P,$G |- $E |] ==> $H, P <-> Q, $G |- $E"
    26    (fn prems=>
    26    (fn prems=>
    27     [ rewrite_goals_tac [iff_def],
    27     [ rewtac iff_def,
    28       (REPEAT (resolve_tac (prems@[conjL,impL,basic]) 1)) ])
    28       (REPEAT (resolve_tac (prems@[conjL,impL,basic]) 1)) ])
    29 in
    29 in
    30 val safe_rls   = [basic,conjL,conjR,disjL,disjR,impL,impR,notL,notR,iffL,iffR];
    30 val safe_rls   = [basic,conjL,conjR,disjL,disjR,impL,impR,notL,notR,iffL,iffR];
    31 val unsafe_rls = [allR,exL];
    31 val unsafe_rls = [allR,exL];
    32 val bound_rls  = [allL,exR];
    32 val bound_rls  = [allL,exR];
    76     val aside_rls   = [lstar0,lstar1,lstar2,rstar0,rstar1,rstar2,S43pi0,S43pi1,S43pi2]
    76     val aside_rls   = [lstar0,lstar1,lstar2,rstar0,rstar1,rstar2,S43pi0,S43pi1,S43pi2]
    77    end;
    77    end;
    78 end;
    78 end;
    79 structure S43_Prover = Modal_ProverFun(MP_Rule);  
    79 structure S43_Prover = Modal_ProverFun(MP_Rule);  
    80 
    80 
    81 val Modal_build_completed = ();	(*indicate successful build*)
    81 val Modal_build_completed = (); (*indicate successful build*)
    82 
    82 
    83 (*printing functions are inherited from LK*)
    83 (*printing functions are inherited from LK*)