src/Pure/thm.ML
changeset 9882 b96a26593532
parent 9721 7e51c9f3d5a0
child 10346 4dce06387aea
equal deleted inserted replaced
9881:d9ea690001ce 9882:b96a26593532
  2145                      shyps = shyps',
  2145                      shyps = shyps',
  2146                      hyps = union_term(hyps,hypst),
  2146                      hyps = union_term(hyps,hypst),
  2147                      prop = prop',
  2147                      prop = prop',
  2148                      maxidx = maxidx'};
  2148                      maxidx = maxidx'};
  2149       val unit = trace_thm false "Applying congruence rule:" thm';
  2149       val unit = trace_thm false "Applying congruence rule:" thm';
  2150       fun err() = error("Failed congruence proof!")
  2150       fun err(msg,thm) = (prthm false msg thm; error("Failed congruence proof!"))
  2151 
  2151 
  2152   in case prover thm' of
  2152   in case prover thm' of
  2153        None => err()
  2153        None => err("Could not prove",thm')
  2154      | Some(thm2) => (case check_conv(thm2,prop',ders) of
  2154      | Some(thm2) => (case check_conv(thm2,prop',ders) of
  2155                         None => err() | Some trec => trec)
  2155                         None => err("Should not have proved",thm2) | Some trec => trec)
  2156   end;
  2156   end;
  2157 
  2157 
  2158 fun bottomc ((simprem,useprem,mutsimp),prover,sign_ref,maxidx) =
  2158 fun bottomc ((simprem,useprem,mutsimp),prover,sign_ref,maxidx) =
  2159   let
  2159   let
  2160     fun botc fail skel mss trec =
  2160     fun botc fail skel mss trec =