equal
deleted
inserted
replaced
309 | Const("op &",_)$_$_ => h (h (acc,dacc) (Thm.dest_arg1 t)) (Thm.dest_arg t) |
309 | Const("op &",_)$_$_ => h (h (acc,dacc) (Thm.dest_arg1 t)) (Thm.dest_arg t) |
310 | Const("op |",_)$_$_ => h (h (acc,dacc) (Thm.dest_arg1 t)) (Thm.dest_arg t) |
310 | Const("op |",_)$_$_ => h (h (acc,dacc) (Thm.dest_arg1 t)) (Thm.dest_arg t) |
311 | Const("Not",_)$_ => h (acc,dacc) (Thm.dest_arg t) |
311 | Const("Not",_)$_ => h (acc,dacc) (Thm.dest_arg t) |
312 | _ => (acc, dacc) |
312 | _ => (acc, dacc) |
313 val (cs,ds) = h ([],[]) p |
313 val (cs,ds) = h ([],[]) p |
314 val l = fold (curry lcm) (cs union ds) 1 |
314 val l = fold Integer.lcm (cs union ds) 1 |
315 fun cv k ct = |
315 fun cv k ct = |
316 let val (tm as b$s$t) = term_of ct |
316 let val (tm as b$s$t) = term_of ct |
317 in ((HOLogic.eq_const bT)$tm$(b$(linear_cmul k s)$(linear_cmul k t)) |
317 in ((HOLogic.eq_const bT)$tm$(b$(linear_cmul k s)$(linear_cmul k t)) |
318 |> HOLogic.mk_Trueprop |> provelin ctxt) RS eq_reflection end |
318 |> HOLogic.mk_Trueprop |> provelin ctxt) RS eq_reflection end |
319 fun nzprop x = |
319 fun nzprop x = |
402 | Ge t => (ins (minus1 t) bacc, aacc,dacc) |
402 | Ge t => (ins (minus1 t) bacc, aacc,dacc) |
403 | Dvd (d,s) => (bacc,aacc,insert int_eq (term_of d |> dest_numeral) dacc) |
403 | Dvd (d,s) => (bacc,aacc,insert int_eq (term_of d |> dest_numeral) dacc) |
404 | NDvd (d,s) => (bacc,aacc,insert int_eq (term_of d|> dest_numeral) dacc) |
404 | NDvd (d,s) => (bacc,aacc,insert int_eq (term_of d|> dest_numeral) dacc) |
405 | _ => (bacc, aacc, dacc) |
405 | _ => (bacc, aacc, dacc) |
406 val (b0,a0,ds) = h p ([],[],[]) |
406 val (b0,a0,ds) = h p ([],[],[]) |
407 val d = fold (curry lcm) ds 1 |
407 val d = fold Integer.lcm ds 1 |
408 val cd = mk_cnumber @{ctyp "int"} d |
408 val cd = mk_cnumber @{ctyp "int"} d |
409 val dt = term_of cd |
409 val dt = term_of cd |
410 fun divprop x = |
410 fun divprop x = |
411 let |
411 let |
412 val th = |
412 val th = |