src/HOL/Library/comm_ring.ML
changeset 18708 4b3dadb4fe33
parent 17516 45164074dad4
child 19233 77ca20b0ed77
equal deleted inserted replaced
18707:9d6154f76476 18708:4b3dadb4fe33
     7 signature COMM_RING =
     7 signature COMM_RING =
     8 sig
     8 sig
     9   val comm_ring_tac : int -> tactic
     9   val comm_ring_tac : int -> tactic
    10   val comm_ring_method: int -> Proof.method
    10   val comm_ring_method: int -> Proof.method
    11   val algebra_method: int -> Proof.method
    11   val algebra_method: int -> Proof.method
    12   val setup : (theory -> theory) list
    12   val setup : theory -> theory
    13 end
    13 end
    14 
    14 
    15 structure CommRing: COMM_RING =
    15 structure CommRing: COMM_RING =
    16 struct
    16 struct
    17 
    17 
   130 fun comm_ring_method i = Method.METHOD (fn facts =>
   130 fun comm_ring_method i = Method.METHOD (fn facts =>
   131   Method.insert_tac facts 1 THEN comm_ring_tac i);
   131   Method.insert_tac facts 1 THEN comm_ring_tac i);
   132 val algebra_method = comm_ring_method;
   132 val algebra_method = comm_ring_method;
   133 
   133 
   134 val setup =
   134 val setup =
   135   [Method.add_method ("comm_ring",
   135   Method.add_method ("comm_ring",
   136      Method.no_args (comm_ring_method 1),
   136      Method.no_args (comm_ring_method 1),
   137      "reflective decision procedure for equalities over commutative rings"),
   137      "reflective decision procedure for equalities over commutative rings") #>
   138    Method.add_method ("algebra",
   138   Method.add_method ("algebra",
   139      Method.no_args (algebra_method 1),
   139      Method.no_args (algebra_method 1),
   140      "Method for proving algebraic properties: for now only comm_ring")];
   140      "Method for proving algebraic properties: for now only comm_ring");
   141 
   141 
   142 end;
   142 end;