equal
deleted
inserted
replaced
48 |
48 |
49 notepad begin |
49 notepad begin |
50 fix a b c u :: "'a::ab_group_add" |
50 fix a b c u :: "'a::ab_group_add" |
51 { |
51 { |
52 assume "(a + 0) - (b + 0) = u" have "(a + c) - (b + c) = u" |
52 assume "(a + 0) - (b + 0) = u" have "(a + c) - (b + c) = u" |
53 by (tactic {* test [@{simproc abel_cancel_sum}] *}) fact |
53 by (tactic {* test [@{simproc group_cancel_diff}] *}) fact |
54 next |
54 next |
55 assume "a + 0 = b + 0" have "a + c = b + c" |
55 assume "a + 0 = b + 0" have "a + c = b + c" |
56 by (tactic {* test [@{simproc abel_cancel_relation}] *}) fact |
56 by (tactic {* test [@{simproc group_cancel_eq}] *}) fact |
57 } |
57 } |
58 end |
58 end |
59 (* TODO: more tests for Groups.abel_cancel_{sum,relation} *) |
59 (* TODO: more tests for Groups.group_cancel_{add,diff,eq,less,le} *) |
60 |
60 |
61 subsection {* @{text int_combine_numerals} *} |
61 subsection {* @{text int_combine_numerals} *} |
62 |
62 |
63 (* FIXME: int_combine_numerals often unnecessarily regroups addition |
63 (* FIXME: int_combine_numerals often unnecessarily regroups addition |
64 and rewrites subtraction to negation. Ideally it should behave more |
64 and rewrites subtraction to negation. Ideally it should behave more |