src/FOLP/ex/If.ML
changeset 3836 f1a1817659e6
parent 1459 d12da312eff4
child 5061 f947332d5465
equal deleted inserted replaced
3835:9a5a4e123859 3836:f1a1817659e6
     8 
     8 
     9 open If;
     9 open If;
    10 open Cla;    (*in case structure Int is open!*)
    10 open Cla;    (*in case structure Int is open!*)
    11 
    11 
    12 val prems = goalw If.thy [if_def]
    12 val prems = goalw If.thy [if_def]
    13     "[| !!x.x:P ==> f(x):Q; !!x.x:~P ==> g(x):R |] ==> ?p:if(P,Q,R)";
    13     "[| !!x. x:P ==> f(x):Q; !!x. x:~P ==> g(x):R |] ==> ?p:if(P,Q,R)";
    14 by (fast_tac (FOLP_cs addIs prems) 1);
    14 by (fast_tac (FOLP_cs addIs prems) 1);
    15 val ifI = result();
    15 val ifI = result();
    16 
    16 
    17 val major::prems = goalw If.thy [if_def]
    17 val major::prems = goalw If.thy [if_def]
    18    "[| p:if(P,Q,R);  !!x y.[| x:P; y:Q |] ==> f(x,y):S; \
    18    "[| p:if(P,Q,R);  !!x y.[| x:P; y:Q |] ==> f(x,y):S; \