Publication | Open Access
Proving termination with multiset orderings
532
Citations
3
References
1979
Year
Program CheckingEngineeringMultiset OrderingsCombinatorial DesignComputational ComplexitySoftware AnalysisFormal VerificationSymbolic ExecutionProof ComplexityProgram VariablesOrder TheoryAbstract InterpretationComputer ScienceAutomated ReasoningProgram AnalysisInfinite Descending SequencesFormal MethodsPartially Ordered SetTermination FunctionComputability Theory
Termination proofs often rely on well‑founded sets, but finding suitable termination functions is difficult, and multisets over such sets provide a way to construct simpler functions. The authors map program variables to a well‑founded set and use the induced ordering on finite multisets over that set to define a decreasing termination function. The multiset ordering is proven well‑founded and successfully applied to prove termination of production systems defined by rewriting rules. The multiset ordering enables the use of relatively simple and intuitive termination functions in otherwise difficult termination proofs.
A common tool for proving the termination of programs is the well-founded set , a set ordered in such a way as to admit no infinite descending sequences. The basic approach is to find a termination function that maps the values of the program variables into some well-founded set, such that the value of the termination function is repeatedly reduced throughout the computation. All too often, the termination functions required are difficult to find and are of a complexity out of proportion to the program under consideration. Multisets ( bags ) over a given well-founded set S are sets that admit multiple occurrences of elements taken from S . The given ordering on S induces an ordering on the finite multisets over S . This multiset ordering is shown to be well-founded. The multiset ordering enables the use of relatively simple and intuitive termination functions in otherwise difficult termination proofs. In particular, the multiset ordering is used to prove the termination of production systems , programs defined in terms of sets of rewriting rules.
| Year | Citations | |
|---|---|---|
Page 1
Page 1