Ticket #62 (new task)

Opened 3 years ago

Last modified 20 months ago

improve Isabelle default simplifier

Reported by: till Owned by: till
Priority: critical Milestone: 0.95
Component: provers Version: 0.66
Keywords: Cc:

Description (last modified by till) (diff)

Improve function isSimpRule in Isabelle.IsaProve. All non-looping conditional rewrite rules should be put in the simplifier set, while the looping ones should be excluded. For the attached example, the definition of ++ should be in the simplifier, such that associativity can be proved using

apply ((rule allI)+)
apply (induct_tac "x")
apply (auto)

Set up simpsets for minimizing or maximizing sorts, using the overloading axioms. Cf. the corresponding tactics overload_down and overload_up in HOL-CASL.

Definitions (see the isDef attribute) should not go into the simplifier.

Attachments

simplifier.sml (5.0 kB) - added by till 3 years ago.
Setup of simplifier in HOL-CASL
view-test9.casl (0.7 kB) - added by till 3 years ago.

Change History

Changed 3 years ago by till

  • description modified (diff)

Changed 3 years ago by till

Setup of simplifier in HOL-CASL

Changed 3 years ago by till

  • description modified (diff)

Changed 3 years ago by till

Changed 3 years ago by till

  • milestone changed from 0.7 to 0.75

Changed 3 years ago by maeder

  • owner changed from till to maeder
  • milestone changed from 0.75 to 0.8

Changed 2 years ago by maeder

  • priority changed from major to critical

Changed 2 years ago by till

  • description modified (diff)

Changed 2 years ago by till

  • description modified (diff)

Changed 2 years ago by maeder

I don't understand what to do. We don't have overloading axioms.

Changed 2 years ago by till

The overloading axioms are called ga_function_monotonicity and ga_predicate_monotonicity in source:trunk/Comorphisms/CASL2PCFOL.inline.hs

Changed 2 years ago by maeder

I've added a test for a conditional rewrite rule and allowed to exclude or include generated axioms by name prefix. I don't know how to test for "non-looping" or which name prefixes exactly to include or to exclude. (see source:trunk/Isabelle/MarkSimp.hs)

Changed 2 years ago by maeder

The prove for RCCVerification does not go through with the new simplifier set. Before only declare half_gt_zero [simp] had to be deleted.

Changed 2 years ago by maeder

  • milestone changed from 0.8 to 0.9

This needs some theory or heuristics before implementation

Changed 21 months ago by maeder

  • owner changed from maeder to till

Changed 20 months ago by luecke

  • milestone changed from 0.9 to 0.92
Note: See TracTickets for help on using tickets.