News
- 2024/06/28: IsaFoR/CeTA version 3.2 has been released.
- 2024/06/14: IsaFoR/CeTA version 3.1 has been released.
- 2023/11/13: IsaFoR/CeTA version 3.0 has been released.
- 2023/09/14: IsaFoR/CeTA version 2.46 has been released.
- 2023/06/20: IsaFoR/CeTA version 2.45 has been released.
Introduction
Welcome to the IsaFoR/CeTA website.
CeTA is a tool that certifies (non)termination or (non)confluence or (non)commutation or completion or complexity proofs provided by some automated (termination/complexity/...) tool.
The development is supported by the following projects of the Austrian Science Fund (FWF):
- Certifying Termination and Complexity Proofs of Programs (Y757, finished)
- Certification Redux (P27502, finished)
- Improving Certifiers for Termination Proofs (P22767, finished)
- Formalizing Open Induction, The Tree Theorem, and Simple Termination (J3202, finished)
It mainly consists of two parts.
- An Isabelle/HOL formalization of
abstract results and concrete techniques from the rewriting literature,
in form of the IsaFoR (Isabelle
Formalization of Rewriting) library. Currently the following techniques are supported:
- Termination (rewrite systems, relative rewrite systems, conditional rewrite systems, rewriting modulo AC, integer transition systems):
- Dependency Pairs (incl. Dershowitz' refinement)
- Dependency Pair Framework
- Dependency Graph Processor (E(I)DG***-estimation, i.e., using tcap and using both forward and backward directions, and in the innermost case additionally icap)
- Reduction Pair Processors in several variants
- Polynomial interpretations over naturals, rationals, arctic and arctic-below-zero semiring, and over matrices of all these domains. Moreover, for interpretations over the rationals and naturals, negative constants are allowed.
- Max-polynomial interpretations over natural numbers.
- Lexicographic, multiset, and recursive path order with argument filters and arbitrary permutations of arguments
- Knuth-Bendix order with subterm coefficient functions, argument filters and arbitrary permutations of arguments
- Weighted Path Order
- Usable Rules (also with respect to argument filterings)
- Subterm Criterion
- Semantic Labeling
- Flat Context Closure (for every TRS and for DP problems with left-linear R-component)
- Root-Labeling
- Size-Change Termination (also the Size-Change in NP variant which allows to delete only some pairs)
- String Reversal
- Uncurrying
- Match- and roof-bounds
- Switch between full and innermost rewriting
- DP Transformations Narrowing, Rewriting, and (Forward)-Instantiation
- Bounded Increase
- Unravelings
- Cooperation Graphs
- Lexicographic ranking functions
- Invariants via Impact algorithm
- Fresh variable and location addition
- SCC decomposition of program graph
- Nontermination (rewrite systems and relative rewrite systems):
- Loops (also for innermost and outermost strategy and forbidden patterns)
- Non-looping infinite rewrite sequences
- Regular languages which are closed under rewriting and do not contain normal forms
- TRSs violating the variable condition
- String reversal
- Rule removal
- Dependency pairs
- DP Transformations Narrowing, Rewriting, and (Forward)-Instantiation
- Switch from innermost to full rewriting
- Partial nontermination proofs
- Complexity:
- Weak dependency pairs and dependency tuples
- Usable rules and usable replacement maps
- Strongly linear polynomial interpretation (in case of runtime complexity: arbitrary interpretations for defined symbols)
- Matrix interpretations of arbitrary shape
- Runtime complexity and derivational complexity
- Rule shifting for relative rewriting
- (Relative) Matchbounds
- Confluence and non-confluence (several techniques are also available for commutation and non-commutation):
- Unravelings for ultra left-linear deterministic conditional TRSs of type 3
- Addition and removal of redundant rules
- Rule labeling and relative termination (valley and conversion versions)
- Local confluence via critical pairs
- Weak orthogonality
- Development closed
- Parallel critical pairs closed
- Linear + strongly closed
- Left-linear + almost parallel closed
- Terminating critical-pair-closing systems
- Non-joinable forks using tcap, tree automata techniques, usable rules, interpretations, or discrimination pairs
- Modularity of non-confluence
- Newman's Lemma
- Persistent decomposition
- Compositional criteria based on parallel critical pairs
- Completion:
- Requires rewrite sequences how to obtain R from E, and a termination proof of R
- Ordered completion
- Equational Reasoning:
- Birkhoff's theorem
- certification via completed rewrite system, proof tree using equational logic, or derivation
- Safety:
- Invariants via Impact algorithm
- Termination (rewrite systems, relative rewrite systems, conditional rewrite systems, rewriting modulo AC, integer transition systems):
- The certifier CeTA, an automatically generated Haskell program (using the code generation feature of Isabelle) for certifying proofs.
Publications
-
A. Lochmann and C. Sternagel
Certified ACKBO
Proc. of the 8th International Conference on Certified Programs and Proofs (CPP '19), ACM, pages 144–151, 2019. -
N. Hirokawa, A. Middeldorp, S. Winkler, and C. Sternagel
Infinite Runs in Abstract Completion
Proc. of the 2nd International Conference on Formal Structures for Computation and Deduction (FSCD '17), LIPIcs 84, pages 19:1–19:16, 2017. -
C. Sternagel and T. Sternagel
Certifying Confluence of Quasi-Decreasing Strongly Deterministic Conditional Term Rewrite Systems
Proc. of the 26th International Conference on Automated Deduction (CADE-26), LNCS 10395, pages 413–431, 2017. © Springer-Verlag -
J. Nagele, B. Felgenhauer, and H. Zankl
Certifying Confluence Proofs via Relative Termination and Rule Labeling
Logical Methods in Computer Science 13(2:4), pp. 1–27, 2017.
- A. Yamada, C. Sternagel, R. Thiemann, and K. Kusakari
AC Dependency Pairs Revisited.
In Proc. of the 25th EACSL Annual Conference on Computer Science Logic (CSL'16), LIPIcs 62, pages 8:1–8:16, 2016. -
J. Nagele and A. Middeldorp
Certification of Classical Confluence Results for Left-Linear Term Rewrite Systems.
In Proc. of the 7th International Conference on Interactive Theorem Proving (ITP'16), LNCS 9807, pages 290–306, 2016. © Springer-Verlag - R. Thiemann and A. Yamada.
Algebraic Numbers in Isabelle/HOL
In Proc. of the 7th International Conference on Interactive Theorem Proving (ITP '16), Lecture Notes in Computer Science 9807, pages 391-408, 2016. © Springer-Verlag - R. Thiemann and A. Yamada.
Formalizing Jordan Normal Forms in Isabelle/HOL
In Proc. of the 5th ACM SIGPLAN Conference on Certified Programs and Proofs (CPP '16), pages 88-99, 2016. - C. Sternagel and T. Sternagel
Certifying Confluence of Almost Orthogonal CTRSs via Exact Tree Automata Completion.
In Proc. of the 1st International Conference on Formal Structures for Computation and Deduction (FSCD'16), LIPIcs 52, pages 29:1–29:16. - S. Winkler and R. Thiemann.
Formalizing Soundness and Completeness of Unravelings
In Proc. of the 10th International Symposium on Frontiers of Combining Systems (FroCoS '15), Lecture Notes in Artificial Intelligence 9322, pages 239-255, 2015. © Springer-Verlag - C. Sternagel and R. Thiemann
Deriving Comparators and Show Functions in Isabelle/HOL.
In Proc. of the 6th International Conference on Interactive Theorem Proving (ITP'15), LNCS 9236, pages 421–437, 2015. © Springer-Verlag - M. Avanzini, C. Sternagel, and R. Thiemann
Certification of Complexity Proofs using CeTA.
In Proc. of the 26th International Conference of Rewriting Techniques and Applications (RTA'15), LIPIcs 36, pages 23–39, 2015. - J. Nagele, B. Felgenhauer, and A. Middeldorp
Improving Automatic Confluence Analysis of Rewrite Systems by Redundant Rules.
In Proc. of the 26th International Conference of Rewriting Techniques and Applications (RTA'15), LIPIcs 36, pages 257–268, 2015. - J. Nagele and H. Zankl
Certified Rule Labeling.
In Proc. of the 26th International Conference of Rewriting Techniques and Applications (RTA'15), LIPIcs 36, pages 269–284, 2015. - C. Sternagel and R. Thiemann
A Framework for Developing Stand-Alone Certifiers.
Electronic Notes in Theoretical Computer Science, 312:51-67, 2015. - C. Sternagel and R. Thiemann.
The Certification Problem Format.
In Proc. of the 11th Workshop on User Interfaces for Theorem Provers (UITP'14), EPTCS 167, pages 61–72, 2014. - J. Nagele and R. Thiemann.
Certification of Confluence Proofs using CeTA.
In Proc. of the 3rd International Workshop on Confluence (IWC'14), pages 19–23, 2014. - J. Nagele, R. Thiemann, and S. Winkler
Certification of Nontermination Proofs Using Strategies and Nonlooping Derivations
In Proc. of the 6th Working Conference on Verified Software: Theories, Tools, and Experiments (VSTTE '14), LNCS 8471, pages 216–232, 2014. © Springer-Verlag - C. Sternagel and R. Thiemann.
Formalizing Monotone Algebras for Certification of Termination and Complexity Proofs.
In Proc. of the Joint 25th International Conference on Rewriting Techniques and Applications (RTA'14) and 12th International Conference on Typed Lambda Calculi and Applications (TLCA'14), LNCS 8560, pages 441–455, 2014. © Springer-Verlag - R. Thiemann.
Formalizing Bounded Increase.
In Proc. of the 4th International Conference on Interactive Theorem Proving (ITP'13), LNCS 7998, pages 245–260, 2013. © Springer-Verlag - C. Sternagel and R. Thiemann.
Formalizing Knuth-Bendix Orders and Knuth-Bendix Completion.
In Proc. of the 24th International Conference on Rewriting Techniques and Applications (RTA'13), LIPIcs 21, pages 287–302, 2013. - C. Sternagel and R. Thiemann.
Certification of Nontermination Proofs.
In Proc. of the 3rd International Conference on Interactive Theorem Proving (ITP'12), LNCS 7406, pages 266–282, 2012. © Springer-Verlag - T. Sternagel, R. Thiemann, H. Zankl and C. Sternagel.
Recording Completion for Finding and Certifying Proofs in Equational Logic.
In Proc. of the 1st International Workshop on Confluence (IWC'12), pages 31–36, 2012. - R. Thiemann, G. Allais, and J. Nagele.
On the formalization of termination techniques based on multiset orderings.
In Proc. of the 23rd International Conference on Rewriting Techniques and Applications (RTA'12), LIPIcs 15, pages 339–354, 2012.
- C. Sternagel and R. Thiemann.
A Relative Dependency Pair Framework.
In Proc. of the 12th International Workshop on Termination (WST'12), 2012.
- C. Sternagel and R. Thiemann.
Generalized and Formalized Uncurrying.
In Proc. of the 8th International Symposium Frontiers of Combining Systems (FroCoS'11), LNAI 6989, pages 243–258, 2011. © Springer-Verlag - A. Krauss, C. Sternagel, R. Thiemann, C. Fuhs, and J. Giesl.
Termination of Isabelle Functions via Termination of Rewriting.
In Proc. of the 2nd International Conference on Interactive Theorem Proving (ITP'11), LNCS 6898, pages 152–167, 2011. © Springer-Verlag - C. Sternagel and R. Thiemann.
Modular and Certified Semantic Labeling and Unlabeling.
In Proc. of the 22nd International Conference on Rewriting Techniques and Applications (RTA'11), LIPIcs 10, pages 329–344. - C. Sternagel.
Automatic Certification of Termination Proofs.
PhD Thesis, 2010. - C. Sternagel and R. Thiemann.
Signature Extensions Preserve Termination - An Alternative Proof via Dependency Pairs.
In Proc. of the 19th EACSL Annual Conferences on Computer Science Logic (CSL '10), LNCS 6247, pages 514–528, 2010. © Springer-Verlag - C. Sternagel and R. Thiemann.
Certified Subterm Criterion and Certified Usable Rules.
In Proc. of the 21st International Conference on Rewriting Techniques and Applications (RTA'10), LIPIcs 6, pages 325–340, 2010. - H. Zankl, C. Sternagel, D. Hofbauer, and A. Middeldorp.
Finding and Certifying Loops.
In Proc. of the 36th International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM'10), LNCS 5901, pages 755–766, 2010. © Springer-Verlag - R. Thiemann and C. Sternagel.
Certification of Termination Proofs using CeTA.
In Proc. of the 22nd International Conference on Theorem Proving in Higher Order Logics (TPHOLs'09), LNCS 5674, pages 452–468, 2009. © Springer-Verlag - C. Sternagel, R. Thiemann, S. Winkler, and H. Zankl.
CeTA - A Tool for Certified Termination Analysis.
In Proc. of the 10th International Workshop on Termination (WST'09), 2009.
Downloads
The current version is 3.2. To access previous versions of CeTA and see the differences please visit this site.
Binaries of our tool are available for the following platforms:
- Linux (x86 64-bit, ARM)
- Mac OS X (x86, ARM)
Alternatively, you may download the source-code for CeTA. Please have a look into the README for installation instructions.
You can directly browse or download the sources of all releases and the current development snapshot of our Isabelle-formalization IsaFoR in the Mercurial repository.
Contact
For general questions to the developers send a mail to ceta@informatik.uibk.ac.at. You can also subscribe and send messages to the CeTA users mailing list where your messages will be posted to all CeTA users, and where the developers will inform you about updates, ... .
LaTeX Macros for Typesetting IsaFoR/CeTA
In order to refer to our library and our certifier in your LaTeX documents correctly, please use the following macros:\newcommand\isafor{\textsf{Isa\kern-0.15exF\kern-0.15exo\kern-0.15exR}} \newcommand\ceta{\textsf{C\kern-0.15exe\kern-0.45exT\kern-0.45exA}}The results should look approximately as follows:
Old News
- Using a special version of AProVE which only uses supported techniques, CeTA can certify 1395 proofs for the 2132 TRSs in the TPDB version 7.0 (1242 termination proofs and 153 nontermination proofs). The total certification time for all these proofs is about one minute, where the average time is 0.05 seconds.
- Using TTT2, CeTA can certify 1444 proofs for the 2132 TRSs in the TPDB version 7.0 (1223 termination proofs and 221 nontermination proofs).
- When combining AProVE and TTT2, CeTA can certify proofs for 1522 TRSs (1289 termination proofs and 233 nontermination proofs), i.e., for over 70% of the TRSs in the TPDB.
-
Using CeTA, we obtained the first automatically certified proof of Touzet's SRS (
TRS/Zantema_04/z090.xml
in the TPDB-7.0.2). This is the first (and currently only) automatic proof of this SRS. It incorporates the following processors: monotonic reduction pairs, reduction pairs with usable rules, closure under flat contexts, and root-labeling.
- 2012/04/19: IsaFoR/CeTA version 2.4 has been released. This version can certify all 5413 certification problems that have been generated during the full run of termination tools on the TPDB (version 8.0) in 2011. Moreover, it can certify complexity proofs and proofs including Knuth-Bendix orders and non-looping nonterminating derivations.
- 2011/02/19: IsaFoR provides a link between the proof assistant Isabelle and external termination provers. The approach is described in the paper Termination of Isabelle Functions via Termination of Rewriting and examples of its usage may be found here.