src/HOL/Algebra/poly/PolyRing.ML
changeset 10230 5eb935d6cc69
parent 7998 3d0c34795831
child 10448 da7d0e28f746
equal deleted inserted replaced
10229:10e2d29a77de 10230:5eb935d6cc69
    65 by (simp_tac (simpset() addsimps [smult_r_null, r_neg]) 1);
    65 by (simp_tac (simpset() addsimps [smult_r_null, r_neg]) 1);
    66 qed "smult_r_minus";
    66 qed "smult_r_minus";
    67 
    67 
    68 val smult_minus = [smult_l_minus, smult_r_minus];
    68 val smult_minus = [smult_l_minus, smult_r_minus];
    69 
    69 
    70 (* Integrity of smult *)
       
    71 (*
       
    72 Goal
       
    73   "!! a::'a::domain. a *s b = <0> ==> a = <0> | b = <0>";
       
    74 by (simp_tac (simpset() addsimps [disj_commute]) 1);
       
    75 
       
    76 by (rtac (disj_commute RS trans) 1);
       
    77 by (rtac contrapos2 1);
       
    78 by (assume_tac 1);
       
    79 by (rtac up_neqI 1);
       
    80 by (Full_simp_tac 1);
       
    81 by (etac conjE 1);
       
    82 by (rtac not_integral 1);
       
    83 by (assume_tac 1);
       
    84 by (etac contrapos 1);
       
    85 back();
       
    86 by (rtac up_eqI 1);
       
    87 by (Simp_tac 1);
       
    88 
       
    89 by (rtac integral 1);
       
    90 
       
    91 by (etac conjE 1);
       
    92 
       
    93 by (rtac disjCI 1);
       
    94 *)
       
    95 
       
    96 Addsimps [smult_one, smult_l_null, smult_r_null];
    70 Addsimps [smult_one, smult_l_null, smult_r_null];