src/HOL/Tools/nat_arith.ML
changeset 48571 d68b74435605
parent 48561 12aa0cb2b447
child 54742 7a86358a3c0b
equal deleted inserted replaced
48570:0c32d6267b93 48571:d68b74435605
    60     val (lpath, rpath) = find_common Term_Ord.term_ord (atoms lhs) (atoms rhs)
    60     val (lpath, rpath) = find_common Term_Ord.term_ord (atoms lhs) (atoms rhs)
    61     val lconv = move_to_front lpath
    61     val lconv = move_to_front lpath
    62     val rconv = move_to_front rpath
    62     val rconv = move_to_front rpath
    63     val conv1 = Conv.combination_conv (Conv.arg_conv lconv) rconv
    63     val conv1 = Conv.combination_conv (Conv.arg_conv lconv) rconv
    64     val conv = conv1 then_conv Conv.rewr_conv rule
    64     val conv = conv1 then_conv Conv.rewr_conv rule
    65   in conv ct handle Cancel => raise CTERM ("no_conversion", []) end
    65   in conv ct end
       
    66     handle Cancel => raise CTERM ("no_conversion", [])
    66 
    67 
    67 val cancel_diff_conv = cancel_conv (mk_meta_eq @{thm diff_cancel})
    68 val cancel_diff_conv = cancel_conv (mk_meta_eq @{thm diff_cancel})
    68 val cancel_eq_conv = cancel_conv (mk_meta_eq @{thm add_left_cancel})
    69 val cancel_eq_conv = cancel_conv (mk_meta_eq @{thm add_left_cancel})
    69 val cancel_le_conv = cancel_conv (mk_meta_eq @{thm add_le_cancel_left})
    70 val cancel_le_conv = cancel_conv (mk_meta_eq @{thm add_le_cancel_left})
    70 val cancel_less_conv = cancel_conv (mk_meta_eq @{thm add_less_cancel_left})
    71 val cancel_less_conv = cancel_conv (mk_meta_eq @{thm add_less_cancel_left})