src/ZF/Bool.ML
changeset 129 dc50a4b96d7b
parent 119 0e58da397b1d
child 760 f0200e91b272
equal deleted inserted replaced
128:b0ec0c1bddb7 129:dc50a4b96d7b
    27 (** 1=0 ==> R **)
    27 (** 1=0 ==> R **)
    28 val one_neq_0 = one_not_0 RS notE;
    28 val one_neq_0 = one_not_0 RS notE;
    29 
    29 
    30 val major::prems = goalw Bool.thy bool_defs
    30 val major::prems = goalw Bool.thy bool_defs
    31     "[| c: bool;  c=1 ==> P;  c=0 ==> P |] ==> P";
    31     "[| c: bool;  c=1 ==> P;  c=0 ==> P |] ==> P";
    32 br (major RS consE) 1;
    32 by (rtac (major RS consE) 1);
    33 by (REPEAT (eresolve_tac (singletonE::prems) 1));
    33 by (REPEAT (eresolve_tac (singletonE::prems) 1));
    34 val boolE = result();
    34 val boolE = result();
    35 
    35 
    36 (** cond **)
    36 (** cond **)
    37 
    37 
   117 goal Bool.thy "!!a. a: bool ==> a and a = a";
   117 goal Bool.thy "!!a. a: bool ==> a and a = a";
   118 by (bool0_tac 1);
   118 by (bool0_tac 1);
   119 val and_absorb = result();
   119 val and_absorb = result();
   120 
   120 
   121 goal Bool.thy "!!a b. [| a: bool; b:bool |] ==> a and b = b and a";
   121 goal Bool.thy "!!a b. [| a: bool; b:bool |] ==> a and b = b and a";
   122 be boolE 1;
   122 by (etac boolE 1);
   123 by (bool0_tac 1);
   123 by (bool0_tac 1);
   124 by (bool0_tac 1);
   124 by (bool0_tac 1);
   125 val and_commute = result();
   125 val and_commute = result();
   126 
   126 
   127 goal Bool.thy
   127 goal Bool.thy
   140 goal Bool.thy "!!a. a: bool ==> a or a = a";
   140 goal Bool.thy "!!a. a: bool ==> a or a = a";
   141 by (bool0_tac 1);
   141 by (bool0_tac 1);
   142 val or_absorb = result();
   142 val or_absorb = result();
   143 
   143 
   144 goal Bool.thy "!!a b. [| a: bool; b:bool |] ==> a or b = b or a";
   144 goal Bool.thy "!!a b. [| a: bool; b:bool |] ==> a or b = b or a";
   145 be boolE 1;
   145 by (etac boolE 1);
   146 by (bool0_tac 1);
   146 by (bool0_tac 1);
   147 by (bool0_tac 1);
   147 by (bool0_tac 1);
   148 val or_commute = result();
   148 val or_commute = result();
   149 
   149 
   150 goal Bool.thy "!!a. a: bool ==> (a or b) or c  =  a or (b or c)";
   150 goal Bool.thy "!!a. a: bool ==> (a or b) or c  =  a or (b or c)";