src/Provers/Arith/assoc_fold.ML
changeset 8999 ad8260dc6e4a
parent 8857 7ec405405dd7
child 9419 e46de4af70e4
equal deleted inserted replaced
8998:56c44eee46ad 8999:ad8260dc6e4a
    25 
    25 
    26  val assoc_ss = Data.ss addsimps Data.add_ac;
    26  val assoc_ss = Data.ss addsimps Data.add_ac;
    27 
    27 
    28  (*prove while suppressing timing information*)
    28  (*prove while suppressing timing information*)
    29  fun prove name ct tacf = 
    29  fun prove name ct tacf = 
    30      setmp Goals.proof_timing false (prove_goalw_cterm [] ct) tacf
    30      setmp Library.timing false (prove_goalw_cterm [] ct) tacf
    31      handle ERROR =>
    31      handle ERROR =>
    32 	 error(name ^ " simproc:\nfailed to prove " ^ string_of_cterm ct);
    32 	 error(name ^ " simproc:\nfailed to prove " ^ string_of_cterm ct);
    33                 
    33                 
    34  exception Assoc_fail;
    34  exception Assoc_fail;
    35 
    35 
    75 
    75 
    76 end;
    76 end;
    77 
    77 
    78 
    78 
    79 (*test data:
    79 (*test data:
    80 set proof_timing;
    80 set timing;
    81 
    81 
    82 Goal "(#3 * (a * #34)) * (#2 * b * #9) = (x::int)";
    82 Goal "(#3 * (a * #34)) * (#2 * b * #9) = (x::int)";
    83 
    83 
    84 Goal "a + b + c + d + e + f + g + h + i + j + k + l + m + n + oo + p + q + r + s + t + u + v + (w + x + y + z + a + #2 + b + #2 + c + #2 + d + #2 + e) + #2 + f + (#2 + g + #2 + h + #2 + i) + #2 + (j + #2 + k + #2 + l + #2 + m + #2) + n + #2 + (oo + #2 + p + #2 + q + #2 + r) + #2 + s + #2 + t + #2 + u + #2 + v + #2 + w + #2 + x + #2 + y + #2 + z + #2 = (uu::nat)";
    84 Goal "a + b + c + d + e + f + g + h + i + j + k + l + m + n + oo + p + q + r + s + t + u + v + (w + x + y + z + a + #2 + b + #2 + c + #2 + d + #2 + e) + #2 + f + (#2 + g + #2 + h + #2 + i) + #2 + (j + #2 + k + #2 + l + #2 + m + #2) + n + #2 + (oo + #2 + p + #2 + q + #2 + r) + #2 + s + #2 + t + #2 + u + #2 + v + #2 + w + #2 + x + #2 + y + #2 + z + #2 = (uu::nat)";
    85 *)
    85 *)